@ghx-dev/core 0.1.1 → 0.2.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/.claude-plugin/plugin.json +21 -0
- package/README.md +17 -20
- package/dist/cards/issue.assignees.add.yaml +50 -0
- package/dist/cards/issue.assignees.remove.yaml +50 -0
- package/dist/cards/issue.assignees.set.yaml +47 -0
- package/dist/cards/issue.close.yaml +16 -2
- package/dist/cards/issue.comments.create.yaml +16 -2
- package/dist/cards/issue.create.yaml +11 -0
- package/dist/cards/issue.delete.yaml +16 -2
- package/dist/cards/issue.labels.add.yaml +48 -0
- package/dist/cards/issue.labels.remove.yaml +50 -0
- package/dist/cards/issue.labels.set.yaml +47 -0
- package/dist/cards/issue.milestone.clear.yaml +40 -0
- package/dist/cards/issue.milestone.set.yaml +23 -4
- package/dist/{core/registry/cards/issue.blocked_by.add.yaml → cards/issue.relations.blocked_by.add.yaml} +3 -2
- package/dist/cards/{issue.blocked_by.remove.yaml → issue.relations.blocked_by.remove.yaml} +1 -1
- package/dist/cards/{issue.parent.remove.yaml → issue.relations.parent.remove.yaml} +11 -1
- package/dist/{core/registry/cards/issue.parent.set.yaml → cards/issue.relations.parent.set.yaml} +3 -2
- package/dist/{core/registry/cards/issue.linked_prs.list.yaml → cards/issue.relations.prs.list.yaml} +1 -1
- package/dist/cards/{issue.relations.get.yaml → issue.relations.view.yaml} +1 -1
- package/dist/cards/issue.reopen.yaml +16 -2
- package/dist/cards/issue.update.yaml +16 -2
- package/dist/cards/issue.view.yaml +7 -5
- package/dist/cards/{pr.review.submit_approve.yaml → pr.assignees.add.yaml} +12 -9
- package/dist/cards/pr.assignees.remove.yaml +29 -0
- package/dist/{core/registry/cards/pr.status.checks.yaml → cards/pr.checks.list.yaml} +15 -2
- package/dist/{core/registry/cards/pr.checks.rerun_all.yaml → cards/pr.checks.rerun.all.yaml} +2 -4
- package/dist/{core/registry/cards/pr.checks.rerun_failed.yaml → cards/pr.checks.rerun.failed.yaml} +3 -5
- package/dist/cards/pr.create.yaml +30 -0
- package/dist/cards/{pr.diff.list_files.yaml → pr.diff.files.yaml} +1 -1
- package/dist/cards/{pr.ready_for_review.set.yaml → pr.diff.view.yaml} +6 -8
- package/dist/{core/registry/cards/pr.mergeability.view.yaml → cards/pr.merge.status.yaml} +6 -3
- package/dist/{core/registry/cards/pr.merge.execute.yaml → cards/pr.merge.yaml} +1 -1
- package/dist/cards/pr.reviews.list.yaml +1 -1
- package/dist/cards/{pr.reviewers.request.yaml → pr.reviews.request.yaml} +1 -1
- package/dist/cards/pr.reviews.submit.yaml +67 -0
- package/dist/cards/{pr.comments.list.yaml → pr.threads.list.yaml} +2 -2
- package/dist/cards/{pr.comment.reply.yaml → pr.threads.reply.yaml} +4 -2
- package/dist/cards/{pr.comment.resolve.yaml → pr.threads.resolve.yaml} +1 -1
- package/dist/cards/{pr.comment.unresolve.yaml → pr.threads.unresolve.yaml} +1 -1
- package/dist/cards/pr.update.yaml +29 -0
- package/dist/cards/pr.view.yaml +7 -5
- package/dist/cards/project_v2.fields.list.yaml +2 -2
- package/dist/{core/registry/cards/project_v2.item.field.update.yaml → cards/project_v2.items.field.update.yaml} +3 -3
- package/dist/{core/registry/cards/project_v2.item.add_issue.yaml → cards/project_v2.items.issue.add.yaml} +3 -3
- package/dist/cards/project_v2.items.issue.remove.yaml +23 -0
- package/dist/cards/project_v2.items.list.yaml +2 -2
- package/dist/{core/registry/cards/project_v2.org.get.yaml → cards/project_v2.org.view.yaml} +3 -3
- package/dist/cards/{project_v2.user.get.yaml → project_v2.user.view.yaml} +3 -3
- package/dist/{core/registry/cards/release.create_draft.yaml → cards/release.create.yaml} +1 -1
- package/dist/cards/{release.publish_draft.yaml → release.publish.yaml} +1 -1
- package/dist/{core/registry/cards/release.get.yaml → cards/release.view.yaml} +1 -1
- package/dist/cards/repo.issue_types.list.yaml +2 -2
- package/dist/cards/repo.view.yaml +2 -4
- package/dist/cards/{workflow_dispatch.run.yaml → workflow.dispatch.yaml} +1 -1
- package/dist/{core/registry/cards/workflow_job.logs.get.yaml → cards/workflow.job.logs.raw.yaml} +2 -2
- package/dist/{core/registry/cards/workflow_job.logs.analyze.yaml → cards/workflow.job.logs.view.yaml} +1 -1
- package/dist/{core/registry/cards/workflow_run.artifacts.list.yaml → cards/workflow.run.artifacts.list.yaml} +1 -1
- package/dist/cards/{workflow_run.cancel.yaml → workflow.run.cancel.yaml} +1 -1
- package/dist/cards/{workflow_run.rerun_all.yaml → workflow.run.rerun.all.yaml} +3 -3
- package/dist/{core/registry/cards/workflow_run.rerun_failed.yaml → cards/workflow.run.rerun.failed.yaml} +3 -3
- package/dist/{core/registry/cards/workflow_run.get.yaml → cards/workflow.run.view.yaml} +19 -4
- package/dist/cards/{workflow_runs.list.yaml → workflow.runs.list.yaml} +1 -1
- package/dist/cards/{workflow.get.yaml → workflow.view.yaml} +2 -2
- package/dist/chunk-3DU2WHXF.js +15 -0
- package/dist/chunk-3DU2WHXF.js.map +1 -0
- package/dist/chunk-3P3KHWFU.js +5779 -0
- package/dist/chunk-3P3KHWFU.js.map +1 -0
- package/dist/chunk-BIWBJA2F.js +228 -0
- package/dist/chunk-BIWBJA2F.js.map +1 -0
- package/dist/chunk-HEHONZTO.js +121 -0
- package/dist/chunk-HEHONZTO.js.map +1 -0
- package/dist/chunk-Q7RCIK2C.js +773 -0
- package/dist/chunk-Q7RCIK2C.js.map +1 -0
- package/dist/chunk-R3CBGJZX.js +12 -0
- package/dist/chunk-R3CBGJZX.js.map +1 -0
- package/dist/chunk-TDABI6C7.js +167 -0
- package/dist/chunk-TDABI6C7.js.map +1 -0
- package/dist/chunk-TPQYVCAS.js +15 -0
- package/dist/chunk-TPQYVCAS.js.map +1 -0
- package/dist/cli/index.js +202 -21
- package/dist/cli/index.js.map +1 -1
- package/dist/core/registry/cards/issue.assignees.add.yaml +50 -0
- package/dist/core/registry/cards/issue.assignees.remove.yaml +50 -0
- package/dist/core/registry/cards/issue.assignees.set.yaml +47 -0
- package/dist/core/registry/cards/issue.close.yaml +16 -2
- package/dist/core/registry/cards/issue.comments.create.yaml +16 -2
- package/dist/core/registry/cards/issue.create.yaml +11 -0
- package/dist/core/registry/cards/issue.delete.yaml +16 -2
- package/dist/core/registry/cards/issue.labels.add.yaml +48 -0
- package/dist/core/registry/cards/issue.labels.remove.yaml +50 -0
- package/dist/core/registry/cards/issue.labels.set.yaml +47 -0
- package/dist/core/registry/cards/issue.milestone.clear.yaml +40 -0
- package/dist/core/registry/cards/issue.milestone.set.yaml +23 -4
- package/dist/{cards/issue.blocked_by.add.yaml → core/registry/cards/issue.relations.blocked_by.add.yaml} +3 -2
- package/dist/core/registry/cards/{issue.blocked_by.remove.yaml → issue.relations.blocked_by.remove.yaml} +1 -1
- package/dist/core/registry/cards/{issue.parent.remove.yaml → issue.relations.parent.remove.yaml} +11 -1
- package/dist/{cards/issue.parent.set.yaml → core/registry/cards/issue.relations.parent.set.yaml} +3 -2
- package/dist/{cards/issue.linked_prs.list.yaml → core/registry/cards/issue.relations.prs.list.yaml} +1 -1
- package/dist/core/registry/cards/{issue.relations.get.yaml → issue.relations.view.yaml} +1 -1
- package/dist/core/registry/cards/issue.reopen.yaml +16 -2
- package/dist/core/registry/cards/issue.update.yaml +16 -2
- package/dist/core/registry/cards/issue.view.yaml +7 -5
- package/dist/core/registry/cards/pr.assignees.add.yaml +29 -0
- package/dist/core/registry/cards/pr.assignees.remove.yaml +29 -0
- package/dist/{cards/pr.status.checks.yaml → core/registry/cards/pr.checks.list.yaml} +15 -2
- package/dist/{cards/pr.checks.rerun_all.yaml → core/registry/cards/pr.checks.rerun.all.yaml} +2 -4
- package/dist/{cards/pr.checks.rerun_failed.yaml → core/registry/cards/pr.checks.rerun.failed.yaml} +3 -5
- package/dist/core/registry/cards/pr.create.yaml +30 -0
- package/dist/core/registry/cards/{pr.diff.list_files.yaml → pr.diff.files.yaml} +1 -1
- package/dist/core/registry/cards/{pr.ready_for_review.set.yaml → pr.diff.view.yaml} +6 -8
- package/dist/{cards/pr.mergeability.view.yaml → core/registry/cards/pr.merge.status.yaml} +6 -3
- package/dist/{cards/pr.merge.execute.yaml → core/registry/cards/pr.merge.yaml} +1 -1
- package/dist/core/registry/cards/pr.reviews.list.yaml +1 -1
- package/dist/core/registry/cards/{pr.reviewers.request.yaml → pr.reviews.request.yaml} +1 -1
- package/dist/core/registry/cards/pr.reviews.submit.yaml +67 -0
- package/dist/core/registry/cards/{pr.comments.list.yaml → pr.threads.list.yaml} +2 -2
- package/dist/core/registry/cards/{pr.comment.reply.yaml → pr.threads.reply.yaml} +4 -2
- package/dist/core/registry/cards/{pr.comment.resolve.yaml → pr.threads.resolve.yaml} +1 -1
- package/dist/core/registry/cards/{pr.comment.unresolve.yaml → pr.threads.unresolve.yaml} +1 -1
- package/dist/core/registry/cards/pr.update.yaml +29 -0
- package/dist/core/registry/cards/pr.view.yaml +7 -5
- package/dist/core/registry/cards/project_v2.fields.list.yaml +2 -2
- package/dist/{cards/project_v2.item.field.update.yaml → core/registry/cards/project_v2.items.field.update.yaml} +3 -3
- package/dist/{cards/project_v2.item.add_issue.yaml → core/registry/cards/project_v2.items.issue.add.yaml} +3 -3
- package/dist/core/registry/cards/project_v2.items.issue.remove.yaml +23 -0
- package/dist/core/registry/cards/project_v2.items.list.yaml +2 -2
- package/dist/{cards/project_v2.org.get.yaml → core/registry/cards/project_v2.org.view.yaml} +3 -3
- package/dist/core/registry/cards/{project_v2.user.get.yaml → project_v2.user.view.yaml} +3 -3
- package/dist/{cards/release.create_draft.yaml → core/registry/cards/release.create.yaml} +1 -1
- package/dist/core/registry/cards/{release.publish_draft.yaml → release.publish.yaml} +1 -1
- package/dist/{cards/release.get.yaml → core/registry/cards/release.view.yaml} +1 -1
- package/dist/core/registry/cards/repo.issue_types.list.yaml +2 -2
- package/dist/core/registry/cards/repo.view.yaml +2 -4
- package/dist/core/registry/cards/{workflow_dispatch.run.yaml → workflow.dispatch.yaml} +1 -1
- package/dist/{cards/workflow_job.logs.get.yaml → core/registry/cards/workflow.job.logs.raw.yaml} +2 -2
- package/dist/{cards/workflow_job.logs.analyze.yaml → core/registry/cards/workflow.job.logs.view.yaml} +1 -1
- package/dist/{cards/workflow_run.artifacts.list.yaml → core/registry/cards/workflow.run.artifacts.list.yaml} +1 -1
- package/dist/core/registry/cards/{workflow_run.cancel.yaml → workflow.run.cancel.yaml} +1 -1
- package/dist/core/registry/cards/{workflow_run.rerun_all.yaml → workflow.run.rerun.all.yaml} +3 -3
- package/dist/{cards/workflow_run.rerun_failed.yaml → core/registry/cards/workflow.run.rerun.failed.yaml} +3 -3
- package/dist/{cards/workflow_run.get.yaml → core/registry/cards/workflow.run.view.yaml} +19 -4
- package/dist/core/registry/cards/{workflow_runs.list.yaml → workflow.runs.list.yaml} +1 -1
- package/dist/core/registry/cards/{workflow.get.yaml → workflow.view.yaml} +2 -2
- package/dist/index.d.ts +374 -35
- package/dist/index.js +33 -5
- package/dist/index.js.map +1 -1
- package/dist/issue-mutations-FJNZW7L5.js +668 -0
- package/dist/issue-mutations-FJNZW7L5.js.map +1 -0
- package/dist/issue-queries-GRA4MKPD.js +208 -0
- package/dist/issue-queries-GRA4MKPD.js.map +1 -0
- package/dist/pr-mutations-UG67YOF5.js +344 -0
- package/dist/pr-mutations-UG67YOF5.js.map +1 -0
- package/dist/pr-queries-UOEOXIJQ.js +331 -0
- package/dist/pr-queries-UOEOXIJQ.js.map +1 -0
- package/dist/repo-JDUHFPZF.js +66 -0
- package/dist/repo-JDUHFPZF.js.map +1 -0
- package/package.json +18 -18
- package/skills/using-ghx/SKILL.md +61 -0
- package/dist/agent.d.ts +0 -32
- package/dist/agent.js +0 -38
- package/dist/agent.js.map +0 -1
- package/dist/cards/check_run.annotations.list.yaml +0 -35
- package/dist/cards/issue.assignees.update.yaml +0 -27
- package/dist/cards/issue.labels.update.yaml +0 -27
- package/dist/cards/pr.assignees.update.yaml +0 -38
- package/dist/cards/pr.checks.get_failed.yaml +0 -42
- package/dist/cards/pr.review.submit_comment.yaml +0 -26
- package/dist/cards/pr.review.submit_request_changes.yaml +0 -26
- package/dist/cards/workflow_run.jobs.list.yaml +0 -35
- package/dist/chunk-OL4ARD3R.js +0 -242
- package/dist/chunk-OL4ARD3R.js.map +0 -1
- package/dist/chunk-PJ2JKKQE.js +0 -4148
- package/dist/chunk-PJ2JKKQE.js.map +0 -1
- package/dist/chunk-SCIJMW5P.js +0 -54
- package/dist/chunk-SCIJMW5P.js.map +0 -1
- package/dist/cli/assets/skills/ghx/SKILL.md +0 -57
- package/dist/core/registry/cards/check_run.annotations.list.yaml +0 -35
- package/dist/core/registry/cards/issue.assignees.update.yaml +0 -27
- package/dist/core/registry/cards/issue.labels.update.yaml +0 -27
- package/dist/core/registry/cards/pr.assignees.update.yaml +0 -38
- package/dist/core/registry/cards/pr.checks.get_failed.yaml +0 -42
- package/dist/core/registry/cards/pr.review.submit_approve.yaml +0 -26
- package/dist/core/registry/cards/pr.review.submit_comment.yaml +0 -26
- package/dist/core/registry/cards/pr.review.submit_request_changes.yaml +0 -26
- package/dist/core/registry/cards/workflow_run.jobs.list.yaml +0 -35
- package/dist/envelope-BpF6MNCv.d.ts +0 -55
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/gql/operations/issue-linked-prs-list.generated.ts","../src/gql/operations/issue-relations-get.generated.ts","../src/gql/domains/issue-mutations.ts"],"sourcesContent":["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 IssueLinkedPrsListQueryVariables = Types.Exact<{\n owner: Types.Scalars[\"String\"][\"input\"]\n name: Types.Scalars[\"String\"][\"input\"]\n issueNumber: Types.Scalars[\"Int\"][\"input\"]\n}>\n\nexport type IssueLinkedPrsListQuery = {\n __typename?: \"Query\"\n repository?: {\n __typename?: \"Repository\"\n issue?: {\n __typename?: \"Issue\"\n timelineItems: {\n __typename?: \"IssueTimelineItemsConnection\"\n nodes?: Array<\n | { __typename: \"AddedToProjectEvent\" }\n | { __typename: \"AddedToProjectV2Event\" }\n | { __typename: \"AssignedEvent\" }\n | { __typename: \"BlockedByAddedEvent\" }\n | { __typename: \"BlockedByRemovedEvent\" }\n | { __typename: \"BlockingAddedEvent\" }\n | { __typename: \"BlockingRemovedEvent\" }\n | { __typename: \"ClosedEvent\" }\n | { __typename: \"CommentDeletedEvent\" }\n | {\n __typename: \"ConnectedEvent\"\n subject:\n | { __typename: \"Issue\" }\n | {\n __typename: \"PullRequest\"\n id: string\n number: number\n title: string\n state: Types.PullRequestState\n url: any\n }\n }\n | { __typename: \"ConvertedFromDraftEvent\" }\n | { __typename: \"ConvertedNoteToIssueEvent\" }\n | { __typename: \"ConvertedToDiscussionEvent\" }\n | { __typename: \"CrossReferencedEvent\" }\n | { __typename: \"DemilestonedEvent\" }\n | { __typename: \"DisconnectedEvent\" }\n | { __typename: \"IssueComment\" }\n | { __typename: \"IssueTypeAddedEvent\" }\n | { __typename: \"IssueTypeChangedEvent\" }\n | { __typename: \"IssueTypeRemovedEvent\" }\n | { __typename: \"LabeledEvent\" }\n | { __typename: \"LockedEvent\" }\n | { __typename: \"MarkedAsDuplicateEvent\" }\n | { __typename: \"MentionedEvent\" }\n | { __typename: \"MilestonedEvent\" }\n | { __typename: \"MovedColumnsInProjectEvent\" }\n | { __typename: \"ParentIssueAddedEvent\" }\n | { __typename: \"ParentIssueRemovedEvent\" }\n | { __typename: \"PinnedEvent\" }\n | { __typename: \"ProjectV2ItemStatusChangedEvent\" }\n | { __typename: \"ReferencedEvent\" }\n | { __typename: \"RemovedFromProjectEvent\" }\n | { __typename: \"RemovedFromProjectV2Event\" }\n | { __typename: \"RenamedTitleEvent\" }\n | { __typename: \"ReopenedEvent\" }\n | { __typename: \"SubIssueAddedEvent\" }\n | { __typename: \"SubIssueRemovedEvent\" }\n | { __typename: \"SubscribedEvent\" }\n | { __typename: \"TransferredEvent\" }\n | { __typename: \"UnassignedEvent\" }\n | { __typename: \"UnlabeledEvent\" }\n | { __typename: \"UnlockedEvent\" }\n | { __typename: \"UnmarkedAsDuplicateEvent\" }\n | { __typename: \"UnpinnedEvent\" }\n | { __typename: \"UnsubscribedEvent\" }\n | { __typename: \"UserBlockedEvent\" }\n | null\n > | null\n }\n } | null\n } | null\n}\n\nexport const IssueLinkedPrsListDocument = `\n query IssueLinkedPrsList($owner: String!, $name: String!, $issueNumber: Int!) {\n repository(owner: $owner, name: $name) {\n issue(number: $issueNumber) {\n timelineItems(first: 50, itemTypes: [CONNECTED_EVENT]) {\n nodes {\n __typename\n ... on ConnectedEvent {\n subject {\n __typename\n ... on PullRequest {\n ...PrCoreFields\n }\n }\n }\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 IssueLinkedPrsList(\n variables: IssueLinkedPrsListQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<IssueLinkedPrsListQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<IssueLinkedPrsListQuery>({\n document: IssueLinkedPrsListDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"IssueLinkedPrsList\",\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 IssueRelationsGetQueryVariables = Types.Exact<{\n owner: Types.Scalars[\"String\"][\"input\"]\n name: Types.Scalars[\"String\"][\"input\"]\n issueNumber: Types.Scalars[\"Int\"][\"input\"]\n}>\n\nexport type IssueRelationsGetQuery = {\n __typename?: \"Query\"\n repository?: {\n __typename?: \"Repository\"\n issue?: {\n __typename?: \"Issue\"\n id: string\n number: number\n parent?: { __typename?: \"Issue\"; id: string; number: number } | null\n subIssues: {\n __typename?: \"IssueConnection\"\n nodes?: Array<{ __typename?: \"Issue\"; id: string; number: number } | null> | null\n }\n blockedBy: {\n __typename?: \"IssueConnection\"\n nodes?: Array<{ __typename?: \"Issue\"; id: string; number: number } | null> | null\n }\n } | null\n } | null\n}\n\nexport const IssueRelationsGetDocument = `\n query IssueRelationsGet($owner: String!, $name: String!, $issueNumber: Int!) {\n repository(owner: $owner, name: $name) {\n issue(number: $issueNumber) {\n id\n number\n parent {\n id\n number\n }\n subIssues(first: 50) {\n nodes {\n id\n number\n }\n }\n blockedBy(first: 50) {\n nodes {\n id\n number\n }\n }\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 IssueRelationsGet(\n variables: IssueRelationsGetQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<IssueRelationsGetQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<IssueRelationsGetQuery>({\n document: IssueRelationsGetDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"IssueRelationsGet\",\n \"query\",\n variables,\n )\n },\n }\n}\nexport type Sdk = ReturnType<typeof getSdk>\n","import {\n asRecord,\n assertIssueAssigneesAddInput,\n assertIssueAssigneesRemoveInput,\n assertIssueAssigneesUpdateInput,\n assertIssueBlockedByInput,\n assertIssueCommentCreateInput,\n assertIssueCreateInput,\n assertIssueLabelsAddInput,\n assertIssueLabelsUpdateInput,\n assertIssueLinkedPrsListInput,\n assertIssueMilestoneSetInput,\n assertIssueMutationInput,\n assertIssueParentRemoveInput,\n assertIssueParentSetInput,\n assertIssueRelationsGetInput,\n assertIssueUpdateInput,\n assertNonEmptyString,\n} from \"../assertions.js\"\nimport { getSdk as getIssueAssigneesAddSdk } from \"../operations/issue-assignees-add.generated.js\"\nimport { getSdk as getIssueAssigneesLookupByNumberSdk } from \"../operations/issue-assignees-lookup-by-number.generated.js\"\nimport { getSdk as getIssueAssigneesRemoveSdk } from \"../operations/issue-assignees-remove.generated.js\"\nimport { getSdk as getIssueAssigneesUpdateSdk } from \"../operations/issue-assignees-update.generated.js\"\nimport { getSdk as getIssueBlockedByAddSdk } from \"../operations/issue-blocked-by-add.generated.js\"\nimport { getSdk as getIssueBlockedByRemoveSdk } from \"../operations/issue-blocked-by-remove.generated.js\"\nimport { getSdk as getIssueCloseSdk } from \"../operations/issue-close.generated.js\"\nimport { getSdk as getIssueCommentCreateSdk } from \"../operations/issue-comment-create.generated.js\"\nimport { getSdk as getIssueCreateSdk } from \"../operations/issue-create.generated.js\"\nimport { getSdk as getIssueCreateRepositoryIdSdk } from \"../operations/issue-create-repository-id.generated.js\"\nimport { getSdk as getIssueDeleteSdk } from \"../operations/issue-delete.generated.js\"\nimport { getSdk as getIssueLabelsAddSdk } from \"../operations/issue-labels-add.generated.js\"\nimport { getSdk as getIssueLabelsLookupByNumberSdk } from \"../operations/issue-labels-lookup-by-number.generated.js\"\nimport { getSdk as getIssueLabelsUpdateSdk } from \"../operations/issue-labels-update.generated.js\"\nimport { getSdk as getIssueLinkedPrsListSdk } from \"../operations/issue-linked-prs-list.generated.js\"\nimport { getSdk as getIssueMilestoneLookupByNumberSdk } from \"../operations/issue-milestone-lookup-by-number.generated.js\"\nimport { getSdk as getIssueMilestoneSetSdk } from \"../operations/issue-milestone-set.generated.js\"\nimport { getSdk as getIssueNodeIdLookupSdk } from \"../operations/issue-node-id-lookup.generated.js\"\nimport { getSdk as getIssueParentLookupSdk } from \"../operations/issue-parent-lookup.generated.js\"\nimport { getSdk as getIssueParentRemoveSdk } from \"../operations/issue-parent-remove.generated.js\"\nimport { getSdk as getIssueParentSetSdk } from \"../operations/issue-parent-set.generated.js\"\nimport { getSdk as getIssueRelationsGetSdk } from \"../operations/issue-relations-get.generated.js\"\nimport { getSdk as getIssueReopenSdk } from \"../operations/issue-reopen.generated.js\"\nimport { getSdk as getIssueUpdateSdk } from \"../operations/issue-update.generated.js\"\nimport type { GraphqlTransport } from \"../transport.js\"\nimport { createGraphqlRequestClient } from \"../transport.js\"\nimport type {\n IssueAssigneesAddData,\n IssueAssigneesAddInput,\n IssueAssigneesRemoveData,\n IssueAssigneesRemoveInput,\n IssueAssigneesUpdateData,\n IssueAssigneesUpdateInput,\n IssueBlockedByData,\n IssueBlockedByInput,\n IssueCommentCreateData,\n IssueCommentCreateInput,\n IssueCreateInput,\n IssueLabelsAddData,\n IssueLabelsAddInput,\n IssueLabelsUpdateData,\n IssueLabelsUpdateInput,\n IssueLinkedPrsListData,\n IssueLinkedPrsListInput,\n IssueMilestoneSetData,\n IssueMilestoneSetInput,\n IssueMutationData,\n IssueMutationInput,\n IssueParentRemoveData,\n IssueParentRemoveInput,\n IssueParentSetData,\n IssueParentSetInput,\n IssueRelationNodeData,\n IssueRelationsGetData,\n IssueRelationsGetInput,\n IssueUpdateInput,\n} from \"../types.js\"\n\nfunction parseIssueNode(issue: unknown): IssueMutationData {\n const issueRecord = asRecord(issue)\n if (\n !issueRecord ||\n typeof issueRecord.id !== \"string\" ||\n typeof issueRecord.number !== \"number\"\n ) {\n throw new Error(\"Issue mutation failed\")\n }\n\n const result: IssueMutationData = {\n id: issueRecord.id,\n number: issueRecord.number,\n }\n\n if (typeof issueRecord.title === \"string\") {\n result.title = issueRecord.title\n }\n if (typeof issueRecord.state === \"string\") {\n result.state = issueRecord.state\n }\n if (typeof issueRecord.url === \"string\") {\n result.url = issueRecord.url\n }\n\n return result\n}\n\nexport async function runIssueCreate(\n transport: GraphqlTransport,\n input: IssueCreateInput,\n): Promise<IssueMutationData> {\n assertIssueCreateInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const repositoryLookupResult = await getIssueCreateRepositoryIdSdk(\n client,\n ).IssueCreateRepositoryId({\n owner: input.owner,\n name: input.name,\n })\n\n const repositoryId = asRecord(repositoryLookupResult.repository)?.id\n if (typeof repositoryId !== \"string\" || repositoryId.length === 0) {\n throw new Error(\"Repository not found\")\n }\n\n const result = await getIssueCreateSdk(client).IssueCreate({\n repositoryId,\n title: input.title,\n ...(input.body === undefined ? {} : { body: input.body }),\n })\n\n const issue = asRecord(asRecord(result)?.createIssue)?.issue\n return parseIssueNode(issue)\n}\n\nexport async function runIssueUpdate(\n transport: GraphqlTransport,\n input: IssueUpdateInput,\n): Promise<IssueMutationData> {\n assertIssueUpdateInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const lookupResult = await getIssueNodeIdLookupSdk(client).IssueNodeIdLookup({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n })\n\n const issueId = asRecord(asRecord(asRecord(lookupResult)?.repository)?.issue)?.id\n if (typeof issueId !== \"string\" || issueId.length === 0) {\n throw new Error(\"Issue not found\")\n }\n\n const result = await getIssueUpdateSdk(client).IssueUpdate({\n issueId,\n ...(input.title === undefined ? {} : { title: input.title }),\n ...(input.body === undefined ? {} : { body: input.body }),\n })\n const issue = asRecord(asRecord(result)?.updateIssue)?.issue\n return parseIssueNode(issue)\n}\n\nexport async function runIssueClose(\n transport: GraphqlTransport,\n input: IssueMutationInput,\n): Promise<IssueMutationData> {\n assertIssueMutationInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const lookupResult = await getIssueNodeIdLookupSdk(client).IssueNodeIdLookup({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n })\n\n const issueId = asRecord(asRecord(asRecord(lookupResult)?.repository)?.issue)?.id\n if (typeof issueId !== \"string\" || issueId.length === 0) {\n throw new Error(\"Issue not found\")\n }\n\n const result = await getIssueCloseSdk(client).IssueClose({ issueId })\n const issueData = parseIssueNode(asRecord(asRecord(result)?.closeIssue)?.issue)\n return {\n ...issueData,\n closed: issueData.state === \"CLOSED\",\n }\n}\n\nexport async function runIssueReopen(\n transport: GraphqlTransport,\n input: IssueMutationInput,\n): Promise<IssueMutationData> {\n assertIssueMutationInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const lookupResult = await getIssueNodeIdLookupSdk(client).IssueNodeIdLookup({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n })\n\n const issueId = asRecord(asRecord(asRecord(lookupResult)?.repository)?.issue)?.id\n if (typeof issueId !== \"string\" || issueId.length === 0) {\n throw new Error(\"Issue not found\")\n }\n\n const result = await getIssueReopenSdk(client).IssueReopen({ issueId })\n const issueData = parseIssueNode(asRecord(asRecord(result)?.reopenIssue)?.issue)\n return {\n ...issueData,\n reopened: issueData.state === \"OPEN\",\n }\n}\n\nexport async function runIssueDelete(\n transport: GraphqlTransport,\n input: IssueMutationInput,\n): Promise<IssueMutationData> {\n assertIssueMutationInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const lookupResult = await getIssueNodeIdLookupSdk(client).IssueNodeIdLookup({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n })\n\n const issueId = asRecord(asRecord(asRecord(lookupResult)?.repository)?.issue)?.id\n if (typeof issueId !== \"string\" || issueId.length === 0) {\n throw new Error(\"Issue not found\")\n }\n\n const result = await getIssueDeleteSdk(client).IssueDelete({ issueId })\n const mutation = asRecord(asRecord(result)?.deleteIssue)\n if (!mutation) {\n throw new Error(\"Issue deletion failed\")\n }\n\n return {\n id: issueId,\n number: 0,\n deleted: true,\n }\n}\n\nexport async function runIssueLabelsUpdate(\n transport: GraphqlTransport,\n input: IssueLabelsUpdateInput,\n): Promise<IssueLabelsUpdateData> {\n assertIssueLabelsUpdateInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const lookupResult = await getIssueLabelsLookupByNumberSdk(client).IssueLabelsLookupByNumber({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n })\n\n const repo = asRecord(asRecord(lookupResult)?.repository)\n const issueId = asRecord(repo?.issue)?.id\n if (typeof issueId !== \"string\" || issueId.length === 0) {\n throw new Error(\"Issue not found\")\n }\n\n const availableLabels = Array.isArray(asRecord(repo?.labels)?.nodes)\n ? (asRecord(repo?.labels)?.nodes as unknown[])\n : []\n\n const labelIdsByName = new Map<string, string>()\n for (const label of availableLabels) {\n const labelRecord = asRecord(label)\n if (typeof labelRecord?.name === \"string\" && typeof labelRecord?.id === \"string\") {\n labelIdsByName.set(labelRecord.name.toLowerCase(), labelRecord.id)\n }\n }\n\n const labelIds = input.labels.map((labelName) => {\n const id = labelIdsByName.get(labelName.toLowerCase())\n if (!id) {\n throw new Error(`Label not found: ${labelName}`)\n }\n return id\n })\n\n const result = await getIssueLabelsUpdateSdk(client).IssueLabelsUpdate({\n issueId,\n labelIds,\n })\n\n const mutation = asRecord(asRecord(result)?.[\"updateIssue\"])\n const issue = asRecord(mutation?.[\"issue\"])\n const labels = asRecord(issue?.[\"labels\"])\n const labelNodes = Array.isArray(labels?.[\"nodes\"]) ? labels[\"nodes\"] : []\n\n return {\n id: assertNonEmptyString(issue?.[\"id\"], \"Issue id\"),\n labels: labelNodes\n .map((label) => asRecord(label)?.[\"name\"])\n .filter((name): name is string => typeof name === \"string\"),\n }\n}\n\nexport async function runIssueLabelsAdd(\n transport: GraphqlTransport,\n input: IssueLabelsAddInput,\n): Promise<IssueLabelsAddData> {\n assertIssueLabelsAddInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const lookupResult = await getIssueLabelsLookupByNumberSdk(client).IssueLabelsLookupByNumber({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n })\n\n const repo = asRecord(asRecord(lookupResult)?.repository)\n const labelableId = asRecord(repo?.issue)?.id\n if (typeof labelableId !== \"string\" || labelableId.length === 0) {\n throw new Error(\"Issue not found\")\n }\n\n const availableLabels = Array.isArray(asRecord(repo?.labels)?.nodes)\n ? (asRecord(repo?.labels)?.nodes as unknown[])\n : []\n\n const labelIdsByName = new Map<string, string>()\n for (const label of availableLabels) {\n const labelRecord = asRecord(label)\n if (typeof labelRecord?.name === \"string\" && typeof labelRecord?.id === \"string\") {\n labelIdsByName.set(labelRecord.name.toLowerCase(), labelRecord.id)\n }\n }\n\n const labelIds = input.labels.map((labelName) => {\n const id = labelIdsByName.get(labelName.toLowerCase())\n if (!id) {\n throw new Error(`Label not found: ${labelName}`)\n }\n return id\n })\n\n const result = await getIssueLabelsAddSdk(client).IssueLabelsAdd({\n labelableId,\n labelIds,\n })\n\n const mutation = asRecord(asRecord(result)?.[\"addLabelsToLabelable\"])\n const labelable = asRecord(mutation?.[\"labelable\"])\n const labels = asRecord(labelable?.[\"labels\"])\n const labelNodes = Array.isArray(labels?.[\"nodes\"]) ? labels[\"nodes\"] : []\n\n return {\n id: assertNonEmptyString(labelable?.[\"id\"], \"Issue id\"),\n labels: labelNodes\n .map((label) => asRecord(label)?.[\"name\"])\n .filter((name): name is string => typeof name === \"string\"),\n }\n}\n\nexport async function runIssueAssigneesUpdate(\n transport: GraphqlTransport,\n input: IssueAssigneesUpdateInput,\n): Promise<IssueAssigneesUpdateData> {\n assertIssueAssigneesUpdateInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const lookupResult = await getIssueAssigneesLookupByNumberSdk(\n client,\n ).IssueAssigneesLookupByNumber({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n })\n\n const { assignableId, assigneeIds } = resolveAssigneeIds(lookupResult, input.assignees)\n\n const result = await getIssueAssigneesUpdateSdk(client).IssueAssigneesUpdate({\n issueId: assignableId,\n assigneeIds,\n })\n\n const mutation = asRecord(asRecord(result)?.[\"updateIssue\"])\n const issue = asRecord(mutation?.[\"issue\"])\n const assignees = asRecord(issue?.[\"assignees\"])\n const assigneeNodes = Array.isArray(assignees?.[\"nodes\"]) ? assignees[\"nodes\"] : []\n\n return {\n id: assertNonEmptyString(issue?.[\"id\"], \"Issue id\"),\n assignees: assigneeNodes\n .map((assignee) => asRecord(assignee)?.[\"login\"])\n .filter((login): login is string => typeof login === \"string\"),\n }\n}\n\nfunction resolveAssigneeIds(\n lookupResult: unknown,\n assigneeLogins: string[],\n): { assignableId: string; assigneeIds: string[] } {\n const repo = asRecord(asRecord(lookupResult)?.repository)\n const issueId = asRecord(repo?.issue)?.id\n if (typeof issueId !== \"string\" || issueId.length === 0) {\n throw new Error(\"Issue not found\")\n }\n\n const assignableNodes = Array.isArray(asRecord(repo?.assignableUsers)?.nodes)\n ? (asRecord(repo?.assignableUsers)?.nodes as unknown[])\n : []\n\n const idsByLogin = new Map<string, string>()\n for (const node of assignableNodes) {\n const rec = asRecord(node)\n if (typeof rec?.login === \"string\" && typeof rec?.id === \"string\") {\n idsByLogin.set(rec.login.toLowerCase(), rec.id)\n }\n }\n\n const assigneeIds = assigneeLogins.map((login) => {\n const id = idsByLogin.get(login.toLowerCase())\n if (!id) {\n throw new Error(`Assignee not found: ${login}`)\n }\n return id\n })\n\n return { assignableId: issueId, assigneeIds }\n}\n\nfunction parseAssignableResult(\n result: unknown,\n mutationKey: string,\n): { id: string; assignees: string[] } {\n const mutation = asRecord(asRecord(result)?.[mutationKey])\n const assignable = asRecord(mutation?.assignable)\n const assignees = asRecord(assignable?.assignees)\n const nodes = Array.isArray(assignees?.nodes) ? assignees.nodes : []\n\n return {\n id: assertNonEmptyString(assignable?.id, \"Issue id\"),\n assignees: nodes\n .map((n) => asRecord(n)?.login)\n .filter((login): login is string => typeof login === \"string\"),\n }\n}\n\nexport async function runIssueAssigneesAdd(\n transport: GraphqlTransport,\n input: IssueAssigneesAddInput,\n): Promise<IssueAssigneesAddData> {\n assertIssueAssigneesAddInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const lookupResult = await getIssueAssigneesLookupByNumberSdk(\n client,\n ).IssueAssigneesLookupByNumber({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n })\n\n const { assignableId, assigneeIds } = resolveAssigneeIds(lookupResult, input.assignees)\n\n const result = await getIssueAssigneesAddSdk(client).IssueAssigneesAdd({\n assignableId,\n assigneeIds,\n })\n\n return parseAssignableResult(result, \"addAssigneesToAssignable\")\n}\n\nexport async function runIssueAssigneesRemove(\n transport: GraphqlTransport,\n input: IssueAssigneesRemoveInput,\n): Promise<IssueAssigneesRemoveData> {\n assertIssueAssigneesRemoveInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const lookupResult = await getIssueAssigneesLookupByNumberSdk(\n client,\n ).IssueAssigneesLookupByNumber({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n })\n\n const { assignableId, assigneeIds } = resolveAssigneeIds(lookupResult, input.assignees)\n\n const result = await getIssueAssigneesRemoveSdk(client).IssueAssigneesRemove({\n assignableId,\n assigneeIds,\n })\n\n return parseAssignableResult(result, \"removeAssigneesFromAssignable\")\n}\n\nexport async function runIssueMilestoneSet(\n transport: GraphqlTransport,\n input: IssueMilestoneSetInput,\n): Promise<IssueMilestoneSetData> {\n assertIssueMilestoneSetInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const lookupResult = await getIssueMilestoneLookupByNumberSdk(\n client,\n ).IssueMilestoneLookupByNumber({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n milestoneNumber: input.milestoneNumber,\n })\n const repo = asRecord(asRecord(lookupResult)?.repository)\n const issueId = asRecord(repo?.issue)?.id\n const milestoneId = asRecord(repo?.milestone)?.id\n\n if (typeof issueId !== \"string\" || issueId.length === 0) {\n throw new Error(\"Issue not found\")\n }\n if (typeof milestoneId !== \"string\" || milestoneId.length === 0) {\n throw new Error(`Milestone not found: ${input.milestoneNumber}`)\n }\n\n const result = await getIssueMilestoneSetSdk(client).IssueMilestoneSet({\n issueId,\n milestoneId,\n })\n\n const mutation = asRecord(asRecord(result)?.[\"updateIssue\"])\n const issue = asRecord(mutation?.[\"issue\"])\n const milestone = asRecord(issue?.[\"milestone\"])\n\n return {\n id: assertNonEmptyString(issue?.[\"id\"], \"Issue id\"),\n milestoneNumber: typeof milestone?.[\"number\"] === \"number\" ? milestone[\"number\"] : null,\n }\n}\n\nexport async function runIssueCommentCreate(\n transport: GraphqlTransport,\n input: IssueCommentCreateInput,\n): Promise<IssueCommentCreateData> {\n assertIssueCommentCreateInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const lookupResult = await getIssueNodeIdLookupSdk(client).IssueNodeIdLookup({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n })\n\n const issueId = asRecord(asRecord(asRecord(lookupResult)?.repository)?.issue)?.id\n if (typeof issueId !== \"string\" || issueId.length === 0) {\n throw new Error(\"Issue not found\")\n }\n\n const result = await getIssueCommentCreateSdk(client).IssueCommentCreate({\n issueId,\n body: input.body,\n })\n\n const mutation = asRecord(asRecord(result)?.[\"addComment\"])\n const commentEdge = asRecord(mutation?.[\"commentEdge\"])\n const node = asRecord(commentEdge?.[\"node\"])\n if (!node || typeof node[\"id\"] !== \"string\" || typeof node[\"body\"] !== \"string\") {\n throw new Error(\"Issue comment creation failed\")\n }\n\n return {\n id: node[\"id\"],\n body: node[\"body\"],\n url: typeof node[\"url\"] === \"string\" ? node[\"url\"] : \"\",\n }\n}\n\nexport async function runIssueLinkedPrsList(\n transport: GraphqlTransport,\n input: IssueLinkedPrsListInput,\n): Promise<IssueLinkedPrsListData> {\n assertIssueLinkedPrsListInput(input)\n\n const result = await getIssueLinkedPrsListSdk(\n createGraphqlRequestClient(transport),\n ).IssueLinkedPrsList({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n })\n\n const issue = asRecord(asRecord(asRecord(result)?.repository)?.issue)\n const timelineItems = asRecord(issue?.timelineItems)\n const nodes = Array.isArray(timelineItems?.nodes) ? timelineItems.nodes : []\n\n return {\n items: nodes\n .map((node) => asRecord(asRecord(node)?.[\"subject\"]))\n .filter(\n (subject): subject is Record<string, unknown> =>\n Boolean(subject) && subject?.[\"__typename\"] === \"PullRequest\",\n )\n .flatMap((subject) => {\n if (!subject) {\n return []\n }\n\n if (\n typeof subject[\"id\"] !== \"string\" ||\n typeof subject[\"number\"] !== \"number\" ||\n typeof subject[\"title\"] !== \"string\" ||\n typeof subject[\"state\"] !== \"string\" ||\n typeof subject[\"url\"] !== \"string\"\n ) {\n return []\n }\n\n return [\n {\n id: subject[\"id\"],\n number: subject[\"number\"],\n title: subject[\"title\"],\n state: subject[\"state\"],\n url: subject[\"url\"],\n },\n ]\n }),\n }\n}\n\nfunction parseIssueRelationNode(node: unknown): IssueRelationNodeData | null {\n const record = asRecord(node)\n if (!record || typeof record.id !== \"string\" || typeof record.number !== \"number\") {\n return null\n }\n\n return {\n id: record.id,\n number: record.number,\n }\n}\n\nexport async function runIssueRelationsGet(\n transport: GraphqlTransport,\n input: IssueRelationsGetInput,\n): Promise<IssueRelationsGetData> {\n assertIssueRelationsGetInput(input)\n\n const result = await getIssueRelationsGetSdk(\n createGraphqlRequestClient(transport),\n ).IssueRelationsGet({\n owner: input.owner,\n name: input.name,\n issueNumber: input.issueNumber,\n })\n\n const issue = asRecord(asRecord(asRecord(result)?.repository)?.issue)\n const currentIssue = parseIssueRelationNode(issue)\n if (!currentIssue) {\n throw new Error(\"Issue relations not found\")\n }\n\n const parent = parseIssueRelationNode(issue?.parent)\n const subIssues = asRecord(issue?.[\"subIssues\"])\n const blockedByConnection = asRecord(issue?.[\"blockedBy\"])\n const childrenNodes = Array.isArray(subIssues?.[\"nodes\"]) ? subIssues[\"nodes\"] : []\n const blockedByNodes = Array.isArray(blockedByConnection?.[\"nodes\"])\n ? blockedByConnection[\"nodes\"]\n : []\n\n return {\n issue: currentIssue,\n parent,\n children: childrenNodes\n .map((node) => parseIssueRelationNode(node))\n .flatMap((node) => (node ? [node] : [])),\n blockedBy: blockedByNodes\n .map((node) => parseIssueRelationNode(node))\n .flatMap((node) => (node ? [node] : [])),\n }\n}\n\nexport async function runIssueParentSet(\n transport: GraphqlTransport,\n input: IssueParentSetInput,\n): Promise<IssueParentSetData> {\n assertIssueParentSetInput(input)\n\n const result = await getIssueParentSetSdk(createGraphqlRequestClient(transport)).IssueParentSet({\n issueId: input.issueId,\n parentIssueId: input.parentIssueId,\n })\n\n const mutation = asRecord(asRecord(result)?.addSubIssue)\n const parentIssue = asRecord(mutation?.issue)\n const subIssue = asRecord(mutation?.subIssue)\n if (typeof parentIssue?.id !== \"string\" || typeof subIssue?.id !== \"string\") {\n throw new Error(\"Issue parent update failed\")\n }\n\n return {\n issueId: subIssue.id,\n parentIssueId: parentIssue.id,\n updated: true,\n }\n}\n\nexport async function runIssueParentRemove(\n transport: GraphqlTransport,\n input: IssueParentRemoveInput,\n): Promise<IssueParentRemoveData> {\n assertIssueParentRemoveInput(input)\n\n const client = createGraphqlRequestClient(transport)\n const lookupResult = await getIssueParentLookupSdk(client).IssueParentLookup({\n issueId: input.issueId,\n })\n\n const parentIssueId = asRecord(asRecord(asRecord(lookupResult)?.node)?.parent)?.id\n if (typeof parentIssueId !== \"string\" || parentIssueId.length === 0) {\n throw new Error(\"Issue parent removal failed\")\n }\n\n const result = await getIssueParentRemoveSdk(client).IssueParentRemove({\n issueId: input.issueId,\n parentIssueId,\n })\n\n const mutation = asRecord(asRecord(result)?.removeSubIssue)\n const parentIssue = asRecord(mutation?.issue)\n const subIssue = asRecord(mutation?.subIssue)\n if (typeof parentIssue?.id !== \"string\" || typeof subIssue?.id !== \"string\") {\n throw new Error(\"Issue parent removal failed\")\n }\n\n return {\n issueId: subIssue.id,\n parentRemoved: true,\n }\n}\n\nexport async function runIssueBlockedByAdd(\n transport: GraphqlTransport,\n input: IssueBlockedByInput,\n): Promise<IssueBlockedByData> {\n assertIssueBlockedByInput(input)\n\n const result = await getIssueBlockedByAddSdk(\n createGraphqlRequestClient(transport),\n ).IssueBlockedByAdd({\n issueId: input.issueId,\n blockedByIssueId: input.blockedByIssueId,\n })\n\n const mutation = asRecord(asRecord(result)?.addBlockedBy)\n const issue = asRecord(mutation?.issue)\n const blockingIssue = asRecord(mutation?.blockingIssue)\n if (typeof issue?.id !== \"string\" || typeof blockingIssue?.id !== \"string\") {\n throw new Error(\"Issue dependency mutation failed\")\n }\n\n return {\n issueId: issue.id,\n blockedByIssueId: blockingIssue.id,\n added: true,\n }\n}\n\nexport async function runIssueBlockedByRemove(\n transport: GraphqlTransport,\n input: IssueBlockedByInput,\n): Promise<IssueBlockedByData> {\n assertIssueBlockedByInput(input)\n\n const result = await getIssueBlockedByRemoveSdk(\n createGraphqlRequestClient(transport),\n ).IssueBlockedByRemove({\n issueId: input.issueId,\n blockedByIssueId: input.blockedByIssueId,\n })\n\n const mutation = asRecord(asRecord(result)?.removeBlockedBy)\n const issue = asRecord(mutation?.issue)\n const blockingIssue = asRecord(mutation?.blockingIssue)\n if (typeof issue?.id !== \"string\" || typeof blockingIssue?.id !== \"string\") {\n throw new Error(\"Issue dependency mutation failed\")\n }\n\n return {\n issueId: issue.id,\n blockedByIssueId: blockingIssue.id,\n removed: true,\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqFO,IAAM,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAoBpC,uBAAuB;AAS7B,IAAM,iBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAClF,OAAO;AAEF,SAASA,SAAO,QAAuB,cAAkC,gBAAgB;AAC9F,SAAO;AAAA,IACL,mBACE,WACA,gBACA,QACkC;AAClC,aAAO;AAAA,QACL,CAAC,0BACC,OAAO,QAAiC;AAAA,UACtC,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;;;AC3GO,IAAM,4BAA4B;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;AAkCzC,IAAMC,kBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAClF,OAAO;AAEF,SAASC,SAAO,QAAuB,cAAkCD,iBAAgB;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;;;ACZA,SAAS,eAAe,OAAmC;AACzD,QAAM,cAAc,SAAS,KAAK;AAClC,MACE,CAAC,eACD,OAAO,YAAY,OAAO,YAC1B,OAAO,YAAY,WAAW,UAC9B;AACA,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC;AAEA,QAAM,SAA4B;AAAA,IAChC,IAAI,YAAY;AAAA,IAChB,QAAQ,YAAY;AAAA,EACtB;AAEA,MAAI,OAAO,YAAY,UAAU,UAAU;AACzC,WAAO,QAAQ,YAAY;AAAA,EAC7B;AACA,MAAI,OAAO,YAAY,UAAU,UAAU;AACzC,WAAO,QAAQ,YAAY;AAAA,EAC7B;AACA,MAAI,OAAO,YAAY,QAAQ,UAAU;AACvC,WAAO,MAAM,YAAY;AAAA,EAC3B;AAEA,SAAO;AACT;AAEA,eAAsB,eACpB,WACA,OAC4B;AAC5B,yBAAuB,KAAK;AAE5B,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,yBAAyB,MAAME;AAAA,IACnC;AAAA,EACF,EAAE,wBAAwB;AAAA,IACxB,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,EACd,CAAC;AAED,QAAM,eAAe,SAAS,uBAAuB,UAAU,GAAG;AAClE,MAAI,OAAO,iBAAiB,YAAY,aAAa,WAAW,GAAG;AACjE,UAAM,IAAI,MAAM,sBAAsB;AAAA,EACxC;AAEA,QAAM,SAAS,MAAMA,QAAkB,MAAM,EAAE,YAAY;AAAA,IACzD;AAAA,IACA,OAAO,MAAM;AAAA,IACb,GAAI,MAAM,SAAS,SAAY,CAAC,IAAI,EAAE,MAAM,MAAM,KAAK;AAAA,EACzD,CAAC;AAED,QAAM,QAAQ,SAAS,SAAS,MAAM,GAAG,WAAW,GAAG;AACvD,SAAO,eAAe,KAAK;AAC7B;AAEA,eAAsB,eACpB,WACA,OAC4B;AAC5B,yBAAuB,KAAK;AAE5B,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,eAAe,MAAMA,SAAwB,MAAM,EAAE,kBAAkB;AAAA,IAC3E,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB,CAAC;AAED,QAAM,UAAU,SAAS,SAAS,SAAS,YAAY,GAAG,UAAU,GAAG,KAAK,GAAG;AAC/E,MAAI,OAAO,YAAY,YAAY,QAAQ,WAAW,GAAG;AACvD,UAAM,IAAI,MAAM,iBAAiB;AAAA,EACnC;AAEA,QAAM,SAAS,MAAMA,SAAkB,MAAM,EAAE,YAAY;AAAA,IACzD;AAAA,IACA,GAAI,MAAM,UAAU,SAAY,CAAC,IAAI,EAAE,OAAO,MAAM,MAAM;AAAA,IAC1D,GAAI,MAAM,SAAS,SAAY,CAAC,IAAI,EAAE,MAAM,MAAM,KAAK;AAAA,EACzD,CAAC;AACD,QAAM,QAAQ,SAAS,SAAS,MAAM,GAAG,WAAW,GAAG;AACvD,SAAO,eAAe,KAAK;AAC7B;AAEA,eAAsB,cACpB,WACA,OAC4B;AAC5B,2BAAyB,KAAK;AAE9B,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,eAAe,MAAMA,SAAwB,MAAM,EAAE,kBAAkB;AAAA,IAC3E,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB,CAAC;AAED,QAAM,UAAU,SAAS,SAAS,SAAS,YAAY,GAAG,UAAU,GAAG,KAAK,GAAG;AAC/E,MAAI,OAAO,YAAY,YAAY,QAAQ,WAAW,GAAG;AACvD,UAAM,IAAI,MAAM,iBAAiB;AAAA,EACnC;AAEA,QAAM,SAAS,MAAMA,QAAiB,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC;AACpE,QAAM,YAAY,eAAe,SAAS,SAAS,MAAM,GAAG,UAAU,GAAG,KAAK;AAC9E,SAAO;AAAA,IACL,GAAG;AAAA,IACH,QAAQ,UAAU,UAAU;AAAA,EAC9B;AACF;AAEA,eAAsB,eACpB,WACA,OAC4B;AAC5B,2BAAyB,KAAK;AAE9B,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,eAAe,MAAMA,SAAwB,MAAM,EAAE,kBAAkB;AAAA,IAC3E,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB,CAAC;AAED,QAAM,UAAU,SAAS,SAAS,SAAS,YAAY,GAAG,UAAU,GAAG,KAAK,GAAG;AAC/E,MAAI,OAAO,YAAY,YAAY,QAAQ,WAAW,GAAG;AACvD,UAAM,IAAI,MAAM,iBAAiB;AAAA,EACnC;AAEA,QAAM,SAAS,MAAMA,SAAkB,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;AACtE,QAAM,YAAY,eAAe,SAAS,SAAS,MAAM,GAAG,WAAW,GAAG,KAAK;AAC/E,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,UAAU,UAAU;AAAA,EAChC;AACF;AAEA,eAAsB,eACpB,WACA,OAC4B;AAC5B,2BAAyB,KAAK;AAE9B,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,eAAe,MAAMA,SAAwB,MAAM,EAAE,kBAAkB;AAAA,IAC3E,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB,CAAC;AAED,QAAM,UAAU,SAAS,SAAS,SAAS,YAAY,GAAG,UAAU,GAAG,KAAK,GAAG;AAC/E,MAAI,OAAO,YAAY,YAAY,QAAQ,WAAW,GAAG;AACvD,UAAM,IAAI,MAAM,iBAAiB;AAAA,EACnC;AAEA,QAAM,SAAS,MAAMA,SAAkB,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;AACtE,QAAM,WAAW,SAAS,SAAS,MAAM,GAAG,WAAW;AACvD,MAAI,CAAC,UAAU;AACb,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC;AAEA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AACF;AAEA,eAAsB,qBACpB,WACA,OACgC;AAChC,+BAA6B,KAAK;AAElC,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,eAAe,MAAMA,SAAgC,MAAM,EAAE,0BAA0B;AAAA,IAC3F,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB,CAAC;AAED,QAAM,OAAO,SAAS,SAAS,YAAY,GAAG,UAAU;AACxD,QAAM,UAAU,SAAS,MAAM,KAAK,GAAG;AACvC,MAAI,OAAO,YAAY,YAAY,QAAQ,WAAW,GAAG;AACvD,UAAM,IAAI,MAAM,iBAAiB;AAAA,EACnC;AAEA,QAAM,kBAAkB,MAAM,QAAQ,SAAS,MAAM,MAAM,GAAG,KAAK,IAC9D,SAAS,MAAM,MAAM,GAAG,QACzB,CAAC;AAEL,QAAM,iBAAiB,oBAAI,IAAoB;AAC/C,aAAW,SAAS,iBAAiB;AACnC,UAAM,cAAc,SAAS,KAAK;AAClC,QAAI,OAAO,aAAa,SAAS,YAAY,OAAO,aAAa,OAAO,UAAU;AAChF,qBAAe,IAAI,YAAY,KAAK,YAAY,GAAG,YAAY,EAAE;AAAA,IACnE;AAAA,EACF;AAEA,QAAM,WAAW,MAAM,OAAO,IAAI,CAAC,cAAc;AAC/C,UAAM,KAAK,eAAe,IAAI,UAAU,YAAY,CAAC;AACrD,QAAI,CAAC,IAAI;AACP,YAAM,IAAI,MAAM,oBAAoB,SAAS,EAAE;AAAA,IACjD;AACA,WAAO;AAAA,EACT,CAAC;AAED,QAAM,SAAS,MAAMA,SAAwB,MAAM,EAAE,kBAAkB;AAAA,IACrE;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,WAAW,SAAS,SAAS,MAAM,IAAI,aAAa,CAAC;AAC3D,QAAM,QAAQ,SAAS,WAAW,OAAO,CAAC;AAC1C,QAAM,SAAS,SAAS,QAAQ,QAAQ,CAAC;AACzC,QAAM,aAAa,MAAM,QAAQ,SAAS,OAAO,CAAC,IAAI,OAAO,OAAO,IAAI,CAAC;AAEzE,SAAO;AAAA,IACL,IAAI,qBAAqB,QAAQ,IAAI,GAAG,UAAU;AAAA,IAClD,QAAQ,WACL,IAAI,CAAC,UAAU,SAAS,KAAK,IAAI,MAAM,CAAC,EACxC,OAAO,CAAC,SAAyB,OAAO,SAAS,QAAQ;AAAA,EAC9D;AACF;AAEA,eAAsB,kBACpB,WACA,OAC6B;AAC7B,4BAA0B,KAAK;AAE/B,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,eAAe,MAAMA,SAAgC,MAAM,EAAE,0BAA0B;AAAA,IAC3F,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB,CAAC;AAED,QAAM,OAAO,SAAS,SAAS,YAAY,GAAG,UAAU;AACxD,QAAM,cAAc,SAAS,MAAM,KAAK,GAAG;AAC3C,MAAI,OAAO,gBAAgB,YAAY,YAAY,WAAW,GAAG;AAC/D,UAAM,IAAI,MAAM,iBAAiB;AAAA,EACnC;AAEA,QAAM,kBAAkB,MAAM,QAAQ,SAAS,MAAM,MAAM,GAAG,KAAK,IAC9D,SAAS,MAAM,MAAM,GAAG,QACzB,CAAC;AAEL,QAAM,iBAAiB,oBAAI,IAAoB;AAC/C,aAAW,SAAS,iBAAiB;AACnC,UAAM,cAAc,SAAS,KAAK;AAClC,QAAI,OAAO,aAAa,SAAS,YAAY,OAAO,aAAa,OAAO,UAAU;AAChF,qBAAe,IAAI,YAAY,KAAK,YAAY,GAAG,YAAY,EAAE;AAAA,IACnE;AAAA,EACF;AAEA,QAAM,WAAW,MAAM,OAAO,IAAI,CAAC,cAAc;AAC/C,UAAM,KAAK,eAAe,IAAI,UAAU,YAAY,CAAC;AACrD,QAAI,CAAC,IAAI;AACP,YAAM,IAAI,MAAM,oBAAoB,SAAS,EAAE;AAAA,IACjD;AACA,WAAO;AAAA,EACT,CAAC;AAED,QAAM,SAAS,MAAMA,SAAqB,MAAM,EAAE,eAAe;AAAA,IAC/D;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,WAAW,SAAS,SAAS,MAAM,IAAI,sBAAsB,CAAC;AACpE,QAAM,YAAY,SAAS,WAAW,WAAW,CAAC;AAClD,QAAM,SAAS,SAAS,YAAY,QAAQ,CAAC;AAC7C,QAAM,aAAa,MAAM,QAAQ,SAAS,OAAO,CAAC,IAAI,OAAO,OAAO,IAAI,CAAC;AAEzE,SAAO;AAAA,IACL,IAAI,qBAAqB,YAAY,IAAI,GAAG,UAAU;AAAA,IACtD,QAAQ,WACL,IAAI,CAAC,UAAU,SAAS,KAAK,IAAI,MAAM,CAAC,EACxC,OAAO,CAAC,SAAyB,OAAO,SAAS,QAAQ;AAAA,EAC9D;AACF;AAEA,eAAsB,wBACpB,WACA,OACmC;AACnC,kCAAgC,KAAK;AAErC,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,eAAe,MAAMA;AAAA,IACzB;AAAA,EACF,EAAE,6BAA6B;AAAA,IAC7B,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB,CAAC;AAED,QAAM,EAAE,cAAc,YAAY,IAAI,mBAAmB,cAAc,MAAM,SAAS;AAEtF,QAAM,SAAS,MAAMA,QAA2B,MAAM,EAAE,qBAAqB;AAAA,IAC3E,SAAS;AAAA,IACT;AAAA,EACF,CAAC;AAED,QAAM,WAAW,SAAS,SAAS,MAAM,IAAI,aAAa,CAAC;AAC3D,QAAM,QAAQ,SAAS,WAAW,OAAO,CAAC;AAC1C,QAAM,YAAY,SAAS,QAAQ,WAAW,CAAC;AAC/C,QAAM,gBAAgB,MAAM,QAAQ,YAAY,OAAO,CAAC,IAAI,UAAU,OAAO,IAAI,CAAC;AAElF,SAAO;AAAA,IACL,IAAI,qBAAqB,QAAQ,IAAI,GAAG,UAAU;AAAA,IAClD,WAAW,cACR,IAAI,CAAC,aAAa,SAAS,QAAQ,IAAI,OAAO,CAAC,EAC/C,OAAO,CAAC,UAA2B,OAAO,UAAU,QAAQ;AAAA,EACjE;AACF;AAEA,SAAS,mBACP,cACA,gBACiD;AACjD,QAAM,OAAO,SAAS,SAAS,YAAY,GAAG,UAAU;AACxD,QAAM,UAAU,SAAS,MAAM,KAAK,GAAG;AACvC,MAAI,OAAO,YAAY,YAAY,QAAQ,WAAW,GAAG;AACvD,UAAM,IAAI,MAAM,iBAAiB;AAAA,EACnC;AAEA,QAAM,kBAAkB,MAAM,QAAQ,SAAS,MAAM,eAAe,GAAG,KAAK,IACvE,SAAS,MAAM,eAAe,GAAG,QAClC,CAAC;AAEL,QAAM,aAAa,oBAAI,IAAoB;AAC3C,aAAW,QAAQ,iBAAiB;AAClC,UAAM,MAAM,SAAS,IAAI;AACzB,QAAI,OAAO,KAAK,UAAU,YAAY,OAAO,KAAK,OAAO,UAAU;AACjE,iBAAW,IAAI,IAAI,MAAM,YAAY,GAAG,IAAI,EAAE;AAAA,IAChD;AAAA,EACF;AAEA,QAAM,cAAc,eAAe,IAAI,CAAC,UAAU;AAChD,UAAM,KAAK,WAAW,IAAI,MAAM,YAAY,CAAC;AAC7C,QAAI,CAAC,IAAI;AACP,YAAM,IAAI,MAAM,uBAAuB,KAAK,EAAE;AAAA,IAChD;AACA,WAAO;AAAA,EACT,CAAC;AAED,SAAO,EAAE,cAAc,SAAS,YAAY;AAC9C;AAEA,SAAS,sBACP,QACA,aACqC;AACrC,QAAM,WAAW,SAAS,SAAS,MAAM,IAAI,WAAW,CAAC;AACzD,QAAM,aAAa,SAAS,UAAU,UAAU;AAChD,QAAM,YAAY,SAAS,YAAY,SAAS;AAChD,QAAM,QAAQ,MAAM,QAAQ,WAAW,KAAK,IAAI,UAAU,QAAQ,CAAC;AAEnE,SAAO;AAAA,IACL,IAAI,qBAAqB,YAAY,IAAI,UAAU;AAAA,IACnD,WAAW,MACR,IAAI,CAAC,MAAM,SAAS,CAAC,GAAG,KAAK,EAC7B,OAAO,CAAC,UAA2B,OAAO,UAAU,QAAQ;AAAA,EACjE;AACF;AAEA,eAAsB,qBACpB,WACA,OACgC;AAChC,+BAA6B,KAAK;AAElC,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,eAAe,MAAMA;AAAA,IACzB;AAAA,EACF,EAAE,6BAA6B;AAAA,IAC7B,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB,CAAC;AAED,QAAM,EAAE,cAAc,YAAY,IAAI,mBAAmB,cAAc,MAAM,SAAS;AAEtF,QAAM,SAAS,MAAM,OAAwB,MAAM,EAAE,kBAAkB;AAAA,IACrE;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO,sBAAsB,QAAQ,0BAA0B;AACjE;AAEA,eAAsB,wBACpB,WACA,OACmC;AACnC,kCAAgC,KAAK;AAErC,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,eAAe,MAAMA;AAAA,IACzB;AAAA,EACF,EAAE,6BAA6B;AAAA,IAC7B,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB,CAAC;AAED,QAAM,EAAE,cAAc,YAAY,IAAI,mBAAmB,cAAc,MAAM,SAAS;AAEtF,QAAM,SAAS,MAAMA,QAA2B,MAAM,EAAE,qBAAqB;AAAA,IAC3E;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO,sBAAsB,QAAQ,+BAA+B;AACtE;AAEA,eAAsB,qBACpB,WACA,OACgC;AAChC,+BAA6B,KAAK;AAElC,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,eAAe,MAAMA;AAAA,IACzB;AAAA,EACF,EAAE,6BAA6B;AAAA,IAC7B,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,IACnB,iBAAiB,MAAM;AAAA,EACzB,CAAC;AACD,QAAM,OAAO,SAAS,SAAS,YAAY,GAAG,UAAU;AACxD,QAAM,UAAU,SAAS,MAAM,KAAK,GAAG;AACvC,QAAM,cAAc,SAAS,MAAM,SAAS,GAAG;AAE/C,MAAI,OAAO,YAAY,YAAY,QAAQ,WAAW,GAAG;AACvD,UAAM,IAAI,MAAM,iBAAiB;AAAA,EACnC;AACA,MAAI,OAAO,gBAAgB,YAAY,YAAY,WAAW,GAAG;AAC/D,UAAM,IAAI,MAAM,wBAAwB,MAAM,eAAe,EAAE;AAAA,EACjE;AAEA,QAAM,SAAS,MAAMA,SAAwB,MAAM,EAAE,kBAAkB;AAAA,IACrE;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,WAAW,SAAS,SAAS,MAAM,IAAI,aAAa,CAAC;AAC3D,QAAM,QAAQ,SAAS,WAAW,OAAO,CAAC;AAC1C,QAAM,YAAY,SAAS,QAAQ,WAAW,CAAC;AAE/C,SAAO;AAAA,IACL,IAAI,qBAAqB,QAAQ,IAAI,GAAG,UAAU;AAAA,IAClD,iBAAiB,OAAO,YAAY,QAAQ,MAAM,WAAW,UAAU,QAAQ,IAAI;AAAA,EACrF;AACF;AAEA,eAAsB,sBACpB,WACA,OACiC;AACjC,gCAA8B,KAAK;AAEnC,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,eAAe,MAAMA,SAAwB,MAAM,EAAE,kBAAkB;AAAA,IAC3E,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB,CAAC;AAED,QAAM,UAAU,SAAS,SAAS,SAAS,YAAY,GAAG,UAAU,GAAG,KAAK,GAAG;AAC/E,MAAI,OAAO,YAAY,YAAY,QAAQ,WAAW,GAAG;AACvD,UAAM,IAAI,MAAM,iBAAiB;AAAA,EACnC;AAEA,QAAM,SAAS,MAAMA,QAAyB,MAAM,EAAE,mBAAmB;AAAA,IACvE;AAAA,IACA,MAAM,MAAM;AAAA,EACd,CAAC;AAED,QAAM,WAAW,SAAS,SAAS,MAAM,IAAI,YAAY,CAAC;AAC1D,QAAM,cAAc,SAAS,WAAW,aAAa,CAAC;AACtD,QAAM,OAAO,SAAS,cAAc,MAAM,CAAC;AAC3C,MAAI,CAAC,QAAQ,OAAO,KAAK,IAAI,MAAM,YAAY,OAAO,KAAK,MAAM,MAAM,UAAU;AAC/E,UAAM,IAAI,MAAM,+BAA+B;AAAA,EACjD;AAEA,SAAO;AAAA,IACL,IAAI,KAAK,IAAI;AAAA,IACb,MAAM,KAAK,MAAM;AAAA,IACjB,KAAK,OAAO,KAAK,KAAK,MAAM,WAAW,KAAK,KAAK,IAAI;AAAA,EACvD;AACF;AAEA,eAAsB,sBACpB,WACA,OACiC;AACjC,gCAA8B,KAAK;AAEnC,QAAM,SAAS,MAAMA;AAAA,IACnB,2BAA2B,SAAS;AAAA,EACtC,EAAE,mBAAmB;AAAA,IACnB,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB,CAAC;AAED,QAAM,QAAQ,SAAS,SAAS,SAAS,MAAM,GAAG,UAAU,GAAG,KAAK;AACpE,QAAM,gBAAgB,SAAS,OAAO,aAAa;AACnD,QAAM,QAAQ,MAAM,QAAQ,eAAe,KAAK,IAAI,cAAc,QAAQ,CAAC;AAE3E,SAAO;AAAA,IACL,OAAO,MACJ,IAAI,CAAC,SAAS,SAAS,SAAS,IAAI,IAAI,SAAS,CAAC,CAAC,EACnD;AAAA,MACC,CAAC,YACC,QAAQ,OAAO,KAAK,UAAU,YAAY,MAAM;AAAA,IACpD,EACC,QAAQ,CAAC,YAAY;AACpB,UAAI,CAAC,SAAS;AACZ,eAAO,CAAC;AAAA,MACV;AAEA,UACE,OAAO,QAAQ,IAAI,MAAM,YACzB,OAAO,QAAQ,QAAQ,MAAM,YAC7B,OAAO,QAAQ,OAAO,MAAM,YAC5B,OAAO,QAAQ,OAAO,MAAM,YAC5B,OAAO,QAAQ,KAAK,MAAM,UAC1B;AACA,eAAO,CAAC;AAAA,MACV;AAEA,aAAO;AAAA,QACL;AAAA,UACE,IAAI,QAAQ,IAAI;AAAA,UAChB,QAAQ,QAAQ,QAAQ;AAAA,UACxB,OAAO,QAAQ,OAAO;AAAA,UACtB,OAAO,QAAQ,OAAO;AAAA,UACtB,KAAK,QAAQ,KAAK;AAAA,QACpB;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACL;AACF;AAEA,SAAS,uBAAuB,MAA6C;AAC3E,QAAM,SAAS,SAAS,IAAI;AAC5B,MAAI,CAAC,UAAU,OAAO,OAAO,OAAO,YAAY,OAAO,OAAO,WAAW,UAAU;AACjF,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL,IAAI,OAAO;AAAA,IACX,QAAQ,OAAO;AAAA,EACjB;AACF;AAEA,eAAsB,qBACpB,WACA,OACgC;AAChC,+BAA6B,KAAK;AAElC,QAAM,SAAS,MAAMA;AAAA,IACnB,2BAA2B,SAAS;AAAA,EACtC,EAAE,kBAAkB;AAAA,IAClB,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB,CAAC;AAED,QAAM,QAAQ,SAAS,SAAS,SAAS,MAAM,GAAG,UAAU,GAAG,KAAK;AACpE,QAAM,eAAe,uBAAuB,KAAK;AACjD,MAAI,CAAC,cAAc;AACjB,UAAM,IAAI,MAAM,2BAA2B;AAAA,EAC7C;AAEA,QAAM,SAAS,uBAAuB,OAAO,MAAM;AACnD,QAAM,YAAY,SAAS,QAAQ,WAAW,CAAC;AAC/C,QAAM,sBAAsB,SAAS,QAAQ,WAAW,CAAC;AACzD,QAAM,gBAAgB,MAAM,QAAQ,YAAY,OAAO,CAAC,IAAI,UAAU,OAAO,IAAI,CAAC;AAClF,QAAM,iBAAiB,MAAM,QAAQ,sBAAsB,OAAO,CAAC,IAC/D,oBAAoB,OAAO,IAC3B,CAAC;AAEL,SAAO;AAAA,IACL,OAAO;AAAA,IACP;AAAA,IACA,UAAU,cACP,IAAI,CAAC,SAAS,uBAAuB,IAAI,CAAC,EAC1C,QAAQ,CAAC,SAAU,OAAO,CAAC,IAAI,IAAI,CAAC,CAAE;AAAA,IACzC,WAAW,eACR,IAAI,CAAC,SAAS,uBAAuB,IAAI,CAAC,EAC1C,QAAQ,CAAC,SAAU,OAAO,CAAC,IAAI,IAAI,CAAC,CAAE;AAAA,EAC3C;AACF;AAEA,eAAsB,kBACpB,WACA,OAC6B;AAC7B,4BAA0B,KAAK;AAE/B,QAAM,SAAS,MAAMA,SAAqB,2BAA2B,SAAS,CAAC,EAAE,eAAe;AAAA,IAC9F,SAAS,MAAM;AAAA,IACf,eAAe,MAAM;AAAA,EACvB,CAAC;AAED,QAAM,WAAW,SAAS,SAAS,MAAM,GAAG,WAAW;AACvD,QAAM,cAAc,SAAS,UAAU,KAAK;AAC5C,QAAM,WAAW,SAAS,UAAU,QAAQ;AAC5C,MAAI,OAAO,aAAa,OAAO,YAAY,OAAO,UAAU,OAAO,UAAU;AAC3E,UAAM,IAAI,MAAM,4BAA4B;AAAA,EAC9C;AAEA,SAAO;AAAA,IACL,SAAS,SAAS;AAAA,IAClB,eAAe,YAAY;AAAA,IAC3B,SAAS;AAAA,EACX;AACF;AAEA,eAAsB,qBACpB,WACA,OACgC;AAChC,+BAA6B,KAAK;AAElC,QAAM,SAAS,2BAA2B,SAAS;AACnD,QAAM,eAAe,MAAMA,SAAwB,MAAM,EAAE,kBAAkB;AAAA,IAC3E,SAAS,MAAM;AAAA,EACjB,CAAC;AAED,QAAM,gBAAgB,SAAS,SAAS,SAAS,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG;AAChF,MAAI,OAAO,kBAAkB,YAAY,cAAc,WAAW,GAAG;AACnE,UAAM,IAAI,MAAM,6BAA6B;AAAA,EAC/C;AAEA,QAAM,SAAS,MAAMA,SAAwB,MAAM,EAAE,kBAAkB;AAAA,IACrE,SAAS,MAAM;AAAA,IACf;AAAA,EACF,CAAC;AAED,QAAM,WAAW,SAAS,SAAS,MAAM,GAAG,cAAc;AAC1D,QAAM,cAAc,SAAS,UAAU,KAAK;AAC5C,QAAM,WAAW,SAAS,UAAU,QAAQ;AAC5C,MAAI,OAAO,aAAa,OAAO,YAAY,OAAO,UAAU,OAAO,UAAU;AAC3E,UAAM,IAAI,MAAM,6BAA6B;AAAA,EAC/C;AAEA,SAAO;AAAA,IACL,SAAS,SAAS;AAAA,IAClB,eAAe;AAAA,EACjB;AACF;AAEA,eAAsB,qBACpB,WACA,OAC6B;AAC7B,4BAA0B,KAAK;AAE/B,QAAM,SAAS,MAAMA;AAAA,IACnB,2BAA2B,SAAS;AAAA,EACtC,EAAE,kBAAkB;AAAA,IAClB,SAAS,MAAM;AAAA,IACf,kBAAkB,MAAM;AAAA,EAC1B,CAAC;AAED,QAAM,WAAW,SAAS,SAAS,MAAM,GAAG,YAAY;AACxD,QAAM,QAAQ,SAAS,UAAU,KAAK;AACtC,QAAM,gBAAgB,SAAS,UAAU,aAAa;AACtD,MAAI,OAAO,OAAO,OAAO,YAAY,OAAO,eAAe,OAAO,UAAU;AAC1E,UAAM,IAAI,MAAM,kCAAkC;AAAA,EACpD;AAEA,SAAO;AAAA,IACL,SAAS,MAAM;AAAA,IACf,kBAAkB,cAAc;AAAA,IAChC,OAAO;AAAA,EACT;AACF;AAEA,eAAsB,wBACpB,WACA,OAC6B;AAC7B,4BAA0B,KAAK;AAE/B,QAAM,SAAS,MAAMA;AAAA,IACnB,2BAA2B,SAAS;AAAA,EACtC,EAAE,qBAAqB;AAAA,IACrB,SAAS,MAAM;AAAA,IACf,kBAAkB,MAAM;AAAA,EAC1B,CAAC;AAED,QAAM,WAAW,SAAS,SAAS,MAAM,GAAG,eAAe;AAC3D,QAAM,QAAQ,SAAS,UAAU,KAAK;AACtC,QAAM,gBAAgB,SAAS,UAAU,aAAa;AACtD,MAAI,OAAO,OAAO,OAAO,YAAY,OAAO,eAAe,OAAO,UAAU;AAC1E,UAAM,IAAI,MAAM,kCAAkC;AAAA,EACpD;AAEA,SAAO;AAAA,IACL,SAAS,MAAM;AAAA,IACf,kBAAkB,cAAc;AAAA,IAChC,SAAS;AAAA,EACX;AACF;","names":["getSdk","defaultWrapper","getSdk","getSdk"]}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IssueCoreFieldsFragmentDoc
|
|
3
|
+
} from "./chunk-3DU2WHXF.js";
|
|
4
|
+
import {
|
|
5
|
+
PageInfoFieldsFragmentDoc
|
|
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
|
+
|
|
16
|
+
// src/gql/operations/issue-comments-list.generated.ts
|
|
17
|
+
var IssueCommentsListDocument = `
|
|
18
|
+
query IssueCommentsList($owner: String!, $name: String!, $issueNumber: Int!, $first: Int!, $after: String) {
|
|
19
|
+
repository(owner: $owner, name: $name) {
|
|
20
|
+
issue(number: $issueNumber) {
|
|
21
|
+
comments(first: $first, after: $after) {
|
|
22
|
+
nodes {
|
|
23
|
+
id
|
|
24
|
+
body
|
|
25
|
+
createdAt
|
|
26
|
+
url
|
|
27
|
+
author {
|
|
28
|
+
login
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
pageInfo {
|
|
32
|
+
...PageInfoFields
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
${PageInfoFieldsFragmentDoc}`;
|
|
39
|
+
var defaultWrapper = (action, _operationName, _operationType, _variables) => action();
|
|
40
|
+
function getSdk(client, withWrapper = defaultWrapper) {
|
|
41
|
+
return {
|
|
42
|
+
IssueCommentsList(variables, requestHeaders, signal) {
|
|
43
|
+
return withWrapper(
|
|
44
|
+
(wrappedRequestHeaders) => client.request({
|
|
45
|
+
document: IssueCommentsListDocument,
|
|
46
|
+
variables,
|
|
47
|
+
requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },
|
|
48
|
+
signal
|
|
49
|
+
}),
|
|
50
|
+
"IssueCommentsList",
|
|
51
|
+
"query",
|
|
52
|
+
variables
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// src/gql/operations/issue-list.generated.ts
|
|
59
|
+
var IssueListDocument = `
|
|
60
|
+
query IssueList($owner: String!, $name: String!, $first: Int!, $after: String) {
|
|
61
|
+
repository(owner: $owner, name: $name) {
|
|
62
|
+
issues(
|
|
63
|
+
first: $first
|
|
64
|
+
after: $after
|
|
65
|
+
orderBy: {field: CREATED_AT, direction: DESC}
|
|
66
|
+
) {
|
|
67
|
+
nodes {
|
|
68
|
+
...IssueCoreFields
|
|
69
|
+
}
|
|
70
|
+
pageInfo {
|
|
71
|
+
...PageInfoFields
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
${IssueCoreFieldsFragmentDoc}
|
|
77
|
+
${PageInfoFieldsFragmentDoc}`;
|
|
78
|
+
var defaultWrapper2 = (action, _operationName, _operationType, _variables) => action();
|
|
79
|
+
function getSdk2(client, withWrapper = defaultWrapper2) {
|
|
80
|
+
return {
|
|
81
|
+
IssueList(variables, requestHeaders, signal) {
|
|
82
|
+
return withWrapper(
|
|
83
|
+
(wrappedRequestHeaders) => client.request({
|
|
84
|
+
document: IssueListDocument,
|
|
85
|
+
variables,
|
|
86
|
+
requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },
|
|
87
|
+
signal
|
|
88
|
+
}),
|
|
89
|
+
"IssueList",
|
|
90
|
+
"query",
|
|
91
|
+
variables
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// src/gql/operations/issue-view.generated.ts
|
|
98
|
+
var IssueViewDocument = `
|
|
99
|
+
query IssueView($owner: String!, $name: String!, $issueNumber: Int!) {
|
|
100
|
+
repository(owner: $owner, name: $name) {
|
|
101
|
+
issue(number: $issueNumber) {
|
|
102
|
+
...IssueCoreFields
|
|
103
|
+
body
|
|
104
|
+
labels(first: 20) {
|
|
105
|
+
nodes {
|
|
106
|
+
name
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
${IssueCoreFieldsFragmentDoc}`;
|
|
113
|
+
var defaultWrapper3 = (action, _operationName, _operationType, _variables) => action();
|
|
114
|
+
function getSdk3(client, withWrapper = defaultWrapper3) {
|
|
115
|
+
return {
|
|
116
|
+
IssueView(variables, requestHeaders, signal) {
|
|
117
|
+
return withWrapper(
|
|
118
|
+
(wrappedRequestHeaders) => client.request({
|
|
119
|
+
document: IssueViewDocument,
|
|
120
|
+
variables,
|
|
121
|
+
requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },
|
|
122
|
+
signal
|
|
123
|
+
}),
|
|
124
|
+
"IssueView",
|
|
125
|
+
"query",
|
|
126
|
+
variables
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
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
|
+
export {
|
|
204
|
+
runIssueCommentsList,
|
|
205
|
+
runIssueList,
|
|
206
|
+
runIssueView
|
|
207
|
+
};
|
|
208
|
+
//# sourceMappingURL=issue-queries-GRA4MKPD.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","../src/gql/domains/issue-queries.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","import {\n assertIssueCommentsListInput,\n assertIssueInput,\n assertIssueListInput,\n} from \"../assertions.js\"\nimport type { IssueCommentsListQuery } from \"../operations/issue-comments-list.generated.js\"\nimport { getSdk as getIssueCommentsListSdk } from \"../operations/issue-comments-list.generated.js\"\nimport type { IssueListQuery } from \"../operations/issue-list.generated.js\"\nimport { getSdk as getIssueListSdk } from \"../operations/issue-list.generated.js\"\nimport type { IssueViewQuery } from \"../operations/issue-view.generated.js\"\nimport { getSdk as getIssueViewSdk } from \"../operations/issue-view.generated.js\"\nimport type { GraphqlTransport } from \"../transport.js\"\nimport { createGraphqlRequestClient } from \"../transport.js\"\nimport type {\n IssueCommentsListData,\n IssueCommentsListInput,\n IssueListData,\n IssueListInput,\n IssueViewData,\n IssueViewInput,\n} from \"../types.js\"\n\nexport async function runIssueView(\n transport: GraphqlTransport,\n input: IssueViewInput,\n): Promise<IssueViewData> {\n assertIssueInput(input)\n\n const sdk = getIssueViewSdk(createGraphqlRequestClient(transport))\n const result: IssueViewQuery = await sdk.IssueView(input)\n const issue = result.repository?.issue\n if (!issue) {\n throw new Error(\"Issue not found\")\n }\n\n return {\n id: issue.id,\n number: issue.number,\n title: issue.title,\n state: issue.state,\n url: issue.url,\n body: issue.body ?? \"\",\n labels: (issue.labels?.nodes ?? []).flatMap((n) => (n ? [n.name] : [])),\n }\n}\n\nexport async function runIssueList(\n transport: GraphqlTransport,\n input: IssueListInput,\n): Promise<IssueListData> {\n assertIssueListInput(input)\n\n const sdk = getIssueListSdk(createGraphqlRequestClient(transport))\n const result: IssueListQuery = await sdk.IssueList(input)\n const issues = result.repository?.issues\n if (!issues) {\n throw new Error(\"Issues not found\")\n }\n\n return {\n items: (issues.nodes ?? []).flatMap((issue) =>\n issue\n ? [\n {\n id: issue.id,\n number: issue.number,\n title: issue.title,\n state: issue.state,\n url: issue.url,\n },\n ]\n : [],\n ),\n pageInfo: {\n endCursor: issues.pageInfo.endCursor ?? null,\n hasNextPage: issues.pageInfo.hasNextPage,\n },\n }\n}\n\nexport async function runIssueCommentsList(\n transport: GraphqlTransport,\n input: IssueCommentsListInput,\n): Promise<IssueCommentsListData> {\n assertIssueCommentsListInput(input)\n\n const sdk = getIssueCommentsListSdk(createGraphqlRequestClient(transport))\n const result: IssueCommentsListQuery = await sdk.IssueCommentsList(input)\n const comments = result.repository?.issue?.comments\n if (!comments) {\n throw new Error(\"Issue comments not found\")\n }\n\n return {\n items: (comments.nodes ?? []).flatMap((comment) =>\n comment\n ? [\n {\n id: comment.id,\n body: comment.body,\n authorLogin: comment.author?.login ?? null,\n createdAt: comment.createdAt,\n url: String(comment.url),\n },\n ]\n : [],\n ),\n pageInfo: {\n endCursor: comments.pageInfo.endCursor ?? null,\n hasNextPage: comments.pageInfo.hasNextPage,\n },\n }\n}\n"],"mappings":"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","names":["defaultWrapper","getSdk","defaultWrapper","getSdk","getSdk"]}
|