@paretools/github 0.8.5 → 0.10.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.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/formatters.d.ts +10 -2
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +144 -16
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/gh-runner.d.ts.map +1 -1
- package/dist/lib/gh-runner.js +2 -1
- package/dist/lib/gh-runner.js.map +1 -1
- package/dist/lib/parsers.d.ts +54 -18
- package/dist/lib/parsers.d.ts.map +1 -1
- package/dist/lib/parsers.js +426 -38
- package/dist/lib/parsers.js.map +1 -1
- package/dist/lib/path-validation.d.ts +13 -0
- package/dist/lib/path-validation.d.ts.map +1 -0
- package/dist/lib/path-validation.js +54 -0
- package/dist/lib/path-validation.js.map +1 -0
- package/dist/schemas/index.d.ts +267 -4
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +195 -4
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/api.d.ts.map +1 -1
- package/dist/tools/api.js +134 -8
- package/dist/tools/api.js.map +1 -1
- package/dist/tools/gist-create.d.ts.map +1 -1
- package/dist/tools/gist-create.js +91 -21
- package/dist/tools/gist-create.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/issue-close.d.ts.map +1 -1
- package/dist/tools/issue-close.js +56 -9
- package/dist/tools/issue-close.js.map +1 -1
- package/dist/tools/issue-comment.d.ts.map +1 -1
- package/dist/tools/issue-comment.js +60 -9
- package/dist/tools/issue-comment.js.map +1 -1
- package/dist/tools/issue-create.d.ts.map +1 -1
- package/dist/tools/issue-create.js +95 -9
- package/dist/tools/issue-create.js.map +1 -1
- package/dist/tools/issue-list.d.ts.map +1 -1
- package/dist/tools/issue-list.js +139 -11
- package/dist/tools/issue-list.js.map +1 -1
- package/dist/tools/issue-update.d.ts.map +1 -1
- package/dist/tools/issue-update.js +142 -15
- package/dist/tools/issue-update.js.map +1 -1
- package/dist/tools/issue-view.d.ts.map +1 -1
- package/dist/tools/issue-view.js +26 -14
- package/dist/tools/issue-view.js.map +1 -1
- package/dist/tools/label-create.d.ts +4 -0
- package/dist/tools/label-create.d.ts.map +1 -0
- package/dist/tools/label-create.js +73 -0
- package/dist/tools/label-create.js.map +1 -0
- package/dist/tools/label-list.d.ts +4 -0
- package/dist/tools/label-list.d.ts.map +1 -0
- package/dist/tools/label-list.js +71 -0
- package/dist/tools/label-list.js.map +1 -0
- package/dist/tools/pr-checks.d.ts.map +1 -1
- package/dist/tools/pr-checks.js +57 -11
- package/dist/tools/pr-checks.js.map +1 -1
- package/dist/tools/pr-comment.d.ts.map +1 -1
- package/dist/tools/pr-comment.js +60 -9
- package/dist/tools/pr-comment.js.map +1 -1
- package/dist/tools/pr-create.d.ts.map +1 -1
- package/dist/tools/pr-create.js +154 -9
- package/dist/tools/pr-create.js.map +1 -1
- package/dist/tools/pr-diff.d.ts.map +1 -1
- package/dist/tools/pr-diff.js +63 -16
- package/dist/tools/pr-diff.js.map +1 -1
- package/dist/tools/pr-list.d.ts.map +1 -1
- package/dist/tools/pr-list.js +115 -11
- package/dist/tools/pr-list.js.map +1 -1
- package/dist/tools/pr-merge.d.ts.map +1 -1
- package/dist/tools/pr-merge.js +104 -15
- package/dist/tools/pr-merge.js.map +1 -1
- package/dist/tools/pr-review.d.ts.map +1 -1
- package/dist/tools/pr-review.js +41 -8
- package/dist/tools/pr-review.js.map +1 -1
- package/dist/tools/pr-update.d.ts.map +1 -1
- package/dist/tools/pr-update.js +157 -10
- package/dist/tools/pr-update.js.map +1 -1
- package/dist/tools/pr-view.d.ts.map +1 -1
- package/dist/tools/pr-view.js +27 -14
- package/dist/tools/pr-view.js.map +1 -1
- package/dist/tools/release-create.d.ts.map +1 -1
- package/dist/tools/release-create.js +106 -9
- package/dist/tools/release-create.js.map +1 -1
- package/dist/tools/release-list.d.ts.map +1 -1
- package/dist/tools/release-list.js +39 -13
- package/dist/tools/release-list.js.map +1 -1
- package/dist/tools/run-list.d.ts.map +1 -1
- package/dist/tools/run-list.js +111 -12
- package/dist/tools/run-list.js.map +1 -1
- package/dist/tools/run-rerun.d.ts.map +1 -1
- package/dist/tools/run-rerun.js +38 -8
- package/dist/tools/run-rerun.js.map +1 -1
- package/dist/tools/run-view.d.ts.map +1 -1
- package/dist/tools/run-view.js +64 -13
- package/dist/tools/run-view.js.map +1 -1
- package/package.json +2 -2
package/dist/schemas/index.js
CHANGED
|
@@ -6,6 +6,13 @@ export const PrCheckSchema = z.object({
|
|
|
6
6
|
status: z.string(),
|
|
7
7
|
conclusion: z.string().nullable(),
|
|
8
8
|
});
|
|
9
|
+
/** Zod schema for a single review on a PR (P1-gap #147). */
|
|
10
|
+
export const PrReviewItemSchema = z.object({
|
|
11
|
+
author: z.string(),
|
|
12
|
+
state: z.string(),
|
|
13
|
+
body: z.string().optional(),
|
|
14
|
+
submittedAt: z.string().optional(),
|
|
15
|
+
});
|
|
9
16
|
/** Zod schema for structured pr-view output. */
|
|
10
17
|
export const PrViewResultSchema = z.object({
|
|
11
18
|
number: z.number(),
|
|
@@ -22,6 +29,20 @@ export const PrViewResultSchema = z.object({
|
|
|
22
29
|
deletions: z.number(),
|
|
23
30
|
changedFiles: z.number(),
|
|
24
31
|
checksTotal: z.number().optional(),
|
|
32
|
+
// S-gap: Add author, labels, isDraft, assignees, createdAt, updatedAt, milestone, projectItems
|
|
33
|
+
author: z.string().optional(),
|
|
34
|
+
labels: z.array(z.string()).optional(),
|
|
35
|
+
isDraft: z.boolean().optional(),
|
|
36
|
+
assignees: z.array(z.string()).optional(),
|
|
37
|
+
createdAt: z.string().optional(),
|
|
38
|
+
updatedAt: z.string().optional(),
|
|
39
|
+
milestone: z.string().nullable().optional(),
|
|
40
|
+
projectItems: z.array(z.string()).optional(),
|
|
41
|
+
// P1-gap #147: Add multi-reviewer visibility
|
|
42
|
+
reviews: z.array(PrReviewItemSchema).optional(),
|
|
43
|
+
/** Summary of commits in the PR (count + latest SHA). */
|
|
44
|
+
commitCount: z.number().optional(),
|
|
45
|
+
latestCommitSha: z.string().optional(),
|
|
25
46
|
});
|
|
26
47
|
/** Zod schema for a single PR in list output. */
|
|
27
48
|
export const PrListItemSchema = z.object({
|
|
@@ -31,16 +52,31 @@ export const PrListItemSchema = z.object({
|
|
|
31
52
|
url: z.string().optional(),
|
|
32
53
|
headBranch: z.string().optional(),
|
|
33
54
|
author: z.string().optional(),
|
|
55
|
+
// S-gap: Add labels, isDraft, baseBranch, reviewDecision, mergeable
|
|
56
|
+
labels: z.array(z.string()).optional(),
|
|
57
|
+
isDraft: z.boolean().optional(),
|
|
58
|
+
baseBranch: z.string().optional(),
|
|
59
|
+
reviewDecision: z.string().optional(),
|
|
60
|
+
mergeable: z.string().optional(),
|
|
34
61
|
});
|
|
35
62
|
/** Zod schema for structured pr-list output. */
|
|
36
63
|
export const PrListResultSchema = z.object({
|
|
37
64
|
prs: z.array(PrListItemSchema),
|
|
38
65
|
total: z.number(),
|
|
66
|
+
totalAvailable: z.number().optional(),
|
|
39
67
|
});
|
|
40
68
|
/** Zod schema for structured pr-create output. */
|
|
41
69
|
export const PrCreateResultSchema = z.object({
|
|
42
70
|
number: z.number(),
|
|
43
71
|
url: z.string(),
|
|
72
|
+
title: z.string().optional(),
|
|
73
|
+
baseBranch: z.string().optional(),
|
|
74
|
+
headBranch: z.string().optional(),
|
|
75
|
+
draft: z.boolean().optional(),
|
|
76
|
+
errorType: z
|
|
77
|
+
.enum(["base-branch-missing", "no-commits", "permission-denied", "validation", "unknown"])
|
|
78
|
+
.optional(),
|
|
79
|
+
errorMessage: z.string().optional(),
|
|
44
80
|
});
|
|
45
81
|
/** Zod schema for structured pr-merge output. */
|
|
46
82
|
export const PrMergeResultSchema = z.object({
|
|
@@ -48,12 +84,30 @@ export const PrMergeResultSchema = z.object({
|
|
|
48
84
|
merged: z.boolean(),
|
|
49
85
|
method: z.string(),
|
|
50
86
|
url: z.string(),
|
|
87
|
+
// S-gap: Add branchDeleted field
|
|
88
|
+
branchDeleted: z.boolean().optional(),
|
|
89
|
+
/** Merge commit SHA when available from the output. */
|
|
90
|
+
mergeCommitSha: z.string().optional(),
|
|
91
|
+
/** Distinguishes immediate merge vs auto-merge enabled. */
|
|
92
|
+
state: z.enum(["merged", "auto-merge-enabled", "auto-merge-disabled"]).optional(),
|
|
93
|
+
errorType: z
|
|
94
|
+
.enum(["blocked-checks", "merge-conflict", "permission-denied", "already-merged", "unknown"])
|
|
95
|
+
.optional(),
|
|
96
|
+
errorMessage: z.string().optional(),
|
|
51
97
|
});
|
|
52
98
|
/** Zod schema for structured pr-review output. */
|
|
53
99
|
export const PrReviewResultSchema = z.object({
|
|
54
100
|
number: z.number(),
|
|
55
101
|
event: z.string(),
|
|
56
102
|
url: z.string(),
|
|
103
|
+
// S-gap: Add reviewId, reviewDecision, body echo
|
|
104
|
+
reviewId: z.string().optional(),
|
|
105
|
+
reviewDecision: z.string().optional(),
|
|
106
|
+
body: z.string().optional(),
|
|
107
|
+
// P1-gap #146: Structured error classification for review failures
|
|
108
|
+
errorType: z
|
|
109
|
+
.enum(["not-found", "permission-denied", "already-reviewed", "draft-pr", "unknown"])
|
|
110
|
+
.optional(),
|
|
57
111
|
});
|
|
58
112
|
/** Zod schema for a single file entry in a PR diff. */
|
|
59
113
|
export const PrDiffFileSchema = z.object({
|
|
@@ -68,13 +122,20 @@ export const PrDiffFileSchema = z.object({
|
|
|
68
122
|
lines: z.string(),
|
|
69
123
|
}))
|
|
70
124
|
.optional(),
|
|
125
|
+
// S-gap: Add mode/permissions field
|
|
126
|
+
mode: z.string().optional(),
|
|
127
|
+
/** True when the file is binary (e.g. images, compiled assets). */
|
|
128
|
+
binary: z.boolean().optional(),
|
|
71
129
|
});
|
|
72
130
|
/** Zod schema for structured pr-diff output. */
|
|
73
131
|
export const PrDiffResultSchema = z.object({
|
|
74
132
|
files: z.array(PrDiffFileSchema),
|
|
75
|
-
|
|
76
|
-
|
|
133
|
+
// S-gap: Make totalAdditions/totalDeletions required (no longer optional)
|
|
134
|
+
totalAdditions: z.number(),
|
|
135
|
+
totalDeletions: z.number(),
|
|
77
136
|
totalFiles: z.number(),
|
|
137
|
+
// S-gap: Add truncation detection
|
|
138
|
+
truncated: z.boolean().optional(),
|
|
78
139
|
});
|
|
79
140
|
// ── Issue schemas ────────────────────────────────────────────────────
|
|
80
141
|
/** Zod schema for structured issue-view output. */
|
|
@@ -87,6 +148,14 @@ export const IssueViewResultSchema = z.object({
|
|
|
87
148
|
assignees: z.array(z.string()),
|
|
88
149
|
url: z.string(),
|
|
89
150
|
createdAt: z.string(),
|
|
151
|
+
// S-gap: Add stateReason, author, milestone, updatedAt, closedAt, isPinned, projectItems
|
|
152
|
+
stateReason: z.string().nullable().optional(),
|
|
153
|
+
author: z.string().optional(),
|
|
154
|
+
milestone: z.string().nullable().optional(),
|
|
155
|
+
updatedAt: z.string().optional(),
|
|
156
|
+
closedAt: z.string().nullable().optional(),
|
|
157
|
+
isPinned: z.boolean().optional(),
|
|
158
|
+
projectItems: z.array(z.string()).optional(),
|
|
90
159
|
});
|
|
91
160
|
/** Zod schema for a single issue in list output. */
|
|
92
161
|
export const IssueListItemSchema = z.object({
|
|
@@ -96,32 +165,63 @@ export const IssueListItemSchema = z.object({
|
|
|
96
165
|
url: z.string().optional(),
|
|
97
166
|
labels: z.array(z.string()).optional(),
|
|
98
167
|
assignees: z.array(z.string()).optional(),
|
|
168
|
+
// S-gap: Add author, createdAt, milestone
|
|
169
|
+
author: z.string().optional(),
|
|
170
|
+
createdAt: z.string().optional(),
|
|
171
|
+
milestone: z.string().nullable().optional(),
|
|
99
172
|
});
|
|
100
173
|
/** Zod schema for structured issue-list output. */
|
|
101
174
|
export const IssueListResultSchema = z.object({
|
|
102
175
|
issues: z.array(IssueListItemSchema),
|
|
103
176
|
total: z.number(),
|
|
177
|
+
hasMore: z.boolean().optional(),
|
|
178
|
+
totalAvailable: z.number().optional(),
|
|
104
179
|
});
|
|
105
180
|
/** Zod schema for structured issue-create output. */
|
|
106
181
|
export const IssueCreateResultSchema = z.object({
|
|
107
182
|
number: z.number(),
|
|
108
183
|
url: z.string(),
|
|
184
|
+
// S-gap: Add labelsApplied confirmation
|
|
185
|
+
labelsApplied: z.array(z.string()).optional(),
|
|
186
|
+
partial: z.boolean().optional(),
|
|
187
|
+
errorType: z.enum(["validation", "permission-denied", "partial-created", "unknown"]).optional(),
|
|
188
|
+
errorMessage: z.string().optional(),
|
|
109
189
|
});
|
|
110
190
|
/** Zod schema for structured issue-close output. */
|
|
111
191
|
export const IssueCloseResultSchema = z.object({
|
|
112
192
|
number: z.number(),
|
|
113
193
|
state: z.string(),
|
|
114
194
|
url: z.string(),
|
|
195
|
+
// S-gap: Add reason echo, commentUrl
|
|
196
|
+
reason: z.string().optional(),
|
|
197
|
+
commentUrl: z.string().optional(),
|
|
198
|
+
// P1-gap #144: Detect already-closed issues
|
|
199
|
+
alreadyClosed: z.boolean().optional(),
|
|
200
|
+
errorType: z.enum(["not-found", "permission-denied", "already-closed", "unknown"]).optional(),
|
|
201
|
+
errorMessage: z.string().optional(),
|
|
115
202
|
});
|
|
116
203
|
// ── Comment schemas (shared by pr-comment and issue-comment) ─────────
|
|
117
204
|
/** Zod schema for structured comment result output. */
|
|
118
205
|
export const CommentResultSchema = z.object({
|
|
119
|
-
|
|
206
|
+
// S-gap: Make url optional (may not always be available)
|
|
207
|
+
url: z.string().optional(),
|
|
208
|
+
// S-gap: Add operation type, commentId, issueNumber/prNumber, body echo
|
|
209
|
+
operation: z.enum(["create", "edit", "delete"]).optional(),
|
|
210
|
+
commentId: z.string().optional(),
|
|
211
|
+
issueNumber: z.number().optional(),
|
|
212
|
+
prNumber: z.number().optional(),
|
|
213
|
+
body: z.string().optional(),
|
|
214
|
+
errorType: z.enum(["not-found", "permission-denied", "validation", "unknown"]).optional(),
|
|
215
|
+
errorMessage: z.string().optional(),
|
|
120
216
|
});
|
|
121
217
|
/** Zod schema for structured pr-update / issue-update output. */
|
|
122
218
|
export const EditResultSchema = z.object({
|
|
123
219
|
number: z.number(),
|
|
124
220
|
url: z.string(),
|
|
221
|
+
updatedFields: z.array(z.string()).optional(),
|
|
222
|
+
operations: z.array(z.string()).optional(),
|
|
223
|
+
errorType: z.enum(["not-found", "permission-denied", "validation", "unknown"]).optional(),
|
|
224
|
+
errorMessage: z.string().optional(),
|
|
125
225
|
});
|
|
126
226
|
// ── PR Checks schemas ───────────────────────────────────────────────
|
|
127
227
|
/** Zod schema for a single check entry from `gh pr checks`. */
|
|
@@ -154,13 +254,23 @@ export const PrChecksResultSchema = z.object({
|
|
|
154
254
|
passed: z.number().optional(),
|
|
155
255
|
failed: z.number().optional(),
|
|
156
256
|
pending: z.number().optional(),
|
|
257
|
+
errorType: z.enum(["not-found", "permission-denied", "in-progress", "unknown"]).optional(),
|
|
258
|
+
errorMessage: z.string().optional(),
|
|
157
259
|
});
|
|
158
260
|
// ── Run schemas ──────────────────────────────────────────────────────
|
|
261
|
+
/** Zod schema for a single step in a job. */
|
|
262
|
+
export const RunStepSchema = z.object({
|
|
263
|
+
name: z.string(),
|
|
264
|
+
status: z.string(),
|
|
265
|
+
conclusion: z.string().nullable(),
|
|
266
|
+
});
|
|
159
267
|
/** Zod schema for a single job in a workflow run. */
|
|
160
268
|
export const RunJobSchema = z.object({
|
|
161
269
|
name: z.string(),
|
|
162
270
|
status: z.string(),
|
|
163
271
|
conclusion: z.string().nullable(),
|
|
272
|
+
// S-gap: Add steps array
|
|
273
|
+
steps: z.array(RunStepSchema).optional(),
|
|
164
274
|
});
|
|
165
275
|
/** Zod schema for structured run-view output. */
|
|
166
276
|
export const RunViewResultSchema = z.object({
|
|
@@ -174,6 +284,20 @@ export const RunViewResultSchema = z.object({
|
|
|
174
284
|
url: z.string(),
|
|
175
285
|
createdAt: z.string().optional(),
|
|
176
286
|
jobsTotal: z.number().optional(),
|
|
287
|
+
/** The HEAD commit SHA for this run. */
|
|
288
|
+
headSha: z.string().optional(),
|
|
289
|
+
/** The event that triggered the run (e.g. push, pull_request). */
|
|
290
|
+
event: z.string().optional(),
|
|
291
|
+
/** When the run actually started executing. */
|
|
292
|
+
startedAt: z.string().optional(),
|
|
293
|
+
/** Last update timestamp for the run. */
|
|
294
|
+
updatedAt: z.string().optional(),
|
|
295
|
+
/** The attempt number for re-runs (1 = first attempt). */
|
|
296
|
+
attempt: z.number().optional(),
|
|
297
|
+
/** Derived duration in seconds when timestamps are available. */
|
|
298
|
+
durationSeconds: z.number().optional(),
|
|
299
|
+
/** Raw log output when --log or --log-failed is used. */
|
|
300
|
+
logs: z.string().optional(),
|
|
177
301
|
});
|
|
178
302
|
/** Zod schema for a single run in list output. */
|
|
179
303
|
export const RunListItemSchema = z.object({
|
|
@@ -185,18 +309,31 @@ export const RunListItemSchema = z.object({
|
|
|
185
309
|
headBranch: z.string().optional(),
|
|
186
310
|
url: z.string().optional(),
|
|
187
311
|
createdAt: z.string().optional(),
|
|
312
|
+
// P1-gap #148: Expand run-list with additional fields
|
|
313
|
+
headSha: z.string().optional(),
|
|
314
|
+
event: z.string().optional(),
|
|
315
|
+
startedAt: z.string().optional(),
|
|
316
|
+
attempt: z.number().optional(),
|
|
188
317
|
});
|
|
189
318
|
/** Zod schema for structured run-list output. */
|
|
190
319
|
export const RunListResultSchema = z.object({
|
|
191
320
|
runs: z.array(RunListItemSchema),
|
|
192
321
|
total: z.number(),
|
|
322
|
+
totalAvailable: z.number().optional(),
|
|
193
323
|
});
|
|
194
324
|
/** Zod schema for structured run-rerun output. */
|
|
195
325
|
export const RunRerunResultSchema = z.object({
|
|
196
326
|
runId: z.number(),
|
|
197
|
-
status: z.
|
|
327
|
+
status: z.enum(["requested-full", "requested-failed", "requested-job", "error"]),
|
|
198
328
|
failedOnly: z.boolean(),
|
|
199
329
|
url: z.string(),
|
|
330
|
+
// S-gap: Add job field when rerunning a specific job
|
|
331
|
+
job: z.string().optional(),
|
|
332
|
+
// P1-gap #149: Track rerun attempt number and new run URL
|
|
333
|
+
attempt: z.number().optional(),
|
|
334
|
+
newRunUrl: z.string().optional(),
|
|
335
|
+
errorType: z.enum(["not-found", "permission-denied", "in-progress", "unknown"]).optional(),
|
|
336
|
+
errorMessage: z.string().optional(),
|
|
200
337
|
});
|
|
201
338
|
// ── Release schemas ─────────────────────────────────────────────────
|
|
202
339
|
/** Zod schema for structured release-create output. */
|
|
@@ -205,6 +342,13 @@ export const ReleaseCreateResultSchema = z.object({
|
|
|
205
342
|
url: z.string(),
|
|
206
343
|
draft: z.boolean(),
|
|
207
344
|
prerelease: z.boolean(),
|
|
345
|
+
// S-gap: Expanded output schema fields
|
|
346
|
+
id: z.string().optional(),
|
|
347
|
+
title: z.string().optional(),
|
|
348
|
+
isLatest: z.boolean().optional(),
|
|
349
|
+
assetsUploaded: z.number().optional(),
|
|
350
|
+
errorType: z.enum(["tag-conflict", "permission-denied", "no-new-commits", "unknown"]).optional(),
|
|
351
|
+
errorMessage: z.string().optional(),
|
|
208
352
|
});
|
|
209
353
|
// ── Gist schemas ────────────────────────────────────────────────────
|
|
210
354
|
/** Zod schema for structured gist-create output. */
|
|
@@ -212,6 +356,12 @@ export const GistCreateResultSchema = z.object({
|
|
|
212
356
|
id: z.string(),
|
|
213
357
|
url: z.string(),
|
|
214
358
|
public: z.boolean(),
|
|
359
|
+
// S-gap: Add files, description, fileCount echoes
|
|
360
|
+
files: z.array(z.string()).optional(),
|
|
361
|
+
description: z.string().optional(),
|
|
362
|
+
fileCount: z.number().optional(),
|
|
363
|
+
errorType: z.enum(["validation", "permission-denied", "rate-limit", "unknown"]).optional(),
|
|
364
|
+
errorMessage: z.string().optional(),
|
|
215
365
|
});
|
|
216
366
|
/** Zod schema for a single release in list output. */
|
|
217
367
|
export const ReleaseListItemSchema = z.object({
|
|
@@ -221,18 +371,59 @@ export const ReleaseListItemSchema = z.object({
|
|
|
221
371
|
prerelease: z.boolean(),
|
|
222
372
|
publishedAt: z.string().optional(),
|
|
223
373
|
url: z.string().optional(),
|
|
374
|
+
// S-gap: Add isLatest, createdAt
|
|
375
|
+
isLatest: z.boolean().optional(),
|
|
376
|
+
createdAt: z.string().optional(),
|
|
224
377
|
});
|
|
225
378
|
/** Zod schema for structured release-list output. */
|
|
226
379
|
export const ReleaseListResultSchema = z.object({
|
|
227
380
|
releases: z.array(ReleaseListItemSchema),
|
|
228
381
|
total: z.number(),
|
|
382
|
+
totalAvailable: z.number().optional(),
|
|
229
383
|
});
|
|
230
384
|
// ── API schemas ─────────────────────────────────────────────────────
|
|
231
385
|
/** Zod schema for structured gh api output. */
|
|
232
386
|
export const ApiResultSchema = z.object({
|
|
233
387
|
status: z.number(),
|
|
388
|
+
/** Real HTTP status code parsed from response headers. */
|
|
389
|
+
statusCode: z.number(),
|
|
234
390
|
body: z.unknown(),
|
|
235
391
|
endpoint: z.string(),
|
|
236
392
|
method: z.string(),
|
|
393
|
+
responseHeaders: z.record(z.string(), z.string()).optional(),
|
|
394
|
+
pagination: z
|
|
395
|
+
.object({
|
|
396
|
+
hasNext: z.boolean(),
|
|
397
|
+
next: z.string().optional(),
|
|
398
|
+
last: z.string().optional(),
|
|
399
|
+
})
|
|
400
|
+
.optional(),
|
|
401
|
+
graphqlErrors: z.array(z.unknown()).optional(),
|
|
402
|
+
// P1-gap #141: Preserve API error body for debugging
|
|
403
|
+
errorBody: z.unknown().optional(),
|
|
404
|
+
});
|
|
405
|
+
// ── Label schemas ───────────────────────────────────────────────────
|
|
406
|
+
/** Zod schema for a single label item. */
|
|
407
|
+
export const LabelItemSchema = z.object({
|
|
408
|
+
name: z.string(),
|
|
409
|
+
description: z.string(),
|
|
410
|
+
color: z.string(),
|
|
411
|
+
isDefault: z.boolean(),
|
|
412
|
+
});
|
|
413
|
+
/** Zod schema for structured label-list output. */
|
|
414
|
+
export const LabelListResultSchema = z.object({
|
|
415
|
+
labels: z.array(LabelItemSchema),
|
|
416
|
+
total: z.number(),
|
|
417
|
+
errorType: z.enum(["not-found", "permission-denied", "unknown"]).optional(),
|
|
418
|
+
errorMessage: z.string().optional(),
|
|
419
|
+
});
|
|
420
|
+
/** Zod schema for structured label-create output. */
|
|
421
|
+
export const LabelCreateResultSchema = z.object({
|
|
422
|
+
name: z.string(),
|
|
423
|
+
description: z.string().optional(),
|
|
424
|
+
color: z.string().optional(),
|
|
425
|
+
url: z.string().optional(),
|
|
426
|
+
errorType: z.enum(["already-exists", "validation", "permission-denied", "unknown"]).optional(),
|
|
427
|
+
errorMessage: z.string().optional(),
|
|
237
428
|
});
|
|
238
429
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/tools/api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/tools/api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAqOhD"}
|
package/dist/tools/api.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { dualOutput, INPUT_LIMITS } from "@paretools/shared";
|
|
2
|
+
import { dualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
|
|
3
3
|
import { ghCmd } from "../lib/gh-runner.js";
|
|
4
4
|
import { parseApi } from "../lib/parsers.js";
|
|
5
5
|
import { formatApi } from "../lib/formatters.js";
|
|
@@ -8,7 +8,7 @@ import { ApiResultSchema } from "../schemas/index.js";
|
|
|
8
8
|
export function registerApiTool(server) {
|
|
9
9
|
server.registerTool("api", {
|
|
10
10
|
title: "GitHub API",
|
|
11
|
-
description: "Makes arbitrary GitHub API calls via `gh api`. Supports all HTTP methods, request bodies, field parameters, pagination, and jq filtering. Returns structured data with status, parsed JSON body, endpoint, and method.
|
|
11
|
+
description: "Makes arbitrary GitHub API calls via `gh api`. Supports all HTTP methods, request bodies, field parameters, pagination, and jq filtering. Returns structured data with status, parsed JSON body, endpoint, and method.",
|
|
12
12
|
inputSchema: {
|
|
13
13
|
endpoint: z
|
|
14
14
|
.string()
|
|
@@ -27,6 +27,11 @@ export function registerApiTool(server) {
|
|
|
27
27
|
.record(z.string(), z.string())
|
|
28
28
|
.optional()
|
|
29
29
|
.describe("Key-value pairs sent as --raw-field parameters"),
|
|
30
|
+
// S-gap P1: Add typedFields for --field (typed field input)
|
|
31
|
+
typedFields: z
|
|
32
|
+
.record(z.string(), z.string())
|
|
33
|
+
.optional()
|
|
34
|
+
.describe("Key-value pairs sent as --field parameters (typed: booleans, numbers, null parsed by gh)"),
|
|
30
35
|
paginate: z
|
|
31
36
|
.boolean()
|
|
32
37
|
.optional()
|
|
@@ -37,15 +42,101 @@ export function registerApiTool(server) {
|
|
|
37
42
|
.max(INPUT_LIMITS.STRING_MAX)
|
|
38
43
|
.optional()
|
|
39
44
|
.describe("jq filter expression to apply to the response"),
|
|
40
|
-
|
|
45
|
+
slurp: z
|
|
46
|
+
.boolean()
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("Combine paginated JSON arrays into a single array (--slurp)"),
|
|
49
|
+
include: z
|
|
50
|
+
.boolean()
|
|
51
|
+
.optional()
|
|
52
|
+
.describe("Include response headers in output (-i/--include)"),
|
|
53
|
+
silent: z.boolean().optional().describe("Suppress response body output (--silent)"),
|
|
54
|
+
verbose: z.boolean().optional().describe("Show verbose debug output (--verbose)"),
|
|
55
|
+
// S-gap P0: Add headers param
|
|
56
|
+
headers: z
|
|
57
|
+
.record(z.string(), z.string())
|
|
58
|
+
.optional()
|
|
59
|
+
.describe("Custom HTTP headers as key-value pairs (each maps to -H/--header)"),
|
|
60
|
+
// S-gap P1: Add hostname for GitHub Enterprise
|
|
61
|
+
hostname: z
|
|
62
|
+
.string()
|
|
63
|
+
.max(INPUT_LIMITS.SHORT_STRING_MAX)
|
|
64
|
+
.optional()
|
|
65
|
+
.describe("GitHub Enterprise hostname (--hostname)"),
|
|
66
|
+
// S-gap P1: Add cache TTL
|
|
67
|
+
cache: z
|
|
68
|
+
.string()
|
|
69
|
+
.max(INPUT_LIMITS.SHORT_STRING_MAX)
|
|
70
|
+
.optional()
|
|
71
|
+
.describe("Cache TTL for responses, e.g. '5m', '1h' (--cache)"),
|
|
72
|
+
// S-gap P2: Add preview for API preview features
|
|
73
|
+
preview: z
|
|
74
|
+
.string()
|
|
75
|
+
.max(INPUT_LIMITS.SHORT_STRING_MAX)
|
|
76
|
+
.optional()
|
|
77
|
+
.describe("API preview feature name (--preview)"),
|
|
78
|
+
// S-gap P2: Add inputFile for reading body from file
|
|
79
|
+
inputFile: z
|
|
41
80
|
.string()
|
|
42
81
|
.max(INPUT_LIMITS.PATH_MAX)
|
|
43
82
|
.optional()
|
|
44
|
-
.describe("
|
|
83
|
+
.describe("Read request body from file (--input). Mutually exclusive with body."),
|
|
84
|
+
// P1-gap #142: GraphQL support
|
|
85
|
+
query: z
|
|
86
|
+
.string()
|
|
87
|
+
.max(INPUT_LIMITS.STRING_MAX)
|
|
88
|
+
.optional()
|
|
89
|
+
.describe("GraphQL query string. When provided, makes a GraphQL request via `gh api graphql`."),
|
|
90
|
+
variables: z
|
|
91
|
+
.record(z.string(), z.unknown())
|
|
92
|
+
.optional()
|
|
93
|
+
.describe("GraphQL variables as key-value pairs. Only used with `query` parameter."),
|
|
94
|
+
path: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Repository path"),
|
|
45
95
|
},
|
|
46
96
|
outputSchema: ApiResultSchema,
|
|
47
|
-
}, async ({ endpoint, method, body, fields, paginate, jq, path }) => {
|
|
97
|
+
}, async ({ endpoint, method, body, fields, typedFields, paginate, jq, slurp, include: _include, silent, verbose, headers, hostname, cache, preview, inputFile, query, variables, path, }) => {
|
|
48
98
|
const cwd = path || process.cwd();
|
|
99
|
+
assertNoFlagInjection(endpoint, "endpoint");
|
|
100
|
+
if (jq)
|
|
101
|
+
assertNoFlagInjection(jq, "jq");
|
|
102
|
+
if (hostname)
|
|
103
|
+
assertNoFlagInjection(hostname, "hostname");
|
|
104
|
+
if (cache)
|
|
105
|
+
assertNoFlagInjection(cache, "cache");
|
|
106
|
+
if (preview)
|
|
107
|
+
assertNoFlagInjection(preview, "preview");
|
|
108
|
+
if (inputFile)
|
|
109
|
+
assertNoFlagInjection(inputFile, "inputFile");
|
|
110
|
+
// P1-gap #142: Handle GraphQL queries
|
|
111
|
+
if (query) {
|
|
112
|
+
const gqlArgs = ["api", "graphql", "-f", `query=${query}`];
|
|
113
|
+
if (variables) {
|
|
114
|
+
for (const [key, value] of Object.entries(variables)) {
|
|
115
|
+
gqlArgs.push("-f", `${key}=${typeof value === "string" ? value : JSON.stringify(value)}`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (hostname)
|
|
119
|
+
gqlArgs.push("--hostname", hostname);
|
|
120
|
+
if (headers) {
|
|
121
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
122
|
+
gqlArgs.push("-H", `${key}:${value}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (jq)
|
|
126
|
+
gqlArgs.push("--jq", jq);
|
|
127
|
+
if (paginate)
|
|
128
|
+
gqlArgs.push("--paginate");
|
|
129
|
+
if (slurp)
|
|
130
|
+
gqlArgs.push("--slurp");
|
|
131
|
+
gqlArgs.push("--include");
|
|
132
|
+
const gqlResult = await ghCmd(gqlArgs, { cwd });
|
|
133
|
+
if (gqlResult.exitCode !== 0 && !gqlResult.stdout && gqlResult.stderr) {
|
|
134
|
+
const data = parseApi("", gqlResult.exitCode, "graphql", "POST", gqlResult.stderr);
|
|
135
|
+
return dualOutput(data, formatApi);
|
|
136
|
+
}
|
|
137
|
+
const data = parseApi(gqlResult.stdout, gqlResult.exitCode, "graphql", "POST", gqlResult.stderr);
|
|
138
|
+
return dualOutput(data, formatApi);
|
|
139
|
+
}
|
|
49
140
|
const args = ["api", endpoint, "--method", method];
|
|
50
141
|
if (paginate) {
|
|
51
142
|
args.push("--paginate");
|
|
@@ -53,23 +144,58 @@ export function registerApiTool(server) {
|
|
|
53
144
|
if (jq) {
|
|
54
145
|
args.push("--jq", jq);
|
|
55
146
|
}
|
|
147
|
+
if (slurp)
|
|
148
|
+
args.push("--slurp");
|
|
149
|
+
// Always include response headers so we can parse the real HTTP status code.
|
|
150
|
+
// The --include flag is always set; the user's `include` param is redundant but harmless.
|
|
151
|
+
args.push("--include");
|
|
152
|
+
if (silent)
|
|
153
|
+
args.push("--silent");
|
|
154
|
+
if (verbose)
|
|
155
|
+
args.push("--verbose");
|
|
156
|
+
if (hostname)
|
|
157
|
+
args.push("--hostname", hostname);
|
|
158
|
+
if (cache)
|
|
159
|
+
args.push("--cache", cache);
|
|
160
|
+
if (preview)
|
|
161
|
+
args.push("--preview", preview);
|
|
162
|
+
// S-gap P0: Add custom headers
|
|
163
|
+
if (headers) {
|
|
164
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
165
|
+
args.push("-H", `${key}:${value}`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
56
168
|
// Add --raw-field for each field entry
|
|
57
169
|
if (fields) {
|
|
58
170
|
for (const [key, value] of Object.entries(fields)) {
|
|
59
171
|
args.push("--raw-field", `${key}=${value}`);
|
|
60
172
|
}
|
|
61
173
|
}
|
|
174
|
+
// S-gap P1: Add --field for each typed field entry
|
|
175
|
+
if (typedFields) {
|
|
176
|
+
for (const [key, value] of Object.entries(typedFields)) {
|
|
177
|
+
args.push("--field", `${key}=${value}`);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
62
180
|
// Pass JSON body via stdin using --input -
|
|
63
181
|
let stdin;
|
|
64
182
|
if (body) {
|
|
65
183
|
args.push("--input", "-");
|
|
66
184
|
stdin = JSON.stringify(body);
|
|
67
185
|
}
|
|
186
|
+
else if (inputFile) {
|
|
187
|
+
// S-gap P2: Read body from file
|
|
188
|
+
args.push("--input", inputFile);
|
|
189
|
+
}
|
|
68
190
|
const result = await ghCmd(args, { cwd, stdin });
|
|
69
|
-
|
|
70
|
-
|
|
191
|
+
// P1-gap #141: Pass stderr to parser for error body preservation
|
|
192
|
+
// Only throw if there's no stdout at all (completely failed)
|
|
193
|
+
if (result.exitCode !== 0 && !result.stdout && result.stderr) {
|
|
194
|
+
// Still try to parse — pass stderr for error body
|
|
195
|
+
const data = parseApi("", result.exitCode, endpoint, method, result.stderr);
|
|
196
|
+
return dualOutput(data, formatApi);
|
|
71
197
|
}
|
|
72
|
-
const data = parseApi(result.stdout, result.exitCode, endpoint, method);
|
|
198
|
+
const data = parseApi(result.stdout, result.exitCode, endpoint, method, result.stderr);
|
|
73
199
|
return dualOutput(data, formatApi);
|
|
74
200
|
});
|
|
75
201
|
}
|
package/dist/tools/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/tools/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/tools/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,YAAY,CACjB,KAAK,EACL;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EACT,wNAAwN;QAC1N,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC;iBAC5B,QAAQ,CAAC,2DAA2D,CAAC;YACxE,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC/C,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,4BAA4B,CAAC;YACzC,IAAI,EAAE,CAAC;iBACJ,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CAAC,yDAAyD,CAAC;YACtE,MAAM,EAAE,CAAC;iBACN,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;iBAC9B,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,4DAA4D;YAC5D,WAAW,EAAE,CAAC;iBACX,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;iBAC9B,QAAQ,EAAE;iBACV,QAAQ,CACP,0FAA0F,CAC3F;YACH,QAAQ,EAAE,CAAC;iBACR,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,oDAAoD,CAAC;YACjE,EAAE,EAAE,CAAC;iBACF,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC;iBAC5B,QAAQ,EAAE;iBACV,QAAQ,CAAC,+CAA+C,CAAC;YAC5D,KAAK,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,6DAA6D,CAAC;YAC1E,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;YAChE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACnF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YACjF,8BAA8B;YAC9B,OAAO,EAAE,CAAC;iBACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;iBAC9B,QAAQ,EAAE;iBACV,QAAQ,CAAC,mEAAmE,CAAC;YAChF,+CAA+C;YAC/C,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,0BAA0B;YAC1B,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CAAC,oDAAoD,CAAC;YACjE,iDAAiD;YACjD,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CAAC,sCAAsC,CAAC;YACnD,qDAAqD;YACrD,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;YACnF,+BAA+B;YAC/B,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC;iBAC5B,QAAQ,EAAE;iBACV,QAAQ,CACP,oFAAoF,CACrF;YACH,SAAS,EAAE,CAAC;iBACT,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CAAC,yEAAyE,CAAC;YACtF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;SACnF;QACD,YAAY,EAAE,eAAe;KAC9B,EACD,KAAK,EAAE,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,MAAM,EACN,WAAW,EACX,QAAQ,EACR,EAAE,EACF,KAAK,EACL,OAAO,EAAE,QAAQ,EACjB,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,EACR,KAAK,EACL,OAAO,EACP,SAAS,EACT,KAAK,EACL,SAAS,EACT,IAAI,GACL,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAElC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,EAAE;YAAE,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ;YAAE,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,KAAK;YAAE,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,OAAO;YAAE,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,SAAS;YAAE,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAE7D,sCAAsC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,KAAK,EAAE,CAAC,CAAC;YAC3D,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrD,OAAO,CAAC,IAAI,CACV,IAAI,EACJ,GAAG,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACtE,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,IAAI,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE1B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAChD,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBACnF,OAAO,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,CACnB,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,QAAQ,EAClB,SAAS,EACT,MAAM,EACN,SAAS,CAAC,MAAM,CACjB,CAAC;YACF,OAAO,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAO,CAAC,CAAC;QAEpD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,6EAA6E;QAC7E,0FAA0F;QAC1F,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvB,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE7C,+BAA+B;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,KAAyB,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC1B,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,gCAAgC;YAChC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAEjD,iEAAiE;QACjE,6DAA6D;QAC7D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7D,kDAAkD;YAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7E,OAAO,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxF,OAAO,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gist-create.d.ts","sourceRoot":"","sources":["../../src/tools/gist-create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"gist-create.d.ts","sourceRoot":"","sources":["../../src/tools/gist-create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqBzE,gEAAgE;AAChE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,QAqHvD"}
|