@paysdoc/devplatform 1.0.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/LICENSE +21 -0
- package/README.md +122 -0
- package/dist/git/bootstrapIdentity.d.ts +50 -0
- package/dist/git/bootstrapIdentity.d.ts.map +1 -0
- package/dist/git/bootstrapIdentity.js +72 -0
- package/dist/git/bootstrapIdentity.js.map +1 -0
- package/dist/git/branchOps.d.ts +27 -0
- package/dist/git/branchOps.d.ts.map +1 -0
- package/dist/git/branchOps.js +91 -0
- package/dist/git/branchOps.js.map +1 -0
- package/dist/git/claimOps.d.ts +40 -0
- package/dist/git/claimOps.d.ts.map +1 -0
- package/dist/git/claimOps.js +44 -0
- package/dist/git/claimOps.js.map +1 -0
- package/dist/git/commitOps.d.ts +35 -0
- package/dist/git/commitOps.d.ts.map +1 -0
- package/dist/git/commitOps.js +131 -0
- package/dist/git/commitOps.js.map +1 -0
- package/dist/git/consoleLogger.d.ts +8 -0
- package/dist/git/consoleLogger.d.ts.map +1 -0
- package/dist/git/consoleLogger.js +9 -0
- package/dist/git/consoleLogger.js.map +1 -0
- package/dist/git/gitContext.d.ts +150 -0
- package/dist/git/gitContext.d.ts.map +1 -0
- package/dist/git/gitContext.js +405 -0
- package/dist/git/gitContext.js.map +1 -0
- package/dist/git/gitReadOps.d.ts +33 -0
- package/dist/git/gitReadOps.d.ts.map +1 -0
- package/dist/git/gitReadOps.js +38 -0
- package/dist/git/gitReadOps.js.map +1 -0
- package/dist/git/index.d.ts +49 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +44 -0
- package/dist/git/index.js.map +1 -0
- package/dist/git/processCleanup.d.ts +7 -0
- package/dist/git/processCleanup.d.ts.map +1 -0
- package/dist/git/processCleanup.js +45 -0
- package/dist/git/processCleanup.js.map +1 -0
- package/dist/git/remoteOps.d.ts +25 -0
- package/dist/git/remoteOps.d.ts.map +1 -0
- package/dist/git/remoteOps.js +30 -0
- package/dist/git/remoteOps.js.map +1 -0
- package/dist/git/repoWorkspace.d.ts +72 -0
- package/dist/git/repoWorkspace.d.ts.map +1 -0
- package/dist/git/repoWorkspace.js +85 -0
- package/dist/git/repoWorkspace.js.map +1 -0
- package/dist/git/types.d.ts +182 -0
- package/dist/git/types.d.ts.map +1 -0
- package/dist/git/types.js +10 -0
- package/dist/git/types.js.map +1 -0
- package/dist/git/workingDirectoryGuard.d.ts +39 -0
- package/dist/git/workingDirectoryGuard.d.ts.map +1 -0
- package/dist/git/workingDirectoryGuard.js +53 -0
- package/dist/git/workingDirectoryGuard.js.map +1 -0
- package/dist/git/worktreeCreateOps.d.ts +45 -0
- package/dist/git/worktreeCreateOps.d.ts.map +1 -0
- package/dist/git/worktreeCreateOps.js +208 -0
- package/dist/git/worktreeCreateOps.js.map +1 -0
- package/dist/git/worktreeProbeOps.d.ts +17 -0
- package/dist/git/worktreeProbeOps.d.ts.map +1 -0
- package/dist/git/worktreeProbeOps.js +66 -0
- package/dist/git/worktreeProbeOps.js.map +1 -0
- package/dist/git/worktreeQueryOps.d.ts +45 -0
- package/dist/git/worktreeQueryOps.d.ts.map +1 -0
- package/dist/git/worktreeQueryOps.js +129 -0
- package/dist/git/worktreeQueryOps.js.map +1 -0
- package/dist/git/worktreeRemoveOps.d.ts +27 -0
- package/dist/git/worktreeRemoveOps.d.ts.map +1 -0
- package/dist/git/worktreeRemoveOps.js +132 -0
- package/dist/git/worktreeRemoveOps.js.map +1 -0
- package/dist/git/worktreeResetOps.d.ts +18 -0
- package/dist/git/worktreeResetOps.d.ts.map +1 -0
- package/dist/git/worktreeResetOps.js +68 -0
- package/dist/git/worktreeResetOps.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/forgeProviders.d.ts +72 -0
- package/dist/providers/forgeProviders.d.ts.map +1 -0
- package/dist/providers/forgeProviders.js +112 -0
- package/dist/providers/forgeProviders.js.map +1 -0
- package/dist/providers/github/appAuth.d.ts +70 -0
- package/dist/providers/github/appAuth.d.ts.map +1 -0
- package/dist/providers/github/appAuth.js +243 -0
- package/dist/providers/github/appAuth.js.map +1 -0
- package/dist/providers/github/cloneUrl.d.ts +12 -0
- package/dist/providers/github/cloneUrl.d.ts.map +1 -0
- package/dist/providers/github/cloneUrl.js +20 -0
- package/dist/providers/github/cloneUrl.js.map +1 -0
- package/dist/providers/github/commands/boardCommands.d.ts +22 -0
- package/dist/providers/github/commands/boardCommands.d.ts.map +1 -0
- package/dist/providers/github/commands/boardCommands.js +66 -0
- package/dist/providers/github/commands/boardCommands.js.map +1 -0
- package/dist/providers/github/commands/issueCommands.d.ts +21 -0
- package/dist/providers/github/commands/issueCommands.d.ts.map +1 -0
- package/dist/providers/github/commands/issueCommands.js +50 -0
- package/dist/providers/github/commands/issueCommands.js.map +1 -0
- package/dist/providers/github/commands/labelCommands.d.ts +3 -0
- package/dist/providers/github/commands/labelCommands.d.ts.map +1 -0
- package/dist/providers/github/commands/labelCommands.js +8 -0
- package/dist/providers/github/commands/labelCommands.js.map +1 -0
- package/dist/providers/github/commands/prCommands.d.ts +14 -0
- package/dist/providers/github/commands/prCommands.d.ts.map +1 -0
- package/dist/providers/github/commands/prCommands.js +46 -0
- package/dist/providers/github/commands/prCommands.js.map +1 -0
- package/dist/providers/github/commands/secretCommands.d.ts +2 -0
- package/dist/providers/github/commands/secretCommands.d.ts.map +1 -0
- package/dist/providers/github/commands/secretCommands.js +5 -0
- package/dist/providers/github/commands/secretCommands.js.map +1 -0
- package/dist/providers/github/contextBinding.d.ts +11 -0
- package/dist/providers/github/contextBinding.d.ts.map +1 -0
- package/dist/providers/github/contextBinding.js +15 -0
- package/dist/providers/github/contextBinding.js.map +1 -0
- package/dist/providers/github/domain/issue.d.ts +94 -0
- package/dist/providers/github/domain/issue.d.ts.map +1 -0
- package/dist/providers/github/domain/issue.js +7 -0
- package/dist/providers/github/domain/issue.js.map +1 -0
- package/dist/providers/github/domain/pullRequest.d.ts +55 -0
- package/dist/providers/github/domain/pullRequest.d.ts.map +1 -0
- package/dist/providers/github/domain/pullRequest.js +9 -0
- package/dist/providers/github/domain/pullRequest.js.map +1 -0
- package/dist/providers/github/ghAuthToken.d.ts +28 -0
- package/dist/providers/github/ghAuthToken.d.ts.map +1 -0
- package/dist/providers/github/ghAuthToken.js +39 -0
- package/dist/providers/github/ghAuthToken.js.map +1 -0
- package/dist/providers/github/ghCommandRunner.d.ts +20 -0
- package/dist/providers/github/ghCommandRunner.d.ts.map +1 -0
- package/dist/providers/github/ghCommandRunner.js +21 -0
- package/dist/providers/github/ghCommandRunner.js.map +1 -0
- package/dist/providers/github/ghIssueApi.d.ts +29 -0
- package/dist/providers/github/ghIssueApi.d.ts.map +1 -0
- package/dist/providers/github/ghIssueApi.js +37 -0
- package/dist/providers/github/ghIssueApi.js.map +1 -0
- package/dist/providers/github/ghIssueParsers.d.ts +28 -0
- package/dist/providers/github/ghIssueParsers.d.ts.map +1 -0
- package/dist/providers/github/ghIssueParsers.js +105 -0
- package/dist/providers/github/ghIssueParsers.js.map +1 -0
- package/dist/providers/github/ghPrApi.d.ts +27 -0
- package/dist/providers/github/ghPrApi.d.ts.map +1 -0
- package/dist/providers/github/ghPrApi.js +32 -0
- package/dist/providers/github/ghPrApi.js.map +1 -0
- package/dist/providers/github/ghPrParsers.d.ts +57 -0
- package/dist/providers/github/ghPrParsers.d.ts.map +1 -0
- package/dist/providers/github/ghPrParsers.js +135 -0
- package/dist/providers/github/ghPrParsers.js.map +1 -0
- package/dist/providers/github/ghRepoApi.d.ts +33 -0
- package/dist/providers/github/ghRepoApi.d.ts.map +1 -0
- package/dist/providers/github/ghRepoApi.js +89 -0
- package/dist/providers/github/ghRepoApi.js.map +1 -0
- package/dist/providers/github/githubBoardManager.d.ts +39 -0
- package/dist/providers/github/githubBoardManager.d.ts.map +1 -0
- package/dist/providers/github/githubBoardManager.js +166 -0
- package/dist/providers/github/githubBoardManager.js.map +1 -0
- package/dist/providers/github/githubCodeHost.d.ts +73 -0
- package/dist/providers/github/githubCodeHost.d.ts.map +1 -0
- package/dist/providers/github/githubCodeHost.js +217 -0
- package/dist/providers/github/githubCodeHost.js.map +1 -0
- package/dist/providers/github/githubIdentity.d.ts +51 -0
- package/dist/providers/github/githubIdentity.d.ts.map +1 -0
- package/dist/providers/github/githubIdentity.js +110 -0
- package/dist/providers/github/githubIdentity.js.map +1 -0
- package/dist/providers/github/githubIssueTracker.d.ts +69 -0
- package/dist/providers/github/githubIssueTracker.d.ts.map +1 -0
- package/dist/providers/github/githubIssueTracker.js +209 -0
- package/dist/providers/github/githubIssueTracker.js.map +1 -0
- package/dist/providers/github/githubTokenProvider.d.ts +41 -0
- package/dist/providers/github/githubTokenProvider.d.ts.map +1 -0
- package/dist/providers/github/githubTokenProvider.js +51 -0
- package/dist/providers/github/githubTokenProvider.js.map +1 -0
- package/dist/providers/github/index.d.ts +10 -0
- package/dist/providers/github/index.d.ts.map +1 -0
- package/dist/providers/github/index.js +5 -0
- package/dist/providers/github/index.js.map +1 -0
- package/dist/providers/github/mappers.d.ts +40 -0
- package/dist/providers/github/mappers.d.ts.map +1 -0
- package/dist/providers/github/mappers.js +103 -0
- package/dist/providers/github/mappers.js.map +1 -0
- package/dist/providers/github/tokenResolver.d.ts +37 -0
- package/dist/providers/github/tokenResolver.d.ts.map +1 -0
- package/dist/providers/github/tokenResolver.js +43 -0
- package/dist/providers/github/tokenResolver.js.map +1 -0
- package/dist/providers/gitlab/gitlabApiClient.d.ts +45 -0
- package/dist/providers/gitlab/gitlabApiClient.d.ts.map +1 -0
- package/dist/providers/gitlab/gitlabApiClient.js +95 -0
- package/dist/providers/gitlab/gitlabApiClient.js.map +1 -0
- package/dist/providers/gitlab/gitlabBoardManager.d.ts +11 -0
- package/dist/providers/gitlab/gitlabBoardManager.d.ts.map +1 -0
- package/dist/providers/gitlab/gitlabBoardManager.js +27 -0
- package/dist/providers/gitlab/gitlabBoardManager.js.map +1 -0
- package/dist/providers/gitlab/gitlabCodeHost.d.ts +49 -0
- package/dist/providers/gitlab/gitlabCodeHost.d.ts.map +1 -0
- package/dist/providers/gitlab/gitlabCodeHost.js +109 -0
- package/dist/providers/gitlab/gitlabCodeHost.js.map +1 -0
- package/dist/providers/gitlab/gitlabTypes.d.ts +46 -0
- package/dist/providers/gitlab/gitlabTypes.d.ts.map +1 -0
- package/dist/providers/gitlab/gitlabTypes.js +6 -0
- package/dist/providers/gitlab/gitlabTypes.js.map +1 -0
- package/dist/providers/gitlab/index.d.ts +5 -0
- package/dist/providers/gitlab/index.d.ts.map +1 -0
- package/dist/providers/gitlab/index.js +4 -0
- package/dist/providers/gitlab/index.js.map +1 -0
- package/dist/providers/gitlab/mappers.d.ts +26 -0
- package/dist/providers/gitlab/mappers.d.ts.map +1 -0
- package/dist/providers/gitlab/mappers.js +63 -0
- package/dist/providers/gitlab/mappers.js.map +1 -0
- package/dist/providers/index.d.ts +7 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +7 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/jira/adfConverter.d.ts +32 -0
- package/dist/providers/jira/adfConverter.d.ts.map +1 -0
- package/dist/providers/jira/adfConverter.js +144 -0
- package/dist/providers/jira/adfConverter.js.map +1 -0
- package/dist/providers/jira/index.d.ts +8 -0
- package/dist/providers/jira/index.d.ts.map +1 -0
- package/dist/providers/jira/index.js +5 -0
- package/dist/providers/jira/index.js.map +1 -0
- package/dist/providers/jira/jiraApiClient.d.ts +42 -0
- package/dist/providers/jira/jiraApiClient.d.ts.map +1 -0
- package/dist/providers/jira/jiraApiClient.js +84 -0
- package/dist/providers/jira/jiraApiClient.js.map +1 -0
- package/dist/providers/jira/jiraBoardManager.d.ts +11 -0
- package/dist/providers/jira/jiraBoardManager.d.ts.map +1 -0
- package/dist/providers/jira/jiraBoardManager.js +27 -0
- package/dist/providers/jira/jiraBoardManager.js.map +1 -0
- package/dist/providers/jira/jiraIssueTracker.d.ts +53 -0
- package/dist/providers/jira/jiraIssueTracker.d.ts.map +1 -0
- package/dist/providers/jira/jiraIssueTracker.js +231 -0
- package/dist/providers/jira/jiraIssueTracker.js.map +1 -0
- package/dist/providers/jira/jiraTypes.d.ts +61 -0
- package/dist/providers/jira/jiraTypes.d.ts.map +1 -0
- package/dist/providers/jira/jiraTypes.js +6 -0
- package/dist/providers/jira/jiraTypes.js.map +1 -0
- package/dist/providers/types.d.ts +271 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +52 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/providers/workspaceValidation.d.ts +18 -0
- package/dist/providers/workspaceValidation.d.ts.map +1 -0
- package/dist/providers/workspaceValidation.js +37 -0
- package/dist/providers/workspaceValidation.js.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Case-insensitive owner/repo cross-check shared by the three GitHub port
|
|
3
|
+
* factories — refuses a `GitContext` bound to a different repository than
|
|
4
|
+
* the caller's declared `RepoIdentifier`. Mirrors `sameRepoIdentity` in
|
|
5
|
+
* `adws/core/repoIdentityCrossCheck.ts`, which the adapter cannot import.
|
|
6
|
+
* `platform` is deliberately not compared.
|
|
7
|
+
*/
|
|
8
|
+
export function assertContextBoundTo(ctx, repoId, factoryName) {
|
|
9
|
+
const sameOwner = ctx.owner.toLowerCase() === repoId.owner.toLowerCase();
|
|
10
|
+
const sameRepo = ctx.repo.toLowerCase() === repoId.repo.toLowerCase();
|
|
11
|
+
if (sameOwner && sameRepo)
|
|
12
|
+
return;
|
|
13
|
+
throw new Error(`${factoryName}: GitContext is bound to ${ctx.owner}/${ctx.repo} but repoId names ${repoId.owner}/${repoId.repo}`);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=contextBinding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextBinding.js","sourceRoot":"","sources":["../../../src/providers/github/contextBinding.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,UAAU,oBAAoB,CAClC,GAAuC,EACvC,MAAsB,EACtB,WAAmB;IAEnB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACtE,IAAI,SAAS,IAAI,QAAQ;QAAE,OAAO;IAElC,MAAM,IAAI,KAAK,CACb,GAAG,WAAW,4BAA4B,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,qBAAqB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAClH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter-owned raw GitHub payload shapes for issues (#817, PRD story 7).
|
|
3
|
+
* Pure type declarations — no runtime code, no imports — so this module sits
|
|
4
|
+
* inside EXTRACTION_SCOPE. Moved verbatim from `adws/types/issueTypes.ts`.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* GitHub user model.
|
|
8
|
+
*/
|
|
9
|
+
export interface GitHubUser {
|
|
10
|
+
/** Not always returned by GitHub API */
|
|
11
|
+
id?: string | null;
|
|
12
|
+
login: string;
|
|
13
|
+
name?: string | null;
|
|
14
|
+
isBot: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* GitHub label model.
|
|
18
|
+
*/
|
|
19
|
+
export interface GitHubLabel {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
color: string;
|
|
23
|
+
description?: string | null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* GitHub milestone model.
|
|
27
|
+
*/
|
|
28
|
+
export interface GitHubMilestone {
|
|
29
|
+
id: string;
|
|
30
|
+
number: number;
|
|
31
|
+
title: string;
|
|
32
|
+
description?: string | null;
|
|
33
|
+
state: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* GitHub comment model.
|
|
37
|
+
*/
|
|
38
|
+
export interface GitHubComment {
|
|
39
|
+
id: string;
|
|
40
|
+
author: GitHubUser;
|
|
41
|
+
body: string;
|
|
42
|
+
/** ISO 8601 date string */
|
|
43
|
+
createdAt: string;
|
|
44
|
+
/** ISO 8601 date string - Not always returned */
|
|
45
|
+
updatedAt?: string | null;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* GitHub issue model for list responses (simplified).
|
|
49
|
+
*/
|
|
50
|
+
export interface GitHubIssueListItem {
|
|
51
|
+
number: number;
|
|
52
|
+
title: string;
|
|
53
|
+
body: string;
|
|
54
|
+
labels: GitHubLabel[];
|
|
55
|
+
/** ISO 8601 date string */
|
|
56
|
+
createdAt: string;
|
|
57
|
+
/** ISO 8601 date string */
|
|
58
|
+
updatedAt: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* GitHub issue model (full).
|
|
62
|
+
*/
|
|
63
|
+
export interface GitHubIssue {
|
|
64
|
+
number: number;
|
|
65
|
+
title: string;
|
|
66
|
+
body: string;
|
|
67
|
+
state: string;
|
|
68
|
+
author: GitHubUser;
|
|
69
|
+
assignees: GitHubUser[];
|
|
70
|
+
labels: GitHubLabel[];
|
|
71
|
+
milestone?: GitHubMilestone | null;
|
|
72
|
+
comments: GitHubComment[];
|
|
73
|
+
/** ISO 8601 date string */
|
|
74
|
+
createdAt: string;
|
|
75
|
+
/** ISO 8601 date string */
|
|
76
|
+
updatedAt: string;
|
|
77
|
+
/** ISO 8601 date string */
|
|
78
|
+
closedAt?: string | null;
|
|
79
|
+
url: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Minimal issue comment from GitHub REST API (for listing/deleting).
|
|
83
|
+
*/
|
|
84
|
+
export interface IssueCommentSummary {
|
|
85
|
+
/** Numeric REST API comment ID (required for deletion). */
|
|
86
|
+
id: number;
|
|
87
|
+
/** Comment body text. */
|
|
88
|
+
body: string;
|
|
89
|
+
/** Comment author login. */
|
|
90
|
+
authorLogin: string;
|
|
91
|
+
/** ISO 8601 creation timestamp. */
|
|
92
|
+
createdAt: string;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=issue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../../../src/providers/github/domain/issue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter-owned raw GitHub payload shapes for issues (#817, PRD story 7).
|
|
3
|
+
* Pure type declarations — no runtime code, no imports — so this module sits
|
|
4
|
+
* inside EXTRACTION_SCOPE. Moved verbatim from `adws/types/issueTypes.ts`.
|
|
5
|
+
*/
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=issue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../../src/providers/github/domain/issue.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter-owned raw GitHub payload shapes for pull requests (#817, PRD story 7).
|
|
3
|
+
* Pure type declarations — no runtime code — so this module sits inside
|
|
4
|
+
* EXTRACTION_SCOPE. `PRReviewComment`/`PRDetails`/`PRListItem` moved verbatim
|
|
5
|
+
* from `adws/types/workflowTypes.ts`; `RawPR` moved verbatim from
|
|
6
|
+
* `adws/github/prApi.ts`.
|
|
7
|
+
*/
|
|
8
|
+
import type { GitHubUser } from './issue.js';
|
|
9
|
+
/**
|
|
10
|
+
* PR review comment from GitHub API.
|
|
11
|
+
*/
|
|
12
|
+
export interface PRReviewComment {
|
|
13
|
+
id: number;
|
|
14
|
+
author: GitHubUser;
|
|
15
|
+
body: string;
|
|
16
|
+
path: string;
|
|
17
|
+
line: number | null;
|
|
18
|
+
createdAt: string;
|
|
19
|
+
updatedAt: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* PR details from GitHub API.
|
|
23
|
+
*/
|
|
24
|
+
export interface PRDetails {
|
|
25
|
+
number: number;
|
|
26
|
+
title: string;
|
|
27
|
+
body: string;
|
|
28
|
+
state: string;
|
|
29
|
+
headBranch: string;
|
|
30
|
+
baseBranch: string;
|
|
31
|
+
url: string;
|
|
32
|
+
/** Extracted from PR body (e.g., "Implements #12") */
|
|
33
|
+
issueNumber: number | null;
|
|
34
|
+
reviewComments: PRReviewComment[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* PR list item for CRON trigger polling.
|
|
38
|
+
*/
|
|
39
|
+
export interface PRListItem {
|
|
40
|
+
number: number;
|
|
41
|
+
headBranch: string;
|
|
42
|
+
updatedAt: string;
|
|
43
|
+
}
|
|
44
|
+
/** Shape of a PR entry returned by `gh pr list --json ...` */
|
|
45
|
+
export interface RawPR {
|
|
46
|
+
readonly number: number;
|
|
47
|
+
readonly state: string;
|
|
48
|
+
readonly headRefName: string;
|
|
49
|
+
readonly baseRefName: string;
|
|
50
|
+
/** Present when the lookup requested labels; absent for callers that don't. */
|
|
51
|
+
readonly labels?: readonly {
|
|
52
|
+
readonly name: string;
|
|
53
|
+
}[];
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=pullRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pullRequest.d.ts","sourceRoot":"","sources":["../../../../src/providers/github/domain/pullRequest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,eAAe,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,8DAA8D;AAC9D,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter-owned raw GitHub payload shapes for pull requests (#817, PRD story 7).
|
|
3
|
+
* Pure type declarations — no runtime code — so this module sits inside
|
|
4
|
+
* EXTRACTION_SCOPE. `PRReviewComment`/`PRDetails`/`PRListItem` moved verbatim
|
|
5
|
+
* from `adws/types/workflowTypes.ts`; `RawPR` moved verbatim from
|
|
6
|
+
* `adws/github/prApi.ts`.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=pullRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pullRequest.js","sourceRoot":"","sources":["../../../../src/providers/github/domain/pullRequest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `gh auth token` — moved here from the git core by issue #793, resolving
|
|
3
|
+
* the open question `feature-792.feature` flagged rather than pinned
|
|
4
|
+
* ("A DIRECT `gh` SPAWN REMAINS IN THE CORE AFTER THIS SLICE… whichever way
|
|
5
|
+
* the reviewer decides, it should be a decision rather than an oversight").
|
|
6
|
+
*
|
|
7
|
+
* Why this package: #792's guard contract is "only the git core may run
|
|
8
|
+
* git; only the GitHub adapter may issue gh" — `gh auth token` is a `gh`
|
|
9
|
+
* command, so the adapter is its only correct home.
|
|
10
|
+
*
|
|
11
|
+
* Why not the ADW boundary (`adws/github/`): that directory is
|
|
12
|
+
* unprivileged under `adws/checkGitGhGuard.ts`'s `EXEMPT_PACKAGES` — the
|
|
13
|
+
* ALLOWLIST is gone, and `(0 allowlisted)` is pinned by `@adw-700`.
|
|
14
|
+
* `bun run lint:git-guard` would fail a shell-out placed there.
|
|
15
|
+
*
|
|
16
|
+
* Why not routed through `ghCommandRunner`: this function is the
|
|
17
|
+
* pre-context read that *produces* the credential `ghCommandRunner`'s
|
|
18
|
+
* TokenProvider needs — a credentialed executor would recurse through the
|
|
19
|
+
* credential assembly it is being asked for. It stays a direct spawn inside
|
|
20
|
+
* this guard-exempt adapter, the `gh`-side mirror of the core's
|
|
21
|
+
* `readOriginRemoteUrl` pre-context `git` read.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Returns the `gh auth token` output, or an empty string if gh is not available.
|
|
25
|
+
* Exposed for use by the token resolver in bootstrap contexts.
|
|
26
|
+
*/
|
|
27
|
+
export declare function ghAuthToken(): string;
|
|
28
|
+
//# sourceMappingURL=ghAuthToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghAuthToken.d.ts","sourceRoot":"","sources":["../../../src/providers/github/ghAuthToken.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CASpC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `gh auth token` — moved here from the git core by issue #793, resolving
|
|
3
|
+
* the open question `feature-792.feature` flagged rather than pinned
|
|
4
|
+
* ("A DIRECT `gh` SPAWN REMAINS IN THE CORE AFTER THIS SLICE… whichever way
|
|
5
|
+
* the reviewer decides, it should be a decision rather than an oversight").
|
|
6
|
+
*
|
|
7
|
+
* Why this package: #792's guard contract is "only the git core may run
|
|
8
|
+
* git; only the GitHub adapter may issue gh" — `gh auth token` is a `gh`
|
|
9
|
+
* command, so the adapter is its only correct home.
|
|
10
|
+
*
|
|
11
|
+
* Why not the ADW boundary (`adws/github/`): that directory is
|
|
12
|
+
* unprivileged under `adws/checkGitGhGuard.ts`'s `EXEMPT_PACKAGES` — the
|
|
13
|
+
* ALLOWLIST is gone, and `(0 allowlisted)` is pinned by `@adw-700`.
|
|
14
|
+
* `bun run lint:git-guard` would fail a shell-out placed there.
|
|
15
|
+
*
|
|
16
|
+
* Why not routed through `ghCommandRunner`: this function is the
|
|
17
|
+
* pre-context read that *produces* the credential `ghCommandRunner`'s
|
|
18
|
+
* TokenProvider needs — a credentialed executor would recurse through the
|
|
19
|
+
* credential assembly it is being asked for. It stays a direct spawn inside
|
|
20
|
+
* this guard-exempt adapter, the `gh`-side mirror of the core's
|
|
21
|
+
* `readOriginRemoteUrl` pre-context `git` read.
|
|
22
|
+
*/
|
|
23
|
+
import { execSync } from 'child_process';
|
|
24
|
+
/**
|
|
25
|
+
* Returns the `gh auth token` output, or an empty string if gh is not available.
|
|
26
|
+
* Exposed for use by the token resolver in bootstrap contexts.
|
|
27
|
+
*/
|
|
28
|
+
export function ghAuthToken() {
|
|
29
|
+
try {
|
|
30
|
+
return execSync('gh auth token', {
|
|
31
|
+
encoding: 'utf-8',
|
|
32
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
33
|
+
}).trim();
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return '';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=ghAuthToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghAuthToken.js","sourceRoot":"","sources":["../../../src/providers/github/ghAuthToken.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,eAAe,EAAE;YAC/B,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ghCommandRunner.ts — the GitHub forge adapter's only route to a child process.
|
|
3
|
+
*
|
|
4
|
+
* Reproduces `GitContext`'s private `#runRepoApi` classifier verbatim on the
|
|
5
|
+
* public `exec` surface: the same framework-root cwd class (#775's repo-API
|
|
6
|
+
* contract — repo-independent gh commands carry their identity in the
|
|
7
|
+
* command string and must not depend on a cloned workspace), and the same
|
|
8
|
+
* per-command credential overlay resolved through the TokenProvider port
|
|
9
|
+
* (#791). Imports nothing from `child_process` — every command this adapter
|
|
10
|
+
* issues reaches a process only through `GitContext.exec`.
|
|
11
|
+
*/
|
|
12
|
+
import type { GitContext, CredentialPurpose } from '../../git/index.js';
|
|
13
|
+
export interface GhCommandRunner {
|
|
14
|
+
run(command: string, opts?: {
|
|
15
|
+
input?: string;
|
|
16
|
+
purpose?: CredentialPurpose;
|
|
17
|
+
}): string;
|
|
18
|
+
}
|
|
19
|
+
export declare function createGhCommandRunner(ctx: GitContext): GhCommandRunner;
|
|
20
|
+
//# sourceMappingURL=ghCommandRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghCommandRunner.d.ts","sourceRoot":"","sources":["../../../src/providers/github/ghCommandRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAExE,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,iBAAiB,CAAA;KAAE,GAAG,MAAM,CAAC;CACtF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,eAAe,CAQtE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ghCommandRunner.ts — the GitHub forge adapter's only route to a child process.
|
|
3
|
+
*
|
|
4
|
+
* Reproduces `GitContext`'s private `#runRepoApi` classifier verbatim on the
|
|
5
|
+
* public `exec` surface: the same framework-root cwd class (#775's repo-API
|
|
6
|
+
* contract — repo-independent gh commands carry their identity in the
|
|
7
|
+
* command string and must not depend on a cloned workspace), and the same
|
|
8
|
+
* per-command credential overlay resolved through the TokenProvider port
|
|
9
|
+
* (#791). Imports nothing from `child_process` — every command this adapter
|
|
10
|
+
* issues reaches a process only through `GitContext.exec`.
|
|
11
|
+
*/
|
|
12
|
+
export function createGhCommandRunner(ctx) {
|
|
13
|
+
return {
|
|
14
|
+
run: (command, opts = {}) => ctx.exec(command, {
|
|
15
|
+
cwd: { kind: 'frameworkRoot' },
|
|
16
|
+
env: ctx.commandEnv({}, opts.purpose ?? 'default'),
|
|
17
|
+
input: opts.input,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=ghCommandRunner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghCommandRunner.js","sourceRoot":"","sources":["../../../src/providers/github/ghCommandRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,MAAM,UAAU,qBAAqB,CAAC,GAAe;IACnD,OAAO;QACL,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7C,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;YAC9B,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;YAClD,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ghIssueApi.ts — the 14 issue operations relocated from GitContext's former
|
|
3
|
+
* semantic surface (#797), each a one-to-one relocation of the deleted core
|
|
4
|
+
* method onto a `GhCommandRunner['run']` bound to one owner/repo. Deep-import
|
|
5
|
+
* only — assembled into `GhRepoApi` by `ghRepoApi.ts`.
|
|
6
|
+
*/
|
|
7
|
+
import type { GhCommandRunner } from './ghCommandRunner.js';
|
|
8
|
+
import { type ListOpenIssuesOptions } from './commands/issueCommands.js';
|
|
9
|
+
/** The 14 issue operations relocated from GitContext's former semantic surface, bound to one owner/repo. */
|
|
10
|
+
export interface GhIssueApi {
|
|
11
|
+
fetchIssue(issueNumber: number): string;
|
|
12
|
+
commentOnIssue(issueNumber: number, body: string): void;
|
|
13
|
+
issueState(issueNumber: number): string;
|
|
14
|
+
closeIssue(issueNumber: number): void;
|
|
15
|
+
issueTitle(issueNumber: number): string;
|
|
16
|
+
fetchIssueComments(issueNumber: number): string;
|
|
17
|
+
/** The issue's labels JSON. Renamed from GitContext's misnamed `issueHasLabel` — same command. */
|
|
18
|
+
issueLabels(issueNumber: number): string;
|
|
19
|
+
addIssueLabel(issueNumber: number, labelName: string): void;
|
|
20
|
+
createIssue(title: string, body: string): string;
|
|
21
|
+
updateIssueBody(issueNumber: number, body: string): void;
|
|
22
|
+
findOpenUpgradeIssue(): string;
|
|
23
|
+
deleteIssueComment(commentId: number): void;
|
|
24
|
+
listOpenIssues(opts: ListOpenIssuesOptions): string;
|
|
25
|
+
issueComments(issueNumber: number): string;
|
|
26
|
+
}
|
|
27
|
+
/** Builds a `GhIssueApi` bound to `owner`/`repo`, dispatching each operation through `run`. */
|
|
28
|
+
export declare function ghIssueApi(run: GhCommandRunner['run'], owner: string, repo: string): GhIssueApi;
|
|
29
|
+
//# sourceMappingURL=ghIssueApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghIssueApi.d.ts","sourceRoot":"","sources":["../../../src/providers/github/ghIssueApi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AAErC,4GAA4G;AAC5G,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD,kGAAkG;IAClG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,oBAAoB,IAAI,MAAM,CAAC;IAC/B,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAAC;IACpD,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C;AAED,+FAA+F;AAC/F,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAwC/F"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ghIssueApi.ts — the 14 issue operations relocated from GitContext's former
|
|
3
|
+
* semantic surface (#797), each a one-to-one relocation of the deleted core
|
|
4
|
+
* method onto a `GhCommandRunner['run']` bound to one owner/repo. Deep-import
|
|
5
|
+
* only — assembled into `GhRepoApi` by `ghRepoApi.ts`.
|
|
6
|
+
*/
|
|
7
|
+
import { fetchIssueCmd, commentOnIssueCmd, issueStateCmd, closeIssueCmd, issueTitleCmd, fetchIssueCommentsCmd, issueHasLabelCmd, addIssueLabelCmd, createIssueCmd, updateIssueBodyCmd, findOpenUpgradeIssueCmd, deleteIssueCommentCmd, listOpenIssuesCmd, issueCommentsCmd, } from './commands/issueCommands.js';
|
|
8
|
+
/** Builds a `GhIssueApi` bound to `owner`/`repo`, dispatching each operation through `run`. */
|
|
9
|
+
export function ghIssueApi(run, owner, repo) {
|
|
10
|
+
return {
|
|
11
|
+
fetchIssue: (issueNumber) => run(fetchIssueCmd(owner, repo, issueNumber)),
|
|
12
|
+
commentOnIssue: (issueNumber, body) => {
|
|
13
|
+
run(commentOnIssueCmd(owner, repo, issueNumber), { input: body });
|
|
14
|
+
},
|
|
15
|
+
issueState: (issueNumber) => run(issueStateCmd(owner, repo, issueNumber)),
|
|
16
|
+
closeIssue: (issueNumber) => {
|
|
17
|
+
run(closeIssueCmd(owner, repo, issueNumber));
|
|
18
|
+
},
|
|
19
|
+
issueTitle: (issueNumber) => run(issueTitleCmd(owner, repo, issueNumber)),
|
|
20
|
+
fetchIssueComments: (issueNumber) => run(fetchIssueCommentsCmd(owner, repo, issueNumber)),
|
|
21
|
+
issueLabels: (issueNumber) => run(issueHasLabelCmd(owner, repo, issueNumber)),
|
|
22
|
+
addIssueLabel: (issueNumber, labelName) => {
|
|
23
|
+
run(addIssueLabelCmd(owner, repo, issueNumber, labelName));
|
|
24
|
+
},
|
|
25
|
+
createIssue: (title, body) => run(createIssueCmd(owner, repo, title), { input: body }),
|
|
26
|
+
updateIssueBody: (issueNumber, body) => {
|
|
27
|
+
run(updateIssueBodyCmd(owner, repo, issueNumber), { input: body });
|
|
28
|
+
},
|
|
29
|
+
findOpenUpgradeIssue: () => run(findOpenUpgradeIssueCmd(owner, repo)),
|
|
30
|
+
deleteIssueComment: (commentId) => {
|
|
31
|
+
run(deleteIssueCommentCmd(owner, repo, commentId));
|
|
32
|
+
},
|
|
33
|
+
listOpenIssues: (opts) => run(listOpenIssuesCmd(owner, repo, opts)),
|
|
34
|
+
issueComments: (issueNumber) => run(issueCommentsCmd(owner, repo, issueNumber)),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=ghIssueApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghIssueApi.js","sourceRoot":"","sources":["../../../src/providers/github/ghIssueApi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAC7E,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EACzE,kBAAkB,EAAE,uBAAuB,EAAE,qBAAqB,EAClE,iBAAiB,EAAE,gBAAgB,GAEpC,MAAM,6BAA6B,CAAC;AAqBrC,+FAA+F;AAC/F,MAAM,UAAU,UAAU,CAAC,GAA2B,EAAE,KAAa,EAAE,IAAY;IACjF,OAAO;QACL,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAEzE,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE;YACpC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAEzE,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE;YAC1B,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAEzE,kBAAkB,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAEzF,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAE7E,aAAa,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;YACxC,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAEtF,eAAe,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE;YACrC,GAAG,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,oBAAoB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAErE,kBAAkB,EAAE,CAAC,SAAS,EAAE,EAAE;YAChC,GAAG,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEnE,aAAa,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;KAChF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure parsers for the `gh issue …` JSON the tracker receives from `GhIssueApi`
|
|
3
|
+
* — the canonical home of parsing that `adws/github/issueApi.ts`/`issueListApi.ts`
|
|
4
|
+
* still carry a copy of until #821 deletes them. The error policy (swallow /
|
|
5
|
+
* wrap / rethrow) lives in the port methods, not here — every function below
|
|
6
|
+
* is pure and throws on malformed JSON.
|
|
7
|
+
*/
|
|
8
|
+
import type { GitHubIssue, IssueCommentSummary } from './domain/issue.js';
|
|
9
|
+
import type { IssueListEntry, IssueSummary } from '../types.js';
|
|
10
|
+
/** Parses `gh issue view --json <ISSUE_FIELDS>` output, applying every default `transformIssueResponse` applied. */
|
|
11
|
+
export declare function parseGitHubIssue(json: string): GitHubIssue;
|
|
12
|
+
/** Parses `gh issue view --json state` output. */
|
|
13
|
+
export declare function parseIssueState(json: string): string;
|
|
14
|
+
/** Parses `gh issue view --json title` output. */
|
|
15
|
+
export declare function parseIssueTitle(json: string): string;
|
|
16
|
+
/** Parses `gh api .../issues/:number/comments` (REST) output — `user.login`/`created_at`, not the GraphQL shape. */
|
|
17
|
+
export declare function parseIssueCommentsRest(json: string): IssueCommentSummary[];
|
|
18
|
+
/** Parses `gh issue view --json labels` output. */
|
|
19
|
+
export declare function parseIssueLabelNames(json: string): string[];
|
|
20
|
+
/** Parses the issue number out of `gh issue create`'s output URL. Throws verbatim on a non-matching output. */
|
|
21
|
+
export declare function parseCreatedIssueNumber(output: string): number;
|
|
22
|
+
/** Parses `gh issue list --label 'adw:upgrade' --limit 1` output. */
|
|
23
|
+
export declare function parseFirstIssueNumber(json: string): number | null;
|
|
24
|
+
/** Parses a `number,title`-projected `gh issue list` output. */
|
|
25
|
+
export declare function parseIssueSummaries(json: string): IssueSummary[];
|
|
26
|
+
/** Parses an arbitrarily-projected `gh issue list` output. */
|
|
27
|
+
export declare function parseIssueListEntries(json: string): IssueListEntry[];
|
|
28
|
+
//# sourceMappingURL=ghIssueParsers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghIssueParsers.d.ts","sourceRoot":"","sources":["../../../src/providers/github/ghIssueParsers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgGhE,oHAAoH;AACpH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAE1D;AAED,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,oHAAoH;AACpH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAQ1E;AAED,mDAAmD;AACnD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAG3D;AAED,+GAA+G;AAC/G,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO9D;AAED,qEAAqE;AACrE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGjE;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAEhE;AAED,8DAA8D;AAC9D,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAEpE"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure parsers for the `gh issue …` JSON the tracker receives from `GhIssueApi`
|
|
3
|
+
* — the canonical home of parsing that `adws/github/issueApi.ts`/`issueListApi.ts`
|
|
4
|
+
* still carry a copy of until #821 deletes them. The error policy (swallow /
|
|
5
|
+
* wrap / rethrow) lives in the port methods, not here — every function below
|
|
6
|
+
* is pure and throws on malformed JSON.
|
|
7
|
+
*/
|
|
8
|
+
function transformIssueResponse(rawIssue) {
|
|
9
|
+
return {
|
|
10
|
+
number: rawIssue.number,
|
|
11
|
+
title: rawIssue.title,
|
|
12
|
+
body: rawIssue.body || '',
|
|
13
|
+
state: rawIssue.state,
|
|
14
|
+
author: {
|
|
15
|
+
login: rawIssue.author?.login || 'unknown',
|
|
16
|
+
name: rawIssue.author?.name || null,
|
|
17
|
+
isBot: rawIssue.author?.is_bot || false,
|
|
18
|
+
},
|
|
19
|
+
assignees: (rawIssue.assignees || []).map((a) => ({
|
|
20
|
+
login: a.login || 'unknown',
|
|
21
|
+
name: a.name || null,
|
|
22
|
+
isBot: a.is_bot || false,
|
|
23
|
+
})),
|
|
24
|
+
labels: (rawIssue.labels || []).map((l) => ({
|
|
25
|
+
id: l.id || '',
|
|
26
|
+
name: l.name,
|
|
27
|
+
color: l.color || '',
|
|
28
|
+
description: l.description || null,
|
|
29
|
+
})),
|
|
30
|
+
milestone: rawIssue.milestone
|
|
31
|
+
? {
|
|
32
|
+
id: rawIssue.milestone.id || '',
|
|
33
|
+
number: rawIssue.milestone.number,
|
|
34
|
+
title: rawIssue.milestone.title,
|
|
35
|
+
description: rawIssue.milestone.description || null,
|
|
36
|
+
state: rawIssue.milestone.state,
|
|
37
|
+
}
|
|
38
|
+
: null,
|
|
39
|
+
comments: (rawIssue.comments || []).map((c) => ({
|
|
40
|
+
id: c.id || '',
|
|
41
|
+
author: {
|
|
42
|
+
login: c.author?.login || 'unknown',
|
|
43
|
+
name: c.author?.name || null,
|
|
44
|
+
isBot: c.author?.is_bot || false,
|
|
45
|
+
},
|
|
46
|
+
body: c.body,
|
|
47
|
+
createdAt: c.createdAt,
|
|
48
|
+
updatedAt: c.updatedAt || null,
|
|
49
|
+
})),
|
|
50
|
+
createdAt: rawIssue.createdAt,
|
|
51
|
+
updatedAt: rawIssue.updatedAt,
|
|
52
|
+
closedAt: rawIssue.closedAt || null,
|
|
53
|
+
url: rawIssue.url,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/** Parses `gh issue view --json <ISSUE_FIELDS>` output, applying every default `transformIssueResponse` applied. */
|
|
57
|
+
export function parseGitHubIssue(json) {
|
|
58
|
+
return transformIssueResponse(JSON.parse(json));
|
|
59
|
+
}
|
|
60
|
+
/** Parses `gh issue view --json state` output. */
|
|
61
|
+
export function parseIssueState(json) {
|
|
62
|
+
return JSON.parse(json).state;
|
|
63
|
+
}
|
|
64
|
+
/** Parses `gh issue view --json title` output. */
|
|
65
|
+
export function parseIssueTitle(json) {
|
|
66
|
+
return JSON.parse(json).title;
|
|
67
|
+
}
|
|
68
|
+
/** Parses `gh api .../issues/:number/comments` (REST) output — `user.login`/`created_at`, not the GraphQL shape. */
|
|
69
|
+
export function parseIssueCommentsRest(json) {
|
|
70
|
+
const raw = JSON.parse(json);
|
|
71
|
+
return raw.map((c) => ({
|
|
72
|
+
id: c.id,
|
|
73
|
+
body: c.body || '',
|
|
74
|
+
authorLogin: c.user?.login || 'unknown',
|
|
75
|
+
createdAt: c.created_at,
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
/** Parses `gh issue view --json labels` output. */
|
|
79
|
+
export function parseIssueLabelNames(json) {
|
|
80
|
+
const result = JSON.parse(json);
|
|
81
|
+
return (result.labels || []).map((l) => l.name);
|
|
82
|
+
}
|
|
83
|
+
/** Parses the issue number out of `gh issue create`'s output URL. Throws verbatim on a non-matching output. */
|
|
84
|
+
export function parseCreatedIssueNumber(output) {
|
|
85
|
+
const trimmed = output.trim();
|
|
86
|
+
const match = trimmed.match(/\/issues\/(\d+)$/);
|
|
87
|
+
if (!match) {
|
|
88
|
+
throw new Error(`createIssue: could not parse issue number from gh output: "${trimmed}"`);
|
|
89
|
+
}
|
|
90
|
+
return parseInt(match[1], 10);
|
|
91
|
+
}
|
|
92
|
+
/** Parses `gh issue list --label 'adw:upgrade' --limit 1` output. */
|
|
93
|
+
export function parseFirstIssueNumber(json) {
|
|
94
|
+
const results = JSON.parse(json);
|
|
95
|
+
return results.length > 0 ? results[0].number : null;
|
|
96
|
+
}
|
|
97
|
+
/** Parses a `number,title`-projected `gh issue list` output. */
|
|
98
|
+
export function parseIssueSummaries(json) {
|
|
99
|
+
return JSON.parse(json);
|
|
100
|
+
}
|
|
101
|
+
/** Parses an arbitrarily-projected `gh issue list` output. */
|
|
102
|
+
export function parseIssueListEntries(json) {
|
|
103
|
+
return JSON.parse(json);
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=ghIssueParsers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghIssueParsers.js","sourceRoot":"","sources":["../../../src/providers/github/ghIssueParsers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ghPrApi.ts — the 13 pull-request operations relocated from GitContext's
|
|
3
|
+
* former semantic surface (#797), each a one-to-one relocation of the deleted
|
|
4
|
+
* core method onto a `GhCommandRunner['run']` bound to one owner/repo.
|
|
5
|
+
* Deep-import only — assembled into `GhRepoApi` by `ghRepoApi.ts`.
|
|
6
|
+
*/
|
|
7
|
+
import type { GhCommandRunner } from './ghCommandRunner.js';
|
|
8
|
+
/** The 13 pull-request operations relocated from GitContext's former semantic surface, bound to one owner/repo. */
|
|
9
|
+
export interface GhPrApi {
|
|
10
|
+
findPRByBranch(branchName: string): string;
|
|
11
|
+
fetchPRDetails(prNumber: number): string;
|
|
12
|
+
fetchPRReviews(prNumber: number): string;
|
|
13
|
+
fetchPRReviewComments(prNumber: number): string;
|
|
14
|
+
commentOnPR(prNumber: number, body: string): void;
|
|
15
|
+
mergePR(prNumber: number): void;
|
|
16
|
+
/** Approves a PR using the alternate identity (GitHub forbids bot self-approval). */
|
|
17
|
+
approvePR(prNumber: number): void;
|
|
18
|
+
prApprovalState(prNumber: number): string;
|
|
19
|
+
fetchPRList(): string;
|
|
20
|
+
fetchAllPRs(): string;
|
|
21
|
+
fetchPRChangedFiles(prNumber: number): string;
|
|
22
|
+
createPR(title: string, body: string, headBranch: string, baseBranch?: string, labels?: readonly string[]): string;
|
|
23
|
+
fetchMergedPRs(limit?: number): string;
|
|
24
|
+
}
|
|
25
|
+
/** Builds a `GhPrApi` bound to `owner`/`repo`, dispatching each operation through `run`. */
|
|
26
|
+
export declare function ghPrApi(run: GhCommandRunner['run'], owner: string, repo: string): GhPrApi;
|
|
27
|
+
//# sourceMappingURL=ghPrApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghPrApi.d.ts","sourceRoot":"","sources":["../../../src/providers/github/ghPrApi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAO5D,mHAAmH;AACnH,MAAM,WAAW,OAAO;IACtB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qFAAqF;IACrF,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1C,WAAW,IAAI,MAAM,CAAC;IACtB,WAAW,IAAI,MAAM,CAAC;IACtB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC;IACnH,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC;AAED,4FAA4F;AAC5F,wBAAgB,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAmCzF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ghPrApi.ts — the 13 pull-request operations relocated from GitContext's
|
|
3
|
+
* former semantic surface (#797), each a one-to-one relocation of the deleted
|
|
4
|
+
* core method onto a `GhCommandRunner['run']` bound to one owner/repo.
|
|
5
|
+
* Deep-import only — assembled into `GhRepoApi` by `ghRepoApi.ts`.
|
|
6
|
+
*/
|
|
7
|
+
import { findPRByBranchCmd, fetchPRDetailsCmd, fetchPRReviewsCmd, fetchPRReviewCommentsCmd, commentOnPRCmd, mergePRCmd, approvePRCmd, prApprovalStateCmd, fetchPRListCmd, fetchAllPRsCmd, createPRCmd, fetchMergedPRsCmd, prChangedFilesCmd, } from './commands/prCommands.js';
|
|
8
|
+
/** Builds a `GhPrApi` bound to `owner`/`repo`, dispatching each operation through `run`. */
|
|
9
|
+
export function ghPrApi(run, owner, repo) {
|
|
10
|
+
return {
|
|
11
|
+
findPRByBranch: (branchName) => run(findPRByBranchCmd(owner, repo, branchName)),
|
|
12
|
+
fetchPRDetails: (prNumber) => run(fetchPRDetailsCmd(owner, repo, prNumber)),
|
|
13
|
+
fetchPRReviews: (prNumber) => run(fetchPRReviewsCmd(owner, repo, prNumber)),
|
|
14
|
+
fetchPRReviewComments: (prNumber) => run(fetchPRReviewCommentsCmd(owner, repo, prNumber)),
|
|
15
|
+
commentOnPR: (prNumber, body) => {
|
|
16
|
+
run(commentOnPRCmd(owner, repo, prNumber), { input: body });
|
|
17
|
+
},
|
|
18
|
+
mergePR: (prNumber) => {
|
|
19
|
+
run(mergePRCmd(owner, repo, prNumber));
|
|
20
|
+
},
|
|
21
|
+
approvePR: (prNumber) => {
|
|
22
|
+
run(approvePRCmd(owner, repo, prNumber), { purpose: 'alternateIdentity' });
|
|
23
|
+
},
|
|
24
|
+
prApprovalState: (prNumber) => run(prApprovalStateCmd(owner, repo, prNumber)),
|
|
25
|
+
fetchPRList: () => run(fetchPRListCmd(owner, repo)),
|
|
26
|
+
fetchAllPRs: () => run(fetchAllPRsCmd(owner, repo)),
|
|
27
|
+
fetchPRChangedFiles: (prNumber) => run(prChangedFilesCmd(owner, repo, prNumber)),
|
|
28
|
+
createPR: (title, body, headBranch, baseBranch, labels) => run(createPRCmd(owner, repo, title, headBranch, baseBranch, labels), { input: body }),
|
|
29
|
+
fetchMergedPRs: (limit) => run(fetchMergedPRsCmd(owner, repo, limit)),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ghPrApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghPrApi.js","sourceRoot":"","sources":["../../../src/providers/github/ghPrApi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,wBAAwB,EACjF,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAC5D,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,GAClF,MAAM,0BAA0B,CAAC;AAoBlC,4FAA4F;AAC5F,MAAM,UAAU,OAAO,CAAC,GAA2B,EAAE,KAAa,EAAE,IAAY;IAC9E,OAAO;QACL,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAE/E,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE3E,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE3E,qBAAqB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzF,WAAW,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;YAC9B,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;YACpB,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACtB,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE7E,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEnD,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEnD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEhF,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CACxD,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAEvF,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;KACtE,CAAC;AACJ,CAAC"}
|