@ghx-dev/core 0.2.0 → 0.2.1
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/.claude-plugin/plugin.json +2 -2
- package/README.md +44 -37
- package/dist/cards/issue.assignees.add.yaml +1 -0
- package/dist/cards/issue.assignees.remove.yaml +1 -0
- package/dist/cards/issue.assignees.set.yaml +1 -0
- package/dist/cards/issue.close.yaml +1 -0
- package/dist/cards/issue.comments.create.yaml +1 -0
- package/dist/cards/issue.comments.list.yaml +1 -0
- package/dist/cards/issue.create.yaml +1 -0
- package/dist/cards/issue.delete.yaml +1 -0
- package/dist/cards/issue.labels.add.yaml +1 -0
- package/dist/cards/issue.labels.remove.yaml +1 -0
- package/dist/cards/issue.labels.set.yaml +1 -0
- package/dist/cards/issue.list.yaml +1 -0
- package/dist/cards/issue.milestone.clear.yaml +1 -0
- package/dist/cards/issue.milestone.set.yaml +1 -0
- package/dist/cards/issue.relations.blocked_by.add.yaml +1 -0
- package/dist/cards/issue.relations.blocked_by.remove.yaml +1 -0
- package/dist/cards/issue.relations.parent.remove.yaml +1 -0
- package/dist/cards/issue.relations.parent.set.yaml +1 -0
- package/dist/cards/issue.relations.prs.list.yaml +1 -0
- package/dist/cards/issue.relations.view.yaml +1 -0
- package/dist/cards/issue.reopen.yaml +1 -0
- package/dist/cards/issue.update.yaml +1 -0
- package/dist/cards/issue.view.yaml +1 -0
- package/dist/cards/pr.assignees.add.yaml +6 -2
- package/dist/cards/pr.assignees.remove.yaml +6 -2
- package/dist/cards/pr.branch.update.yaml +6 -2
- package/dist/cards/pr.create.yaml +7 -3
- package/dist/cards/pr.diff.files.yaml +1 -0
- package/dist/cards/pr.list.yaml +1 -0
- package/dist/cards/pr.merge.status.yaml +1 -0
- package/dist/cards/pr.merge.yaml +9 -3
- package/dist/cards/pr.reviews.list.yaml +1 -0
- package/dist/cards/pr.reviews.request.yaml +6 -3
- package/dist/cards/pr.reviews.submit.yaml +1 -0
- package/dist/cards/pr.threads.list.yaml +1 -0
- package/dist/cards/pr.threads.reply.yaml +1 -0
- package/dist/cards/pr.threads.resolve.yaml +1 -0
- package/dist/cards/pr.threads.unresolve.yaml +1 -0
- package/dist/cards/pr.update.yaml +7 -2
- package/dist/cards/pr.view.yaml +1 -0
- package/dist/cards/project_v2.fields.list.yaml +18 -2
- package/dist/cards/project_v2.items.field.update.yaml +8 -5
- package/dist/cards/project_v2.items.issue.add.yaml +9 -5
- package/dist/cards/project_v2.items.issue.remove.yaml +8 -5
- package/dist/cards/project_v2.items.list.yaml +8 -2
- package/dist/cards/project_v2.org.view.yaml +6 -2
- package/dist/cards/project_v2.user.view.yaml +6 -2
- package/dist/cards/release.list.yaml +8 -3
- package/dist/cards/release.view.yaml +8 -4
- package/dist/cards/repo.issue_types.list.yaml +7 -3
- package/dist/cards/repo.labels.list.yaml +7 -2
- package/dist/cards/repo.view.yaml +1 -0
- package/dist/chunk-7HUKYNI2.js +536 -0
- package/dist/chunk-7HUKYNI2.js.map +1 -0
- package/dist/chunk-GQO6BHJV.js +98 -0
- package/dist/chunk-GQO6BHJV.js.map +1 -0
- package/dist/chunk-H7CLZHRO.js +280 -0
- package/dist/chunk-H7CLZHRO.js.map +1 -0
- package/dist/{chunk-3P3KHWFU.js → chunk-M5PJLKL5.js} +1079 -726
- package/dist/chunk-M5PJLKL5.js.map +1 -0
- package/dist/chunk-NQ53ETYV.js +128 -0
- package/dist/chunk-NQ53ETYV.js.map +1 -0
- package/dist/{chunk-BIWBJA2F.js → chunk-OQWLEFAH.js} +220 -12
- package/dist/chunk-OQWLEFAH.js.map +1 -0
- package/dist/{chunk-Q7RCIK2C.js → chunk-Q2NW7DJE.js} +167 -62
- package/dist/chunk-Q2NW7DJE.js.map +1 -0
- package/dist/{pr-queries-UOEOXIJQ.js → chunk-QRHKAMRY.js} +11 -131
- package/dist/chunk-QRHKAMRY.js.map +1 -0
- package/dist/{issue-queries-GRA4MKPD.js → chunk-TGL33GEA.js} +7 -83
- package/dist/chunk-TGL33GEA.js.map +1 -0
- package/dist/chunk-ZGBVX2VG.js +32 -0
- package/dist/chunk-ZGBVX2VG.js.map +1 -0
- package/dist/cli/index.js +79 -14
- package/dist/cli/index.js.map +1 -1
- package/dist/core/registry/cards/issue.assignees.add.yaml +1 -0
- package/dist/core/registry/cards/issue.assignees.remove.yaml +1 -0
- package/dist/core/registry/cards/issue.assignees.set.yaml +1 -0
- package/dist/core/registry/cards/issue.close.yaml +1 -0
- package/dist/core/registry/cards/issue.comments.create.yaml +1 -0
- package/dist/core/registry/cards/issue.comments.list.yaml +1 -0
- package/dist/core/registry/cards/issue.create.yaml +1 -0
- package/dist/core/registry/cards/issue.delete.yaml +1 -0
- package/dist/core/registry/cards/issue.labels.add.yaml +1 -0
- package/dist/core/registry/cards/issue.labels.remove.yaml +1 -0
- package/dist/core/registry/cards/issue.labels.set.yaml +1 -0
- package/dist/core/registry/cards/issue.list.yaml +1 -0
- package/dist/core/registry/cards/issue.milestone.clear.yaml +1 -0
- package/dist/core/registry/cards/issue.milestone.set.yaml +1 -0
- package/dist/core/registry/cards/issue.relations.blocked_by.add.yaml +1 -0
- package/dist/core/registry/cards/issue.relations.blocked_by.remove.yaml +1 -0
- package/dist/core/registry/cards/issue.relations.parent.remove.yaml +1 -0
- package/dist/core/registry/cards/issue.relations.parent.set.yaml +1 -0
- package/dist/core/registry/cards/issue.relations.prs.list.yaml +1 -0
- package/dist/core/registry/cards/issue.relations.view.yaml +1 -0
- package/dist/core/registry/cards/issue.reopen.yaml +1 -0
- package/dist/core/registry/cards/issue.update.yaml +1 -0
- package/dist/core/registry/cards/issue.view.yaml +1 -0
- package/dist/core/registry/cards/pr.assignees.add.yaml +6 -2
- package/dist/core/registry/cards/pr.assignees.remove.yaml +6 -2
- package/dist/core/registry/cards/pr.branch.update.yaml +6 -2
- package/dist/core/registry/cards/pr.create.yaml +7 -3
- package/dist/core/registry/cards/pr.diff.files.yaml +1 -0
- package/dist/core/registry/cards/pr.list.yaml +1 -0
- package/dist/core/registry/cards/pr.merge.status.yaml +1 -0
- package/dist/core/registry/cards/pr.merge.yaml +9 -3
- package/dist/core/registry/cards/pr.reviews.list.yaml +1 -0
- package/dist/core/registry/cards/pr.reviews.request.yaml +6 -3
- package/dist/core/registry/cards/pr.reviews.submit.yaml +1 -0
- package/dist/core/registry/cards/pr.threads.list.yaml +1 -0
- package/dist/core/registry/cards/pr.threads.reply.yaml +1 -0
- package/dist/core/registry/cards/pr.threads.resolve.yaml +1 -0
- package/dist/core/registry/cards/pr.threads.unresolve.yaml +1 -0
- package/dist/core/registry/cards/pr.update.yaml +7 -2
- package/dist/core/registry/cards/pr.view.yaml +1 -0
- package/dist/core/registry/cards/project_v2.fields.list.yaml +18 -2
- package/dist/core/registry/cards/project_v2.items.field.update.yaml +8 -5
- package/dist/core/registry/cards/project_v2.items.issue.add.yaml +9 -5
- package/dist/core/registry/cards/project_v2.items.issue.remove.yaml +8 -5
- package/dist/core/registry/cards/project_v2.items.list.yaml +8 -2
- package/dist/core/registry/cards/project_v2.org.view.yaml +6 -2
- package/dist/core/registry/cards/project_v2.user.view.yaml +6 -2
- package/dist/core/registry/cards/release.list.yaml +8 -3
- package/dist/core/registry/cards/release.view.yaml +8 -4
- package/dist/core/registry/cards/repo.issue_types.list.yaml +7 -3
- package/dist/core/registry/cards/repo.labels.list.yaml +7 -2
- package/dist/core/registry/cards/repo.view.yaml +1 -0
- package/dist/index.d.ts +297 -0
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/{issue-mutations-FJNZW7L5.js → issue-mutations-OW464JP3.js} +97 -120
- package/dist/issue-mutations-OW464JP3.js.map +1 -0
- package/dist/issue-queries-ORG3VPK4.js +93 -0
- package/dist/issue-queries-ORG3VPK4.js.map +1 -0
- package/dist/{pr-mutations-UG67YOF5.js → pr-mutations-WOTG6FAB.js} +234 -94
- package/dist/pr-mutations-WOTG6FAB.js.map +1 -0
- package/dist/pr-queries-6CJJW7BT.js +143 -0
- package/dist/pr-queries-6CJJW7BT.js.map +1 -0
- package/dist/project-QFSCYDDW.js +429 -0
- package/dist/project-QFSCYDDW.js.map +1 -0
- package/dist/release-33236BBA.js +57 -0
- package/dist/release-33236BBA.js.map +1 -0
- package/dist/repo-M6DKCWBG.js +82 -0
- package/dist/repo-M6DKCWBG.js.map +1 -0
- package/package.json +6 -6
- package/skills/using-ghx/SKILL.md +76 -10
- package/dist/chunk-3P3KHWFU.js.map +0 -1
- package/dist/chunk-BIWBJA2F.js.map +0 -1
- package/dist/chunk-Q7RCIK2C.js.map +0 -1
- package/dist/chunk-TDABI6C7.js +0 -167
- package/dist/chunk-TDABI6C7.js.map +0 -1
- package/dist/issue-mutations-FJNZW7L5.js.map +0 -1
- package/dist/issue-queries-GRA4MKPD.js.map +0 -1
- package/dist/pr-mutations-UG67YOF5.js.map +0 -1
- package/dist/pr-queries-UOEOXIJQ.js.map +0 -1
- package/dist/repo-JDUHFPZF.js +0 -66
- package/dist/repo-JDUHFPZF.js.map +0 -1
|
@@ -4,15 +4,6 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
PageInfoFieldsFragmentDoc
|
|
6
6
|
} from "./chunk-R3CBGJZX.js";
|
|
7
|
-
import {
|
|
8
|
-
assertPrDiffListFilesInput,
|
|
9
|
-
assertPrInput,
|
|
10
|
-
assertPrListInput,
|
|
11
|
-
assertPrReviewsListInput
|
|
12
|
-
} from "./chunk-BIWBJA2F.js";
|
|
13
|
-
import {
|
|
14
|
-
createGraphqlRequestClient
|
|
15
|
-
} from "./chunk-HEHONZTO.js";
|
|
16
7
|
|
|
17
8
|
// src/gql/operations/pr-diff-list-files.generated.ts
|
|
18
9
|
var PrDiffListFilesDocument = `
|
|
@@ -205,127 +196,16 @@ function getSdk5(client, withWrapper = defaultWrapper5) {
|
|
|
205
196
|
};
|
|
206
197
|
}
|
|
207
198
|
|
|
208
|
-
// src/gql/domains/pr-queries.ts
|
|
209
|
-
async function runPrView(transport, input) {
|
|
210
|
-
assertPrInput(input);
|
|
211
|
-
const sdk = getSdk5(createGraphqlRequestClient(transport));
|
|
212
|
-
const result = await sdk.PrView(input);
|
|
213
|
-
const pr = result.repository?.pullRequest;
|
|
214
|
-
if (!pr) {
|
|
215
|
-
throw new Error("Pull request not found");
|
|
216
|
-
}
|
|
217
|
-
return {
|
|
218
|
-
id: pr.id,
|
|
219
|
-
number: pr.number,
|
|
220
|
-
title: pr.title,
|
|
221
|
-
state: pr.state,
|
|
222
|
-
url: pr.url,
|
|
223
|
-
body: pr.body ?? "",
|
|
224
|
-
labels: (pr.labels?.nodes ?? []).flatMap((n) => n ? [n.name] : [])
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
async function runPrList(transport, input) {
|
|
228
|
-
assertPrListInput(input);
|
|
229
|
-
const sdk = getSdk2(createGraphqlRequestClient(transport));
|
|
230
|
-
const result = await sdk.PrList(input);
|
|
231
|
-
const prs = result.repository?.pullRequests;
|
|
232
|
-
if (!prs) {
|
|
233
|
-
throw new Error("Pull requests not found");
|
|
234
|
-
}
|
|
235
|
-
return {
|
|
236
|
-
items: (prs.nodes ?? []).flatMap(
|
|
237
|
-
(pr) => pr ? [
|
|
238
|
-
{
|
|
239
|
-
id: pr.id,
|
|
240
|
-
number: pr.number,
|
|
241
|
-
title: pr.title,
|
|
242
|
-
state: pr.state,
|
|
243
|
-
url: pr.url
|
|
244
|
-
}
|
|
245
|
-
] : []
|
|
246
|
-
),
|
|
247
|
-
pageInfo: {
|
|
248
|
-
endCursor: prs.pageInfo.endCursor ?? null,
|
|
249
|
-
hasNextPage: prs.pageInfo.hasNextPage
|
|
250
|
-
}
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
async function runPrReviewsList(transport, input) {
|
|
254
|
-
assertPrReviewsListInput(input);
|
|
255
|
-
const sdk = getSdk4(createGraphqlRequestClient(transport));
|
|
256
|
-
const result = await sdk.PrReviewsList(input);
|
|
257
|
-
const reviews = result.repository?.pullRequest?.reviews;
|
|
258
|
-
if (!reviews) {
|
|
259
|
-
throw new Error("Pull request reviews not found");
|
|
260
|
-
}
|
|
261
|
-
return {
|
|
262
|
-
items: (reviews.nodes ?? []).flatMap(
|
|
263
|
-
(review) => review ? [
|
|
264
|
-
{
|
|
265
|
-
id: review.id,
|
|
266
|
-
authorLogin: review.author?.login ?? null,
|
|
267
|
-
body: review.body,
|
|
268
|
-
state: review.state,
|
|
269
|
-
submittedAt: review.submittedAt ?? null,
|
|
270
|
-
url: review.url,
|
|
271
|
-
commitOid: review.commit?.oid ?? null
|
|
272
|
-
}
|
|
273
|
-
] : []
|
|
274
|
-
),
|
|
275
|
-
pageInfo: {
|
|
276
|
-
endCursor: reviews.pageInfo.endCursor ?? null,
|
|
277
|
-
hasNextPage: reviews.pageInfo.hasNextPage
|
|
278
|
-
}
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
async function runPrDiffListFiles(transport, input) {
|
|
282
|
-
assertPrDiffListFilesInput(input);
|
|
283
|
-
const sdk = getSdk(createGraphqlRequestClient(transport));
|
|
284
|
-
const result = await sdk.PrDiffListFiles(input);
|
|
285
|
-
const files = result.repository?.pullRequest?.files;
|
|
286
|
-
if (!files) {
|
|
287
|
-
throw new Error("Pull request files not found");
|
|
288
|
-
}
|
|
289
|
-
return {
|
|
290
|
-
items: (files.nodes ?? []).flatMap(
|
|
291
|
-
(file) => file ? [
|
|
292
|
-
{
|
|
293
|
-
path: file.path,
|
|
294
|
-
additions: file.additions,
|
|
295
|
-
deletions: file.deletions
|
|
296
|
-
}
|
|
297
|
-
] : []
|
|
298
|
-
),
|
|
299
|
-
pageInfo: {
|
|
300
|
-
endCursor: files.pageInfo.endCursor ?? null,
|
|
301
|
-
hasNextPage: files.pageInfo.hasNextPage
|
|
302
|
-
}
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
|
-
async function runPrMergeStatus(transport, input) {
|
|
306
|
-
assertPrInput({ owner: input.owner, name: input.name, prNumber: input.prNumber });
|
|
307
|
-
const result = await getSdk3(createGraphqlRequestClient(transport)).PrMergeStatus({
|
|
308
|
-
owner: input.owner,
|
|
309
|
-
name: input.name,
|
|
310
|
-
prNumber: input.prNumber
|
|
311
|
-
});
|
|
312
|
-
const pr = result.repository?.pullRequest;
|
|
313
|
-
if (!pr) {
|
|
314
|
-
throw new Error("Pull request not found");
|
|
315
|
-
}
|
|
316
|
-
return {
|
|
317
|
-
mergeable: pr.mergeable ?? null,
|
|
318
|
-
mergeStateStatus: pr.mergeStateStatus ?? null,
|
|
319
|
-
reviewDecision: pr.reviewDecision ?? null,
|
|
320
|
-
isDraft: pr.isDraft,
|
|
321
|
-
state: pr.state
|
|
322
|
-
};
|
|
323
|
-
}
|
|
324
199
|
export {
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
200
|
+
PrDiffListFilesDocument,
|
|
201
|
+
getSdk,
|
|
202
|
+
PrListDocument,
|
|
203
|
+
getSdk2,
|
|
204
|
+
PrMergeStatusDocument,
|
|
205
|
+
getSdk3,
|
|
206
|
+
PrReviewsListDocument,
|
|
207
|
+
getSdk4,
|
|
208
|
+
PrViewDocument,
|
|
209
|
+
getSdk5
|
|
330
210
|
};
|
|
331
|
-
//# sourceMappingURL=
|
|
211
|
+
//# sourceMappingURL=chunk-QRHKAMRY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/gql/operations/pr-diff-list-files.generated.ts","../src/gql/operations/pr-list.generated.ts","../src/gql/operations/pr-merge-status.generated.ts","../src/gql/operations/pr-reviews-list.generated.ts","../src/gql/operations/pr-view.generated.ts"],"sourcesContent":["import type { GraphQLClient, RequestOptions } from \"graphql-request\"\nimport type * as Types from \"./base-types.js\"\nimport { PageInfoFieldsFragmentDoc } from \"./fragments/page-info-fields.generated.js\"\n\ntype GraphQLClientRequestHeaders = RequestOptions[\"requestHeaders\"]\nexport type PrDiffListFilesQueryVariables = Types.Exact<{\n owner: Types.Scalars[\"String\"][\"input\"]\n name: Types.Scalars[\"String\"][\"input\"]\n prNumber: Types.Scalars[\"Int\"][\"input\"]\n first: Types.Scalars[\"Int\"][\"input\"]\n after?: Types.InputMaybe<Types.Scalars[\"String\"][\"input\"]>\n}>\n\nexport type PrDiffListFilesQuery = {\n __typename?: \"Query\"\n repository?: {\n __typename?: \"Repository\"\n pullRequest?: {\n __typename?: \"PullRequest\"\n files?: {\n __typename?: \"PullRequestChangedFileConnection\"\n nodes?: Array<{\n __typename?: \"PullRequestChangedFile\"\n path: string\n additions: number\n deletions: number\n } | null> | null\n pageInfo: { __typename?: \"PageInfo\"; endCursor?: string | null; hasNextPage: boolean }\n } | null\n } | null\n } | null\n}\n\nexport const PrDiffListFilesDocument = `\n query PrDiffListFiles($owner: String!, $name: String!, $prNumber: Int!, $first: Int!, $after: String) {\n repository(owner: $owner, name: $name) {\n pullRequest(number: $prNumber) {\n files(first: $first, after: $after) {\n nodes {\n path\n additions\n deletions\n }\n pageInfo {\n ...PageInfoFields\n }\n }\n }\n }\n}\n ${PageInfoFieldsFragmentDoc}`\n\nexport type SdkFunctionWrapper = <T>(\n action: (requestHeaders?: Record<string, string>) => Promise<T>,\n operationName: string,\n operationType?: string,\n variables?: any,\n) => Promise<T>\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) =>\n action()\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n PrDiffListFiles(\n variables: PrDiffListFilesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<PrDiffListFilesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<PrDiffListFilesQuery>({\n document: PrDiffListFilesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"PrDiffListFiles\",\n \"query\",\n variables,\n )\n },\n }\n}\nexport type Sdk = ReturnType<typeof getSdk>\n","import type { GraphQLClient, RequestOptions } from \"graphql-request\"\nimport type * as Types from \"./base-types.js\"\nimport { PageInfoFieldsFragmentDoc } from \"./fragments/page-info-fields.generated.js\"\nimport { PrCoreFieldsFragmentDoc } from \"./fragments/pr-core-fields.generated.js\"\n\ntype GraphQLClientRequestHeaders = RequestOptions[\"requestHeaders\"]\nexport type PrListQueryVariables = Types.Exact<{\n owner: Types.Scalars[\"String\"][\"input\"]\n name: Types.Scalars[\"String\"][\"input\"]\n first: Types.Scalars[\"Int\"][\"input\"]\n after?: Types.InputMaybe<Types.Scalars[\"String\"][\"input\"]>\n}>\n\nexport type PrListQuery = {\n __typename?: \"Query\"\n repository?: {\n __typename?: \"Repository\"\n pullRequests: {\n __typename?: \"PullRequestConnection\"\n nodes?: Array<{\n __typename?: \"PullRequest\"\n id: string\n number: number\n title: string\n state: Types.PullRequestState\n url: any\n } | null> | null\n pageInfo: { __typename?: \"PageInfo\"; endCursor?: string | null; hasNextPage: boolean }\n }\n } | null\n}\n\nexport const PrListDocument = `\n query PrList($owner: String!, $name: String!, $first: Int!, $after: String) {\n repository(owner: $owner, name: $name) {\n pullRequests(\n first: $first\n after: $after\n orderBy: {field: CREATED_AT, direction: DESC}\n ) {\n nodes {\n ...PrCoreFields\n }\n pageInfo {\n ...PageInfoFields\n }\n }\n }\n}\n ${PrCoreFieldsFragmentDoc}\n${PageInfoFieldsFragmentDoc}`\n\nexport type SdkFunctionWrapper = <T>(\n action: (requestHeaders?: Record<string, string>) => Promise<T>,\n operationName: string,\n operationType?: string,\n variables?: any,\n) => Promise<T>\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) =>\n action()\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n PrList(\n variables: PrListQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<PrListQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<PrListQuery>({\n document: PrListDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"PrList\",\n \"query\",\n variables,\n )\n },\n }\n}\nexport type Sdk = ReturnType<typeof getSdk>\n","import type { GraphQLClient, RequestOptions } from \"graphql-request\"\nimport type * as Types from \"./base-types.js\"\n\ntype GraphQLClientRequestHeaders = RequestOptions[\"requestHeaders\"]\nexport type PrMergeStatusQueryVariables = Types.Exact<{\n owner: Types.Scalars[\"String\"][\"input\"]\n name: Types.Scalars[\"String\"][\"input\"]\n prNumber: Types.Scalars[\"Int\"][\"input\"]\n}>\n\nexport type PrMergeStatusQuery = {\n __typename?: \"Query\"\n repository?: {\n __typename?: \"Repository\"\n pullRequest?: {\n __typename?: \"PullRequest\"\n mergeable: Types.MergeableState\n mergeStateStatus: Types.MergeStateStatus\n reviewDecision?: Types.PullRequestReviewDecision | null\n isDraft: boolean\n state: Types.PullRequestState\n } | null\n } | null\n}\n\nexport const PrMergeStatusDocument = `\n query PrMergeStatus($owner: String!, $name: String!, $prNumber: Int!) {\n repository(owner: $owner, name: $name) {\n pullRequest(number: $prNumber) {\n mergeable\n mergeStateStatus\n reviewDecision\n isDraft\n state\n }\n }\n}\n `\n\nexport type SdkFunctionWrapper = <T>(\n action: (requestHeaders?: Record<string, string>) => Promise<T>,\n operationName: string,\n operationType?: string,\n variables?: any,\n) => Promise<T>\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) =>\n action()\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n PrMergeStatus(\n variables: PrMergeStatusQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<PrMergeStatusQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<PrMergeStatusQuery>({\n document: PrMergeStatusDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"PrMergeStatus\",\n \"query\",\n variables,\n )\n },\n }\n}\nexport type Sdk = ReturnType<typeof getSdk>\n","import type { GraphQLClient, RequestOptions } from \"graphql-request\"\nimport type * as Types from \"./base-types.js\"\nimport { PageInfoFieldsFragmentDoc } from \"./fragments/page-info-fields.generated.js\"\n\ntype GraphQLClientRequestHeaders = RequestOptions[\"requestHeaders\"]\nexport type PrReviewsListQueryVariables = Types.Exact<{\n owner: Types.Scalars[\"String\"][\"input\"]\n name: Types.Scalars[\"String\"][\"input\"]\n prNumber: Types.Scalars[\"Int\"][\"input\"]\n first: Types.Scalars[\"Int\"][\"input\"]\n after?: Types.InputMaybe<Types.Scalars[\"String\"][\"input\"]>\n}>\n\nexport type PrReviewsListQuery = {\n __typename?: \"Query\"\n repository?: {\n __typename?: \"Repository\"\n pullRequest?: {\n __typename?: \"PullRequest\"\n reviews?: {\n __typename?: \"PullRequestReviewConnection\"\n nodes?: Array<{\n __typename?: \"PullRequestReview\"\n id: string\n body: string\n state: Types.PullRequestReviewState\n submittedAt?: any | null\n url: any\n author?:\n | { __typename?: \"Bot\"; login: string }\n | { __typename?: \"EnterpriseUserAccount\"; login: string }\n | { __typename?: \"Mannequin\"; login: string }\n | { __typename?: \"Organization\"; login: string }\n | { __typename?: \"User\"; login: string }\n | null\n commit?: { __typename?: \"Commit\"; oid: any } | null\n } | null> | null\n pageInfo: { __typename?: \"PageInfo\"; endCursor?: string | null; hasNextPage: boolean }\n } | null\n } | null\n } | null\n}\n\nexport const PrReviewsListDocument = `\n query PrReviewsList($owner: String!, $name: String!, $prNumber: Int!, $first: Int!, $after: String) {\n repository(owner: $owner, name: $name) {\n pullRequest(number: $prNumber) {\n reviews(first: $first, after: $after) {\n nodes {\n id\n author {\n login\n }\n body\n state\n submittedAt\n url\n commit {\n oid\n }\n }\n pageInfo {\n ...PageInfoFields\n }\n }\n }\n }\n}\n ${PageInfoFieldsFragmentDoc}`\n\nexport type SdkFunctionWrapper = <T>(\n action: (requestHeaders?: Record<string, string>) => Promise<T>,\n operationName: string,\n operationType?: string,\n variables?: any,\n) => Promise<T>\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) =>\n action()\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n PrReviewsList(\n variables: PrReviewsListQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<PrReviewsListQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<PrReviewsListQuery>({\n document: PrReviewsListDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"PrReviewsList\",\n \"query\",\n variables,\n )\n },\n }\n}\nexport type Sdk = ReturnType<typeof getSdk>\n","import type { GraphQLClient, RequestOptions } from \"graphql-request\"\nimport type * as Types from \"./base-types.js\"\nimport { PrCoreFieldsFragmentDoc } from \"./fragments/pr-core-fields.generated.js\"\n\ntype GraphQLClientRequestHeaders = RequestOptions[\"requestHeaders\"]\nexport type PrViewQueryVariables = Types.Exact<{\n owner: Types.Scalars[\"String\"][\"input\"]\n name: Types.Scalars[\"String\"][\"input\"]\n prNumber: Types.Scalars[\"Int\"][\"input\"]\n}>\n\nexport type PrViewQuery = {\n __typename?: \"Query\"\n repository?: {\n __typename?: \"Repository\"\n pullRequest?: {\n __typename?: \"PullRequest\"\n body: string\n id: string\n number: number\n title: string\n state: Types.PullRequestState\n url: any\n labels?: {\n __typename?: \"LabelConnection\"\n nodes?: Array<{ __typename?: \"Label\"; name: string } | null> | null\n } | null\n } | null\n } | null\n}\n\nexport const PrViewDocument = `\n query PrView($owner: String!, $name: String!, $prNumber: Int!) {\n repository(owner: $owner, name: $name) {\n pullRequest(number: $prNumber) {\n ...PrCoreFields\n body\n labels(first: 20) {\n nodes {\n name\n }\n }\n }\n }\n}\n ${PrCoreFieldsFragmentDoc}`\n\nexport type SdkFunctionWrapper = <T>(\n action: (requestHeaders?: Record<string, string>) => Promise<T>,\n operationName: string,\n operationType?: string,\n variables?: any,\n) => Promise<T>\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) =>\n action()\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n PrView(\n variables: PrViewQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<PrViewQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<PrViewQuery>({\n document: PrViewDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"PrView\",\n \"query\",\n variables,\n )\n },\n }\n}\nexport type Sdk = ReturnType<typeof getSdk>\n"],"mappings":";;;;;;;;AAiCO,IAAM,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAiBjC,yBAAyB;AAS/B,IAAM,iBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAClF,OAAO;AAEF,SAAS,OAAO,QAAuB,cAAkC,gBAAgB;AAC9F,SAAO;AAAA,IACL,gBACE,WACA,gBACA,QAC+B;AAC/B,aAAO;AAAA,QACL,CAAC,0BACC,OAAO,QAA8B;AAAA,UACnC,UAAU;AAAA,UACV;AAAA,UACA,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,sBAAsB;AAAA,UAC9D;AAAA,QACF,CAAC;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACnDO,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAiBxB,uBAAuB;AAAA,EAC3B,yBAAyB;AAS3B,IAAMA,kBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAClF,OAAO;AAEF,SAASC,QAAO,QAAuB,cAAkCD,iBAAgB;AAC9F,SAAO;AAAA,IACL,OACE,WACA,gBACA,QACsB;AACtB,aAAO;AAAA,QACL,CAAC,0BACC,OAAO,QAAqB;AAAA,UAC1B,UAAU;AAAA,UACV;AAAA,UACA,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,sBAAsB;AAAA,UAC9D;AAAA,QACF,CAAC;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AC1DO,IAAM,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBrC,IAAME,kBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAClF,OAAO;AAEF,SAASC,QAAO,QAAuB,cAAkCD,iBAAgB;AAC9F,SAAO;AAAA,IACL,cACE,WACA,gBACA,QAC6B;AAC7B,aAAO;AAAA,QACL,CAAC,0BACC,OAAO,QAA4B;AAAA,UACjC,UAAU;AAAA,UACV;AAAA,UACA,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,sBAAsB;AAAA,UAC9D;AAAA,QACF,CAAC;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AC3BO,IAAM,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAyB/B,yBAAyB;AAS/B,IAAME,kBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAClF,OAAO;AAEF,SAASC,QAAO,QAAuB,cAAkCD,iBAAgB;AAC9F,SAAO;AAAA,IACL,cACE,WACA,gBACA,QAC6B;AAC7B,aAAO;AAAA,QACL,CAAC,0BACC,OAAO,QAA4B;AAAA,UACjC,UAAU;AAAA,UACV;AAAA,UACA,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,sBAAsB;AAAA,UAC9D;AAAA,QACF,CAAC;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACtEO,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAcxB,uBAAuB;AAS7B,IAAME,kBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAClF,OAAO;AAEF,SAASC,QAAO,QAAuB,cAAkCD,iBAAgB;AAC9F,SAAO;AAAA,IACL,OACE,WACA,gBACA,QACsB;AACtB,aAAO;AAAA,QACL,CAAC,0BACC,OAAO,QAAqB;AAAA,UAC1B,UAAU;AAAA,UACV;AAAA,UACA,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,sBAAsB;AAAA,UAC9D;AAAA,QACF,CAAC;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":["defaultWrapper","getSdk","defaultWrapper","getSdk","defaultWrapper","getSdk","defaultWrapper","getSdk"]}
|
|
@@ -4,14 +4,6 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
PageInfoFieldsFragmentDoc
|
|
6
6
|
} from "./chunk-R3CBGJZX.js";
|
|
7
|
-
import {
|
|
8
|
-
assertIssueCommentsListInput,
|
|
9
|
-
assertIssueInput,
|
|
10
|
-
assertIssueListInput
|
|
11
|
-
} from "./chunk-BIWBJA2F.js";
|
|
12
|
-
import {
|
|
13
|
-
createGraphqlRequestClient
|
|
14
|
-
} from "./chunk-HEHONZTO.js";
|
|
15
7
|
|
|
16
8
|
// src/gql/operations/issue-comments-list.generated.ts
|
|
17
9
|
var IssueCommentsListDocument = `
|
|
@@ -129,80 +121,12 @@ function getSdk3(client, withWrapper = defaultWrapper3) {
|
|
|
129
121
|
};
|
|
130
122
|
}
|
|
131
123
|
|
|
132
|
-
// src/gql/domains/issue-queries.ts
|
|
133
|
-
async function runIssueView(transport, input) {
|
|
134
|
-
assertIssueInput(input);
|
|
135
|
-
const sdk = getSdk3(createGraphqlRequestClient(transport));
|
|
136
|
-
const result = await sdk.IssueView(input);
|
|
137
|
-
const issue = result.repository?.issue;
|
|
138
|
-
if (!issue) {
|
|
139
|
-
throw new Error("Issue not found");
|
|
140
|
-
}
|
|
141
|
-
return {
|
|
142
|
-
id: issue.id,
|
|
143
|
-
number: issue.number,
|
|
144
|
-
title: issue.title,
|
|
145
|
-
state: issue.state,
|
|
146
|
-
url: issue.url,
|
|
147
|
-
body: issue.body ?? "",
|
|
148
|
-
labels: (issue.labels?.nodes ?? []).flatMap((n) => n ? [n.name] : [])
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
async function runIssueList(transport, input) {
|
|
152
|
-
assertIssueListInput(input);
|
|
153
|
-
const sdk = getSdk2(createGraphqlRequestClient(transport));
|
|
154
|
-
const result = await sdk.IssueList(input);
|
|
155
|
-
const issues = result.repository?.issues;
|
|
156
|
-
if (!issues) {
|
|
157
|
-
throw new Error("Issues not found");
|
|
158
|
-
}
|
|
159
|
-
return {
|
|
160
|
-
items: (issues.nodes ?? []).flatMap(
|
|
161
|
-
(issue) => issue ? [
|
|
162
|
-
{
|
|
163
|
-
id: issue.id,
|
|
164
|
-
number: issue.number,
|
|
165
|
-
title: issue.title,
|
|
166
|
-
state: issue.state,
|
|
167
|
-
url: issue.url
|
|
168
|
-
}
|
|
169
|
-
] : []
|
|
170
|
-
),
|
|
171
|
-
pageInfo: {
|
|
172
|
-
endCursor: issues.pageInfo.endCursor ?? null,
|
|
173
|
-
hasNextPage: issues.pageInfo.hasNextPage
|
|
174
|
-
}
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
async function runIssueCommentsList(transport, input) {
|
|
178
|
-
assertIssueCommentsListInput(input);
|
|
179
|
-
const sdk = getSdk(createGraphqlRequestClient(transport));
|
|
180
|
-
const result = await sdk.IssueCommentsList(input);
|
|
181
|
-
const comments = result.repository?.issue?.comments;
|
|
182
|
-
if (!comments) {
|
|
183
|
-
throw new Error("Issue comments not found");
|
|
184
|
-
}
|
|
185
|
-
return {
|
|
186
|
-
items: (comments.nodes ?? []).flatMap(
|
|
187
|
-
(comment) => comment ? [
|
|
188
|
-
{
|
|
189
|
-
id: comment.id,
|
|
190
|
-
body: comment.body,
|
|
191
|
-
authorLogin: comment.author?.login ?? null,
|
|
192
|
-
createdAt: comment.createdAt,
|
|
193
|
-
url: String(comment.url)
|
|
194
|
-
}
|
|
195
|
-
] : []
|
|
196
|
-
),
|
|
197
|
-
pageInfo: {
|
|
198
|
-
endCursor: comments.pageInfo.endCursor ?? null,
|
|
199
|
-
hasNextPage: comments.pageInfo.hasNextPage
|
|
200
|
-
}
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
124
|
export {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
125
|
+
IssueCommentsListDocument,
|
|
126
|
+
getSdk,
|
|
127
|
+
IssueListDocument,
|
|
128
|
+
getSdk2,
|
|
129
|
+
IssueViewDocument,
|
|
130
|
+
getSdk3
|
|
207
131
|
};
|
|
208
|
-
//# sourceMappingURL=
|
|
132
|
+
//# sourceMappingURL=chunk-TGL33GEA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/gql/operations/issue-comments-list.generated.ts","../src/gql/operations/issue-list.generated.ts","../src/gql/operations/issue-view.generated.ts"],"sourcesContent":["import type { GraphQLClient, RequestOptions } from \"graphql-request\"\nimport type * as Types from \"./base-types.js\"\nimport { PageInfoFieldsFragmentDoc } from \"./fragments/page-info-fields.generated.js\"\n\ntype GraphQLClientRequestHeaders = RequestOptions[\"requestHeaders\"]\nexport type IssueCommentsListQueryVariables = Types.Exact<{\n owner: Types.Scalars[\"String\"][\"input\"]\n name: Types.Scalars[\"String\"][\"input\"]\n issueNumber: Types.Scalars[\"Int\"][\"input\"]\n first: Types.Scalars[\"Int\"][\"input\"]\n after?: Types.InputMaybe<Types.Scalars[\"String\"][\"input\"]>\n}>\n\nexport type IssueCommentsListQuery = {\n __typename?: \"Query\"\n repository?: {\n __typename?: \"Repository\"\n issue?: {\n __typename?: \"Issue\"\n comments: {\n __typename?: \"IssueCommentConnection\"\n nodes?: Array<{\n __typename?: \"IssueComment\"\n id: string\n body: string\n createdAt: any\n url: any\n author?:\n | { __typename?: \"Bot\"; login: string }\n | { __typename?: \"EnterpriseUserAccount\"; login: string }\n | { __typename?: \"Mannequin\"; login: string }\n | { __typename?: \"Organization\"; login: string }\n | { __typename?: \"User\"; login: string }\n | null\n } | null> | null\n pageInfo: { __typename?: \"PageInfo\"; endCursor?: string | null; hasNextPage: boolean }\n }\n } | null\n } | null\n}\n\nexport const IssueCommentsListDocument = `\n query IssueCommentsList($owner: String!, $name: String!, $issueNumber: Int!, $first: Int!, $after: String) {\n repository(owner: $owner, name: $name) {\n issue(number: $issueNumber) {\n comments(first: $first, after: $after) {\n nodes {\n id\n body\n createdAt\n url\n author {\n login\n }\n }\n pageInfo {\n ...PageInfoFields\n }\n }\n }\n }\n}\n ${PageInfoFieldsFragmentDoc}`\n\nexport type SdkFunctionWrapper = <T>(\n action: (requestHeaders?: Record<string, string>) => Promise<T>,\n operationName: string,\n operationType?: string,\n variables?: any,\n) => Promise<T>\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) =>\n action()\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n IssueCommentsList(\n variables: IssueCommentsListQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<IssueCommentsListQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<IssueCommentsListQuery>({\n document: IssueCommentsListDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"IssueCommentsList\",\n \"query\",\n variables,\n )\n },\n }\n}\nexport type Sdk = ReturnType<typeof getSdk>\n","import type { GraphQLClient, RequestOptions } from \"graphql-request\"\nimport type * as Types from \"./base-types.js\"\nimport { IssueCoreFieldsFragmentDoc } from \"./fragments/issue-core-fields.generated.js\"\nimport { PageInfoFieldsFragmentDoc } from \"./fragments/page-info-fields.generated.js\"\n\ntype GraphQLClientRequestHeaders = RequestOptions[\"requestHeaders\"]\nexport type IssueListQueryVariables = Types.Exact<{\n owner: Types.Scalars[\"String\"][\"input\"]\n name: Types.Scalars[\"String\"][\"input\"]\n first: Types.Scalars[\"Int\"][\"input\"]\n after?: Types.InputMaybe<Types.Scalars[\"String\"][\"input\"]>\n}>\n\nexport type IssueListQuery = {\n __typename?: \"Query\"\n repository?: {\n __typename?: \"Repository\"\n issues: {\n __typename?: \"IssueConnection\"\n nodes?: Array<{\n __typename?: \"Issue\"\n id: string\n number: number\n title: string\n state: Types.IssueState\n url: any\n } | null> | null\n pageInfo: { __typename?: \"PageInfo\"; endCursor?: string | null; hasNextPage: boolean }\n }\n } | null\n}\n\nexport const IssueListDocument = `\n query IssueList($owner: String!, $name: String!, $first: Int!, $after: String) {\n repository(owner: $owner, name: $name) {\n issues(\n first: $first\n after: $after\n orderBy: {field: CREATED_AT, direction: DESC}\n ) {\n nodes {\n ...IssueCoreFields\n }\n pageInfo {\n ...PageInfoFields\n }\n }\n }\n}\n ${IssueCoreFieldsFragmentDoc}\n${PageInfoFieldsFragmentDoc}`\n\nexport type SdkFunctionWrapper = <T>(\n action: (requestHeaders?: Record<string, string>) => Promise<T>,\n operationName: string,\n operationType?: string,\n variables?: any,\n) => Promise<T>\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) =>\n action()\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n IssueList(\n variables: IssueListQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<IssueListQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<IssueListQuery>({\n document: IssueListDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"IssueList\",\n \"query\",\n variables,\n )\n },\n }\n}\nexport type Sdk = ReturnType<typeof getSdk>\n","import type { GraphQLClient, RequestOptions } from \"graphql-request\"\nimport type * as Types from \"./base-types.js\"\nimport { IssueCoreFieldsFragmentDoc } from \"./fragments/issue-core-fields.generated.js\"\n\ntype GraphQLClientRequestHeaders = RequestOptions[\"requestHeaders\"]\nexport type IssueViewQueryVariables = Types.Exact<{\n owner: Types.Scalars[\"String\"][\"input\"]\n name: Types.Scalars[\"String\"][\"input\"]\n issueNumber: Types.Scalars[\"Int\"][\"input\"]\n}>\n\nexport type IssueViewQuery = {\n __typename?: \"Query\"\n repository?: {\n __typename?: \"Repository\"\n issue?: {\n __typename?: \"Issue\"\n body: string\n id: string\n number: number\n title: string\n state: Types.IssueState\n url: any\n labels?: {\n __typename?: \"LabelConnection\"\n nodes?: Array<{ __typename?: \"Label\"; name: string } | null> | null\n } | null\n } | null\n } | null\n}\n\nexport const IssueViewDocument = `\n query IssueView($owner: String!, $name: String!, $issueNumber: Int!) {\n repository(owner: $owner, name: $name) {\n issue(number: $issueNumber) {\n ...IssueCoreFields\n body\n labels(first: 20) {\n nodes {\n name\n }\n }\n }\n }\n}\n ${IssueCoreFieldsFragmentDoc}`\n\nexport type SdkFunctionWrapper = <T>(\n action: (requestHeaders?: Record<string, string>) => Promise<T>,\n operationName: string,\n operationType?: string,\n variables?: any,\n) => Promise<T>\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) =>\n action()\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n IssueView(\n variables: IssueViewQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<IssueViewQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<IssueViewQuery>({\n document: IssueViewDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"IssueView\",\n \"query\",\n variables,\n )\n },\n }\n}\nexport type Sdk = ReturnType<typeof getSdk>\n"],"mappings":";;;;;;;;AAyCO,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAqBnC,yBAAyB;AAS/B,IAAM,iBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAClF,OAAO;AAEF,SAAS,OAAO,QAAuB,cAAkC,gBAAgB;AAC9F,SAAO;AAAA,IACL,kBACE,WACA,gBACA,QACiC;AACjC,aAAO;AAAA,QACL,CAAC,0BACC,OAAO,QAAgC;AAAA,UACrC,UAAU;AAAA,UACV;AAAA,UACA,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,sBAAsB;AAAA,UAC9D;AAAA,QACF,CAAC;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AC/DO,IAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAiB3B,0BAA0B;AAAA,EAC9B,yBAAyB;AAS3B,IAAMA,kBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAClF,OAAO;AAEF,SAASC,QAAO,QAAuB,cAAkCD,iBAAgB;AAC9F,SAAO;AAAA,IACL,UACE,WACA,gBACA,QACyB;AACzB,aAAO;AAAA,QACL,CAAC,0BACC,OAAO,QAAwB;AAAA,UAC7B,UAAU;AAAA,UACV;AAAA,UACA,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,sBAAsB;AAAA,UAC9D;AAAA,QACF,CAAC;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACpDO,IAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAc3B,0BAA0B;AAShC,IAAME,kBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAClF,OAAO;AAEF,SAASC,QAAO,QAAuB,cAAkCD,iBAAgB;AAC9F,SAAO;AAAA,IACL,UACE,WACA,gBACA,QACyB;AACzB,aAAO;AAAA,QACL,CAAC,0BACC,OAAO,QAAwB;AAAA,UAC7B,UAAU;AAAA,UACV;AAAA,UACA,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,sBAAsB;AAAA,UAC9D;AAAA,QACF,CAAC;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":["defaultWrapper","getSdk","defaultWrapper","getSdk"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// src/gql/operations/issue-create-repository-id.generated.ts
|
|
2
|
+
var IssueCreateRepositoryIdDocument = `
|
|
3
|
+
query IssueCreateRepositoryId($owner: String!, $name: String!) {
|
|
4
|
+
repository(owner: $owner, name: $name) {
|
|
5
|
+
id
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
`;
|
|
9
|
+
var defaultWrapper = (action, _operationName, _operationType, _variables) => action();
|
|
10
|
+
function getSdk(client, withWrapper = defaultWrapper) {
|
|
11
|
+
return {
|
|
12
|
+
IssueCreateRepositoryId(variables, requestHeaders, signal) {
|
|
13
|
+
return withWrapper(
|
|
14
|
+
(wrappedRequestHeaders) => client.request({
|
|
15
|
+
document: IssueCreateRepositoryIdDocument,
|
|
16
|
+
variables,
|
|
17
|
+
requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },
|
|
18
|
+
signal
|
|
19
|
+
}),
|
|
20
|
+
"IssueCreateRepositoryId",
|
|
21
|
+
"query",
|
|
22
|
+
variables
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export {
|
|
29
|
+
IssueCreateRepositoryIdDocument,
|
|
30
|
+
getSdk
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=chunk-ZGBVX2VG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/gql/operations/issue-create-repository-id.generated.ts"],"sourcesContent":["import type { GraphQLClient, RequestOptions } from \"graphql-request\"\nimport type * as Types from \"./base-types.js\"\n\ntype GraphQLClientRequestHeaders = RequestOptions[\"requestHeaders\"]\nexport type IssueCreateRepositoryIdQueryVariables = Types.Exact<{\n owner: Types.Scalars[\"String\"][\"input\"]\n name: Types.Scalars[\"String\"][\"input\"]\n}>\n\nexport type IssueCreateRepositoryIdQuery = {\n __typename?: \"Query\"\n repository?: { __typename?: \"Repository\"; id: string } | null\n}\n\nexport const IssueCreateRepositoryIdDocument = `\n query IssueCreateRepositoryId($owner: String!, $name: String!) {\n repository(owner: $owner, name: $name) {\n id\n }\n}\n `\n\nexport type SdkFunctionWrapper = <T>(\n action: (requestHeaders?: Record<string, string>) => Promise<T>,\n operationName: string,\n operationType?: string,\n variables?: any,\n) => Promise<T>\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) =>\n action()\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n IssueCreateRepositoryId(\n variables: IssueCreateRepositoryIdQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<IssueCreateRepositoryIdQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<IssueCreateRepositoryIdQuery>({\n document: IssueCreateRepositoryIdDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"IssueCreateRepositoryId\",\n \"query\",\n variables,\n )\n },\n }\n}\nexport type Sdk = ReturnType<typeof getSdk>\n"],"mappings":";AAcO,IAAM,kCAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAe/C,IAAM,iBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAClF,OAAO;AAEF,SAAS,OAAO,QAAuB,cAAkC,gBAAgB;AAC9F,SAAO;AAAA,IACL,wBACE,WACA,gBACA,QACuC;AACvC,aAAO;AAAA,QACL,CAAC,0BACC,OAAO,QAAsC;AAAA,UAC3C,UAAU;AAAA,UACV;AAAA,UACA,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,sBAAsB;AAAA,UAC9D;AAAA,QACF,CAAC;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
package/dist/cli/index.js
CHANGED
|
@@ -8,10 +8,18 @@ import {
|
|
|
8
8
|
explainCapability,
|
|
9
9
|
extractArrayItemHints,
|
|
10
10
|
listCapabilities
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-
|
|
11
|
+
} from "../chunk-M5PJLKL5.js";
|
|
12
|
+
import "../chunk-H7CLZHRO.js";
|
|
13
|
+
import "../chunk-NQ53ETYV.js";
|
|
14
|
+
import "../chunk-TGL33GEA.js";
|
|
15
|
+
import "../chunk-Q2NW7DJE.js";
|
|
13
16
|
import "../chunk-3DU2WHXF.js";
|
|
14
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-QRHKAMRY.js";
|
|
18
|
+
import "../chunk-TPQYVCAS.js";
|
|
19
|
+
import "../chunk-7HUKYNI2.js";
|
|
20
|
+
import "../chunk-ZGBVX2VG.js";
|
|
21
|
+
import "../chunk-GQO6BHJV.js";
|
|
22
|
+
import "../chunk-R3CBGJZX.js";
|
|
15
23
|
import {
|
|
16
24
|
resolveGraphqlUrl
|
|
17
25
|
} from "../chunk-HEHONZTO.js";
|
|
@@ -59,11 +67,25 @@ function parseArgs2(argv) {
|
|
|
59
67
|
const domainIndex = argv.indexOf("--domain");
|
|
60
68
|
return {
|
|
61
69
|
asJson: argv.includes("--json"),
|
|
70
|
+
asCompact: argv.includes("--compact"),
|
|
62
71
|
domain: domainIndex !== -1 ? argv[domainIndex + 1] : void 0
|
|
63
72
|
};
|
|
64
73
|
}
|
|
74
|
+
function formatCompact(capabilities) {
|
|
75
|
+
const ids = new Set(capabilities.map((c) => c.capability_id));
|
|
76
|
+
const lines = capabilities.map((item) => {
|
|
77
|
+
const req = item.required_inputs.join(",");
|
|
78
|
+
const opt = item.optional_inputs.map((o) => `${o}?`).join(",");
|
|
79
|
+
const inputs = [req, opt].filter(Boolean).join(",");
|
|
80
|
+
const sig = `${item.capability_id}(${inputs})`;
|
|
81
|
+
const addSibling = item.capability_id.replace(/\.set$/, ".add");
|
|
82
|
+
const needsWarning = item.capability_id.endsWith(".set") && ids.has(addSibling);
|
|
83
|
+
return needsWarning ? `${sig} [replaces all]` : sig;
|
|
84
|
+
});
|
|
85
|
+
return lines.join("\n") + "\n";
|
|
86
|
+
}
|
|
65
87
|
async function capabilitiesListCommand(argv = []) {
|
|
66
|
-
const { asJson, domain } = parseArgs2(argv);
|
|
88
|
+
const { asJson, asCompact, domain } = parseArgs2(argv);
|
|
67
89
|
const capabilities = listCapabilities(domain);
|
|
68
90
|
if (capabilities.length === 0) {
|
|
69
91
|
process.stderr.write(
|
|
@@ -72,6 +94,10 @@ async function capabilitiesListCommand(argv = []) {
|
|
|
72
94
|
);
|
|
73
95
|
return 1;
|
|
74
96
|
}
|
|
97
|
+
if (asCompact) {
|
|
98
|
+
process.stdout.write(formatCompact(capabilities));
|
|
99
|
+
return 0;
|
|
100
|
+
}
|
|
75
101
|
if (asJson) {
|
|
76
102
|
process.stdout.write(`${JSON.stringify(capabilities)}
|
|
77
103
|
`);
|
|
@@ -96,26 +122,62 @@ async function capabilitiesListCommand(argv = []) {
|
|
|
96
122
|
return 0;
|
|
97
123
|
}
|
|
98
124
|
|
|
125
|
+
// src/cli/formatters/compact.ts
|
|
126
|
+
function compactRunResult(envelope) {
|
|
127
|
+
if (envelope.ok) {
|
|
128
|
+
return envelope.meta.pagination !== void 0 ? { ok: true, data: envelope.data, pagination: envelope.meta.pagination } : { ok: true, data: envelope.data };
|
|
129
|
+
}
|
|
130
|
+
const err = envelope.error;
|
|
131
|
+
return {
|
|
132
|
+
ok: false,
|
|
133
|
+
error: {
|
|
134
|
+
code: err?.code ?? "UNKNOWN",
|
|
135
|
+
message: err?.message ?? ""
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
function compactChainResult(envelope) {
|
|
140
|
+
return {
|
|
141
|
+
status: envelope.status,
|
|
142
|
+
results: envelope.results.map((step) => {
|
|
143
|
+
if (step.ok) {
|
|
144
|
+
return { task: step.task, ok: true };
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
task: step.task,
|
|
148
|
+
ok: false,
|
|
149
|
+
error: {
|
|
150
|
+
code: step.error?.code ?? "UNKNOWN",
|
|
151
|
+
message: step.error?.message ?? ""
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
})
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
|
|
99
158
|
// src/cli/commands/run.ts
|
|
100
159
|
var GITHUB_GRAPHQL_ENDPOINT = "https://api.github.com/graphql";
|
|
101
160
|
function parseRunFlags(argv) {
|
|
102
161
|
const [task, ...rest] = argv;
|
|
103
162
|
if (!task || task.trim().length === 0) {
|
|
104
|
-
throw new Error(
|
|
163
|
+
throw new Error(
|
|
164
|
+
"Usage: ghx run <task> --input '<json>' | --input - [--check-gh-preflight] [--verbose]"
|
|
165
|
+
);
|
|
105
166
|
}
|
|
106
167
|
const inputIndex = rest.findIndex((arg) => arg === "--input");
|
|
107
168
|
const inlineInput = rest.find((arg) => arg.startsWith("--input="));
|
|
108
169
|
const inputCandidate = inputIndex >= 0 ? rest[inputIndex + 1] : void 0;
|
|
170
|
+
const verbose = rest.includes("--verbose");
|
|
109
171
|
if (inputCandidate === "-") {
|
|
110
172
|
const skipGhPreflight2 = !rest.includes("--check-gh-preflight");
|
|
111
|
-
return { task, inputSource: "stdin", skipGhPreflight: skipGhPreflight2 };
|
|
173
|
+
return { task, inputSource: "stdin", skipGhPreflight: skipGhPreflight2, verbose };
|
|
112
174
|
}
|
|
113
175
|
const inputRaw = inputCandidate && !inputCandidate.startsWith("--") ? inputCandidate : inlineInput ? inlineInput.slice("--input=".length) : void 0;
|
|
114
176
|
if (!inputRaw) {
|
|
115
177
|
throw new Error("Missing --input JSON");
|
|
116
178
|
}
|
|
117
179
|
const skipGhPreflight = !rest.includes("--check-gh-preflight");
|
|
118
|
-
return { task, inputSource: { raw: inputRaw }, skipGhPreflight };
|
|
180
|
+
return { task, inputSource: { raw: inputRaw }, skipGhPreflight, verbose };
|
|
119
181
|
}
|
|
120
182
|
function parseJsonInput(raw) {
|
|
121
183
|
let parsed;
|
|
@@ -188,7 +250,7 @@ async function runCommand(argv = []) {
|
|
|
188
250
|
);
|
|
189
251
|
return 1;
|
|
190
252
|
}
|
|
191
|
-
const { task, inputSource, skipGhPreflight } = parseRunFlags(argv);
|
|
253
|
+
const { task, inputSource, skipGhPreflight, verbose } = parseRunFlags(argv);
|
|
192
254
|
const input = inputSource === "stdin" ? parseJsonInput(await readStdin()) : parseJsonInput(inputSource.raw);
|
|
193
255
|
const githubToken = resolveGithubToken();
|
|
194
256
|
const githubClient = createGithubClient({
|
|
@@ -205,7 +267,8 @@ async function runCommand(argv = []) {
|
|
|
205
267
|
githubToken,
|
|
206
268
|
skipGhPreflight
|
|
207
269
|
});
|
|
208
|
-
|
|
270
|
+
const output = verbose ? result : compactRunResult(result);
|
|
271
|
+
process.stdout.write(`${JSON.stringify(output, null, verbose ? 2 : void 0)}
|
|
209
272
|
`);
|
|
210
273
|
return 0;
|
|
211
274
|
}
|
|
@@ -216,16 +279,17 @@ function parseChainFlags(argv) {
|
|
|
216
279
|
const stepsIndex = argv.findIndex((arg) => arg === "--steps");
|
|
217
280
|
const inlineSteps = argv.find((arg) => arg.startsWith("--steps="));
|
|
218
281
|
const stepsCandidate = stepsIndex >= 0 ? argv[stepsIndex + 1] : void 0;
|
|
282
|
+
const verbose = argv.includes("--verbose");
|
|
219
283
|
if (stepsCandidate === "-") {
|
|
220
284
|
const skipGhPreflight2 = !argv.includes("--check-gh-preflight");
|
|
221
|
-
return { stepsSource: "stdin", skipGhPreflight: skipGhPreflight2 };
|
|
285
|
+
return { stepsSource: "stdin", skipGhPreflight: skipGhPreflight2, verbose };
|
|
222
286
|
}
|
|
223
287
|
const stepsRaw = stepsCandidate && !stepsCandidate.startsWith("--") ? stepsCandidate : inlineSteps ? inlineSteps.slice("--steps=".length) : void 0;
|
|
224
288
|
if (!stepsRaw) {
|
|
225
289
|
throw new Error("Missing --steps JSON");
|
|
226
290
|
}
|
|
227
291
|
const skipGhPreflight = !argv.includes("--check-gh-preflight");
|
|
228
|
-
return { stepsSource: { raw: stepsRaw }, skipGhPreflight };
|
|
292
|
+
return { stepsSource: { raw: stepsRaw }, skipGhPreflight, verbose };
|
|
229
293
|
}
|
|
230
294
|
function parseJsonSteps(raw) {
|
|
231
295
|
let parsed;
|
|
@@ -296,12 +360,12 @@ async function executeRawGraphqlRequest(token, query, variables) {
|
|
|
296
360
|
async function chainCommand(argv = []) {
|
|
297
361
|
if (argv.length === 0) {
|
|
298
362
|
process.stdout.write(
|
|
299
|
-
"Usage: ghx chain --steps '<json-array>' | --steps - [--check-gh-preflight]\n"
|
|
363
|
+
"Usage: ghx chain --steps '<json-array>' | --steps - [--check-gh-preflight] [--verbose]\n"
|
|
300
364
|
);
|
|
301
365
|
return 1;
|
|
302
366
|
}
|
|
303
367
|
try {
|
|
304
|
-
const { stepsSource, skipGhPreflight } = parseChainFlags(argv);
|
|
368
|
+
const { stepsSource, skipGhPreflight, verbose } = parseChainFlags(argv);
|
|
305
369
|
const steps = stepsSource === "stdin" ? parseJsonSteps(await readStdin()) : parseJsonSteps(stepsSource.raw);
|
|
306
370
|
const githubToken = resolveGithubToken2();
|
|
307
371
|
const githubClient = createGithubClient({
|
|
@@ -319,7 +383,8 @@ async function chainCommand(argv = []) {
|
|
|
319
383
|
skipGhPreflight,
|
|
320
384
|
resolutionCache
|
|
321
385
|
});
|
|
322
|
-
|
|
386
|
+
const output = verbose ? result : compactChainResult(result);
|
|
387
|
+
process.stdout.write(`${JSON.stringify(output, null, verbose ? 2 : void 0)}
|
|
323
388
|
`);
|
|
324
389
|
return result.status === "success" || result.status === "partial" ? 0 : 1;
|
|
325
390
|
} catch (err) {
|