@gitkraken/core-gitlens 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/README.md +13 -10
  3. package/dist/git/context.d.ts +4 -3
  4. package/dist/git/context.d.ts.map +1 -1
  5. package/dist/git/context.js.map +1 -1
  6. package/dist/git/providers/operations.d.ts +1 -0
  7. package/dist/git/providers/operations.d.ts.map +1 -1
  8. package/dist/git/providers/worktrees.d.ts +2 -0
  9. package/dist/git/providers/worktrees.d.ts.map +1 -1
  10. package/dist/git/utils/conflictResolution.utils.d.ts +32 -0
  11. package/dist/git/utils/conflictResolution.utils.d.ts.map +1 -1
  12. package/dist/git/utils/conflictResolution.utils.js +95 -0
  13. package/dist/git/utils/conflictResolution.utils.js.map +1 -1
  14. package/dist/git-cli/providers/operations.d.ts +1 -0
  15. package/dist/git-cli/providers/operations.d.ts.map +1 -1
  16. package/dist/git-cli/providers/operations.js +22 -1
  17. package/dist/git-cli/providers/operations.js.map +1 -1
  18. package/dist/git-cli/providers/worktrees.d.ts +2 -0
  19. package/dist/git-cli/providers/worktrees.d.ts.map +1 -1
  20. package/dist/git-cli/providers/worktrees.js +3 -0
  21. package/dist/git-cli/providers/worktrees.js.map +1 -1
  22. package/dist/plus/ai/utils/ai.utils.js +5 -5
  23. package/dist/plus/ai/utils/ai.utils.js.map +1 -1
  24. package/dist/plus/git-github/api/github.d.ts +6 -13
  25. package/dist/plus/git-github/api/github.d.ts.map +1 -1
  26. package/dist/plus/git-github/api/github.js +5 -10
  27. package/dist/plus/git-github/api/github.js.map +1 -1
  28. package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts +11 -0
  29. package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts.map +1 -0
  30. package/dist/plus/integrations/authentication/cloudIntegrationService.js +90 -0
  31. package/dist/plus/integrations/authentication/cloudIntegrationService.js.map +1 -0
  32. package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts +67 -0
  33. package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts.map +1 -0
  34. package/dist/plus/integrations/authentication/configuredIntegrationService.js +295 -0
  35. package/dist/plus/integrations/authentication/configuredIntegrationService.js.map +1 -0
  36. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts +92 -0
  37. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts.map +1 -0
  38. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js +185 -0
  39. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js.map +1 -0
  40. package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts +62 -0
  41. package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts.map +1 -0
  42. package/dist/plus/integrations/authentication/integrationAuthenticationService.js +122 -0
  43. package/dist/plus/integrations/authentication/integrationAuthenticationService.js.map +1 -0
  44. package/dist/plus/integrations/authentication/manualTokenProvider.d.ts +15 -0
  45. package/dist/plus/integrations/authentication/manualTokenProvider.d.ts.map +1 -0
  46. package/dist/plus/integrations/authentication/manualTokenProvider.js +49 -0
  47. package/dist/plus/integrations/authentication/manualTokenProvider.js.map +1 -0
  48. package/dist/plus/integrations/authentication/models.d.ts +87 -0
  49. package/dist/plus/integrations/authentication/models.d.ts.map +1 -0
  50. package/dist/plus/integrations/authentication/models.js +64 -0
  51. package/dist/plus/integrations/authentication/models.js.map +1 -0
  52. package/dist/plus/integrations/constants.d.ts +47 -0
  53. package/dist/plus/integrations/constants.d.ts.map +1 -0
  54. package/dist/plus/integrations/constants.js +128 -0
  55. package/dist/plus/integrations/constants.js.map +1 -0
  56. package/dist/plus/integrations/context.d.ts +354 -0
  57. package/dist/plus/integrations/context.d.ts.map +1 -0
  58. package/dist/plus/integrations/context.js +2 -0
  59. package/dist/plus/integrations/context.js.map +1 -0
  60. package/dist/plus/integrations/errors.d.ts +14 -0
  61. package/dist/plus/integrations/errors.d.ts.map +1 -0
  62. package/dist/plus/integrations/errors.js +19 -0
  63. package/dist/plus/integrations/errors.js.map +1 -0
  64. package/dist/plus/integrations/index.d.ts +32 -0
  65. package/dist/plus/integrations/index.d.ts.map +1 -0
  66. package/dist/plus/integrations/index.js +62 -0
  67. package/dist/plus/integrations/index.js.map +1 -0
  68. package/dist/plus/integrations/integrationService.d.ts +98 -0
  69. package/dist/plus/integrations/integrationService.d.ts.map +1 -0
  70. package/dist/plus/integrations/integrationService.js +627 -0
  71. package/dist/plus/integrations/integrationService.js.map +1 -0
  72. package/dist/plus/integrations/models/gitHostIntegration.d.ts +82 -0
  73. package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -0
  74. package/dist/plus/integrations/models/gitHostIntegration.js +522 -0
  75. package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -0
  76. package/dist/plus/integrations/models/integration.d.ts +127 -0
  77. package/dist/plus/integrations/models/integration.d.ts.map +1 -0
  78. package/dist/plus/integrations/models/integration.js +456 -0
  79. package/dist/plus/integrations/models/integration.js.map +1 -0
  80. package/dist/plus/integrations/models/issuesIntegration.d.ts +28 -0
  81. package/dist/plus/integrations/models/issuesIntegration.d.ts.map +1 -0
  82. package/dist/plus/integrations/models/issuesIntegration.js +101 -0
  83. package/dist/plus/integrations/models/issuesIntegration.js.map +1 -0
  84. package/dist/plus/integrations/providers/apiClients.d.ts +25 -0
  85. package/dist/plus/integrations/providers/apiClients.d.ts.map +1 -0
  86. package/dist/plus/integrations/providers/apiClients.js +39 -0
  87. package/dist/plus/integrations/providers/apiClients.js.map +1 -0
  88. package/dist/plus/integrations/providers/azure/azure.d.ts +47 -0
  89. package/dist/plus/integrations/providers/azure/azure.d.ts.map +1 -0
  90. package/dist/plus/integrations/providers/azure/azure.js +444 -0
  91. package/dist/plus/integrations/providers/azure/azure.js.map +1 -0
  92. package/dist/plus/integrations/providers/azure/models.d.ts +286 -0
  93. package/dist/plus/integrations/providers/azure/models.d.ts.map +1 -0
  94. package/dist/plus/integrations/providers/azure/models.js +203 -0
  95. package/dist/plus/integrations/providers/azure/models.js.map +1 -0
  96. package/dist/plus/integrations/providers/azureDevOps.d.ts +95 -0
  97. package/dist/plus/integrations/providers/azureDevOps.d.ts.map +1 -0
  98. package/dist/plus/integrations/providers/azureDevOps.js +432 -0
  99. package/dist/plus/integrations/providers/azureDevOps.js.map +1 -0
  100. package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts +42 -0
  101. package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts.map +1 -0
  102. package/dist/plus/integrations/providers/bitbucket/bitbucket.js +513 -0
  103. package/dist/plus/integrations/providers/bitbucket/bitbucket.js.map +1 -0
  104. package/dist/plus/integrations/providers/bitbucket/models.d.ts +222 -0
  105. package/dist/plus/integrations/providers/bitbucket/models.d.ts.map +1 -0
  106. package/dist/plus/integrations/providers/bitbucket/models.js +158 -0
  107. package/dist/plus/integrations/providers/bitbucket/models.js.map +1 -0
  108. package/dist/plus/integrations/providers/bitbucket-server/models.d.ts +120 -0
  109. package/dist/plus/integrations/providers/bitbucket-server/models.d.ts.map +1 -0
  110. package/dist/plus/integrations/providers/bitbucket-server/models.js +111 -0
  111. package/dist/plus/integrations/providers/bitbucket-server/models.js.map +1 -0
  112. package/dist/plus/integrations/providers/bitbucket-server.d.ts +60 -0
  113. package/dist/plus/integrations/providers/bitbucket-server.d.ts.map +1 -0
  114. package/dist/plus/integrations/providers/bitbucket-server.js +138 -0
  115. package/dist/plus/integrations/providers/bitbucket-server.js.map +1 -0
  116. package/dist/plus/integrations/providers/bitbucket.d.ts +50 -0
  117. package/dist/plus/integrations/providers/bitbucket.d.ts.map +1 -0
  118. package/dist/plus/integrations/providers/bitbucket.js +181 -0
  119. package/dist/plus/integrations/providers/bitbucket.js.map +1 -0
  120. package/dist/plus/integrations/providers/github/github.d.ts +5 -0
  121. package/dist/plus/integrations/providers/github/github.d.ts.map +1 -0
  122. package/dist/plus/integrations/providers/github/github.js +47 -0
  123. package/dist/plus/integrations/providers/github/github.js.map +1 -0
  124. package/dist/plus/integrations/providers/github/github.utils.d.ts +11 -0
  125. package/dist/plus/integrations/providers/github/github.utils.d.ts.map +1 -0
  126. package/dist/plus/integrations/providers/github/github.utils.js +6 -0
  127. package/dist/plus/integrations/providers/github/github.utils.js.map +1 -0
  128. package/dist/plus/integrations/providers/github/models.d.ts +3 -0
  129. package/dist/plus/integrations/providers/github/models.d.ts.map +1 -0
  130. package/dist/plus/integrations/providers/github/models.js +2 -0
  131. package/dist/plus/integrations/providers/github/models.js.map +1 -0
  132. package/dist/plus/integrations/providers/github.d.ts +73 -0
  133. package/dist/plus/integrations/providers/github.d.ts.map +1 -0
  134. package/dist/plus/integrations/providers/github.js +160 -0
  135. package/dist/plus/integrations/providers/github.js.map +1 -0
  136. package/dist/plus/integrations/providers/gitlab/gitlab.d.ts +63 -0
  137. package/dist/plus/integrations/providers/gitlab/gitlab.d.ts.map +1 -0
  138. package/dist/plus/integrations/providers/gitlab/gitlab.js +828 -0
  139. package/dist/plus/integrations/providers/gitlab/gitlab.js.map +1 -0
  140. package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts +21 -0
  141. package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts.map +1 -0
  142. package/dist/plus/integrations/providers/gitlab/gitlab.utils.js +45 -0
  143. package/dist/plus/integrations/providers/gitlab/gitlab.utils.js.map +1 -0
  144. package/dist/plus/integrations/providers/gitlab/models.d.ts +128 -0
  145. package/dist/plus/integrations/providers/gitlab/models.d.ts.map +1 -0
  146. package/dist/plus/integrations/providers/gitlab/models.js +96 -0
  147. package/dist/plus/integrations/providers/gitlab/models.js.map +1 -0
  148. package/dist/plus/integrations/providers/gitlab.d.ts +79 -0
  149. package/dist/plus/integrations/providers/gitlab.d.ts.map +1 -0
  150. package/dist/plus/integrations/providers/gitlab.js +253 -0
  151. package/dist/plus/integrations/providers/gitlab.js.map +1 -0
  152. package/dist/plus/integrations/providers/jira.d.ts +46 -0
  153. package/dist/plus/integrations/providers/jira.d.ts.map +1 -0
  154. package/dist/plus/integrations/providers/jira.js +255 -0
  155. package/dist/plus/integrations/providers/jira.js.map +1 -0
  156. package/dist/plus/integrations/providers/linear.d.ts +47 -0
  157. package/dist/plus/integrations/providers/linear.d.ts.map +1 -0
  158. package/dist/plus/integrations/providers/linear.js +198 -0
  159. package/dist/plus/integrations/providers/linear.js.map +1 -0
  160. package/dist/plus/integrations/providers/models.d.ts +433 -0
  161. package/dist/plus/integrations/providers/models.d.ts.map +1 -0
  162. package/dist/plus/integrations/providers/models.js +602 -0
  163. package/dist/plus/integrations/providers/models.js.map +1 -0
  164. package/dist/plus/integrations/providers/providersApi.d.ts +129 -0
  165. package/dist/plus/integrations/providers/providersApi.d.ts.map +1 -0
  166. package/dist/plus/integrations/providers/providersApi.js +602 -0
  167. package/dist/plus/integrations/providers/providersApi.js.map +1 -0
  168. package/dist/plus/integrations/providers/utils.d.ts +54 -0
  169. package/dist/plus/integrations/providers/utils.d.ts.map +1 -0
  170. package/dist/plus/integrations/providers/utils.js +262 -0
  171. package/dist/plus/integrations/providers/utils.js.map +1 -0
  172. package/dist/plus/integrations/telemetry.d.ts +26 -0
  173. package/dist/plus/integrations/telemetry.d.ts.map +1 -0
  174. package/dist/plus/integrations/telemetry.js +11 -0
  175. package/dist/plus/integrations/telemetry.js.map +1 -0
  176. package/dist/plus/integrations/utils/integration.utils.d.ts +14 -0
  177. package/dist/plus/integrations/utils/integration.utils.d.ts.map +1 -0
  178. package/dist/plus/integrations/utils/integration.utils.js +111 -0
  179. package/dist/plus/integrations/utils/integration.utils.js.map +1 -0
  180. package/dist/utils/disposable.d.ts +15 -2
  181. package/dist/utils/disposable.d.ts.map +1 -1
  182. package/dist/utils/disposable.js.map +1 -1
  183. package/package.json +43 -2
  184. package/src/git/context.ts +4 -3
  185. package/src/git/providers/operations.ts +1 -1
  186. package/src/git/providers/worktrees.ts +14 -2
  187. package/src/git/utils/conflictResolution.utils.ts +126 -0
  188. package/src/git-cli/providers/operations.ts +22 -2
  189. package/src/git-cli/providers/worktrees.ts +17 -2
  190. package/src/plus/ai/utils/ai.utils.ts +5 -5
  191. package/src/plus/git-github/api/github.ts +13 -25
  192. package/src/plus/integrations/authentication/cloudIntegrationService.ts +120 -0
  193. package/src/plus/integrations/authentication/configuredIntegrationService.ts +414 -0
  194. package/src/plus/integrations/authentication/integrationAuthenticationProvider.ts +289 -0
  195. package/src/plus/integrations/authentication/integrationAuthenticationService.ts +144 -0
  196. package/src/plus/integrations/authentication/manualTokenProvider.ts +72 -0
  197. package/src/plus/integrations/authentication/models.ts +168 -0
  198. package/src/plus/integrations/constants.ts +169 -0
  199. package/src/plus/integrations/context.ts +383 -0
  200. package/src/plus/integrations/errors.ts +35 -0
  201. package/src/plus/integrations/index.ts +119 -0
  202. package/src/plus/integrations/integrationService.ts +924 -0
  203. package/src/plus/integrations/models/gitHostIntegration.ts +738 -0
  204. package/src/plus/integrations/models/integration.ts +657 -0
  205. package/src/plus/integrations/models/issuesIntegration.ts +124 -0
  206. package/src/plus/integrations/providers/apiClients.ts +72 -0
  207. package/src/plus/integrations/providers/azure/azure.ts +691 -0
  208. package/src/plus/integrations/providers/azure/models.ts +605 -0
  209. package/src/plus/integrations/providers/azureDevOps.ts +677 -0
  210. package/src/plus/integrations/providers/bitbucket/bitbucket.ts +774 -0
  211. package/src/plus/integrations/providers/bitbucket/models.ts +445 -0
  212. package/src/plus/integrations/providers/bitbucket-server/models.ts +252 -0
  213. package/src/plus/integrations/providers/bitbucket-server.ts +282 -0
  214. package/src/plus/integrations/providers/bitbucket.ts +350 -0
  215. package/src/plus/integrations/providers/github/github.ts +64 -0
  216. package/src/plus/integrations/providers/github/github.utils.ts +23 -0
  217. package/src/plus/integrations/providers/github/models.ts +29 -0
  218. package/src/plus/integrations/providers/github.ts +366 -0
  219. package/src/plus/integrations/providers/gitlab/gitlab.ts +1210 -0
  220. package/src/plus/integrations/providers/gitlab/gitlab.utils.ts +71 -0
  221. package/src/plus/integrations/providers/gitlab/models.ts +257 -0
  222. package/src/plus/integrations/providers/gitlab.ts +473 -0
  223. package/src/plus/integrations/providers/jira.ts +359 -0
  224. package/src/plus/integrations/providers/linear.ts +275 -0
  225. package/src/plus/integrations/providers/models.ts +1114 -0
  226. package/src/plus/integrations/providers/providersApi.ts +1126 -0
  227. package/src/plus/integrations/providers/utils.ts +359 -0
  228. package/src/plus/integrations/telemetry.ts +29 -0
  229. package/src/plus/integrations/utils/integration.utils.ts +138 -0
  230. package/src/utils/disposable.ts +15 -2
@@ -0,0 +1,73 @@
1
+ import type { Account, UnidentifiedAuthor } from '../../../git/models/author.js';
2
+ import type { DefaultBranch } from '../../../git/models/defaultBranch.js';
3
+ import type { Issue, IssueShape } from '../../../git/models/issue.js';
4
+ import type { IssueOrPullRequest } from '../../../git/models/issueOrPullRequest.js';
5
+ import type { PullRequest, PullRequestMergeMethod, PullRequestState } from '../../../git/models/pullRequest.js';
6
+ import type { RepositoryMetadata } from '../../../git/models/repositoryMetadata.js';
7
+ import type { RepositoryDescriptor } from '../../../git/models/resourceDescriptor.js';
8
+ import type { PullRequestUrlIdentity } from '../../../git/utils/pullRequest.utils.js';
9
+ import type { Emitter } from '../../../utils/event.js';
10
+ import type { IntegrationAuthenticationProviderDescriptor } from '../authentication/integrationAuthenticationProvider.js';
11
+ import type { IntegrationAuthenticationService } from '../authentication/integrationAuthenticationService.js';
12
+ import type { IntegrationServiceContext } from '../context.js';
13
+ import type { ProviderAuthenticationSession } from '../authentication/models.js';
14
+ import { GitCloudHostIntegrationId, GitSelfManagedHostIntegrationId } from '../constants.js';
15
+ import type { IntegrationConnectionChangeEvent } from '../integrationService.js';
16
+ import { GitHostIntegration } from '../models/gitHostIntegration.js';
17
+ import type { GitHubIntegrationIds } from './github/github.utils.js';
18
+ import type { ProvidersApi } from './providersApi.js';
19
+ export type GitHubRepositoryDescriptor = RepositoryDescriptor;
20
+ declare abstract class GitHubIntegrationBase<ID extends GitHubIntegrationIds> extends GitHostIntegration<ID, GitHubRepositoryDescriptor> {
21
+ protected abstract get apiBaseUrl(): string;
22
+ protected getProviderAccountForCommit(session: ProviderAuthenticationSession, repo: GitHubRepositoryDescriptor, rev: string, options?: {
23
+ avatarSize?: number;
24
+ }): Promise<Account | UnidentifiedAuthor | undefined>;
25
+ protected getProviderAccountForEmail(session: ProviderAuthenticationSession, repo: GitHubRepositoryDescriptor, email: string, options?: {
26
+ avatarSize?: number;
27
+ }): Promise<Account | undefined>;
28
+ protected getProviderDefaultBranch(session: ProviderAuthenticationSession, repo: GitHubRepositoryDescriptor): Promise<DefaultBranch | undefined>;
29
+ protected getProviderLinkedIssueOrPullRequest(session: ProviderAuthenticationSession, repo: GitHubRepositoryDescriptor, { id }: {
30
+ id: string;
31
+ key: string;
32
+ }): Promise<IssueOrPullRequest | undefined>;
33
+ protected getProviderIssue(session: ProviderAuthenticationSession, repo: GitHubRepositoryDescriptor, id: string): Promise<Issue | undefined>;
34
+ protected getProviderPullRequest(session: ProviderAuthenticationSession, repo: GitHubRepositoryDescriptor, id: string): Promise<PullRequest | undefined>;
35
+ protected getProviderPullRequestForBranch(session: ProviderAuthenticationSession, repo: GitHubRepositoryDescriptor, branch: string, options?: {
36
+ avatarSize?: number;
37
+ include?: PullRequestState[];
38
+ }): Promise<PullRequest | undefined>;
39
+ protected getProviderPullRequestForCommit(session: ProviderAuthenticationSession, repo: GitHubRepositoryDescriptor, rev: string): Promise<PullRequest | undefined>;
40
+ protected getProviderRepositoryMetadata(session: ProviderAuthenticationSession, repo: GitHubRepositoryDescriptor, cancellation?: AbortSignal): Promise<RepositoryMetadata | undefined>;
41
+ protected searchProviderMyPullRequests(session: ProviderAuthenticationSession, repos?: GitHubRepositoryDescriptor[], cancellation?: AbortSignal, silent?: boolean): Promise<PullRequest[] | undefined>;
42
+ protected searchProviderMyIssues(session: ProviderAuthenticationSession, repos?: GitHubRepositoryDescriptor[], cancellation?: AbortSignal): Promise<IssueShape[] | undefined>;
43
+ protected searchProviderPullRequests(session: ProviderAuthenticationSession, searchQuery: string, repos?: GitHubRepositoryDescriptor[], cancellation?: AbortSignal): Promise<PullRequest[] | undefined>;
44
+ protected mergeProviderPullRequest(session: ProviderAuthenticationSession, pr: PullRequest, options?: {
45
+ mergeMethod?: PullRequestMergeMethod;
46
+ }): Promise<boolean>;
47
+ protected getProviderCurrentAccount(session: ProviderAuthenticationSession, options?: {
48
+ avatarSize?: number;
49
+ }): Promise<Account | undefined>;
50
+ protected getProviderPullRequestIdentityFromMaybeUrl(search: string): PullRequestUrlIdentity | undefined;
51
+ }
52
+ export declare class GitHubIntegration extends GitHubIntegrationBase<GitCloudHostIntegrationId.GitHub> {
53
+ readonly authProvider: IntegrationAuthenticationProviderDescriptor;
54
+ readonly id = GitCloudHostIntegrationId.GitHub;
55
+ protected readonly key = GitCloudHostIntegrationId.GitHub;
56
+ readonly name: string;
57
+ get domain(): string;
58
+ protected get apiBaseUrl(): string;
59
+ access(): Promise<boolean>;
60
+ refresh(): Promise<void>;
61
+ }
62
+ export declare class GitHubEnterpriseIntegration extends GitHubIntegrationBase<GitSelfManagedHostIntegrationId.CloudGitHubEnterprise> {
63
+ private readonly _domain;
64
+ readonly authProvider: IntegrationAuthenticationProviderDescriptor;
65
+ readonly id = GitSelfManagedHostIntegrationId.CloudGitHubEnterprise;
66
+ protected readonly key: `cloud-github-enterprise:${string}`;
67
+ readonly name = "GitHub Enterprise";
68
+ get domain(): string;
69
+ protected get apiBaseUrl(): string;
70
+ constructor(ctx: IntegrationServiceContext, authenticationService: IntegrationAuthenticationService, getProvidersApi: () => Promise<ProvidersApi>, didChangeConnection: Emitter<IntegrationConnectionChangeEvent>, _domain: string);
71
+ }
72
+ export {};
73
+ //# sourceMappingURL=github.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/providers/github.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ import { toTokenWithInfo } from '../authentication/models.js';
2
+ import { GitCloudHostIntegrationId, GitSelfManagedHostIntegrationId } from '../constants.js';
3
+ import { GitHostIntegration } from '../models/gitHostIntegration.js';
4
+ import { getGitHubPullRequestIdentityFromMaybeUrl } from './github/github.utils.js';
5
+ import { providersMetadata } from './models.js';
6
+ const metadata = providersMetadata[GitCloudHostIntegrationId.GitHub];
7
+ const authProvider = Object.freeze({
8
+ id: metadata.id,
9
+ scopes: metadata.scopes,
10
+ });
11
+ const cloudEnterpriseMetadata = providersMetadata[GitSelfManagedHostIntegrationId.CloudGitHubEnterprise];
12
+ const cloudEnterpriseAuthProvider = Object.freeze({
13
+ id: cloudEnterpriseMetadata.id,
14
+ scopes: cloudEnterpriseMetadata.scopes,
15
+ });
16
+ class GitHubIntegrationBase extends GitHostIntegration {
17
+ async getProviderAccountForCommit(session, repo, rev, options) {
18
+ return (await this.authenticationService.apis.github)?.getAccountForCommit(this, toTokenWithInfo(this.id, session), repo.owner, repo.name, rev, {
19
+ ...options,
20
+ baseUrl: this.apiBaseUrl,
21
+ });
22
+ }
23
+ async getProviderAccountForEmail(session, repo, email, options) {
24
+ return (await this.authenticationService.apis.github)?.getAccountForEmail(this, toTokenWithInfo(this.id, session), repo.owner, repo.name, email, {
25
+ ...options,
26
+ baseUrl: this.apiBaseUrl,
27
+ });
28
+ }
29
+ async getProviderDefaultBranch(session, repo) {
30
+ return (await this.authenticationService.apis.github)?.getDefaultBranch(this, toTokenWithInfo(this.id, session), repo.owner, repo.name, {
31
+ baseUrl: this.apiBaseUrl,
32
+ });
33
+ }
34
+ async getProviderLinkedIssueOrPullRequest(session, repo, { id }) {
35
+ return (await this.authenticationService.apis.github)?.getIssueOrPullRequest(this, toTokenWithInfo(this.id, session), repo.owner, repo.name, Number(id), {
36
+ baseUrl: this.apiBaseUrl,
37
+ });
38
+ }
39
+ async getProviderIssue(session, repo, id) {
40
+ return (await this.authenticationService.apis.github)?.getIssue(this, toTokenWithInfo(this.id, session), repo.owner, repo.name, Number(id), {
41
+ baseUrl: this.apiBaseUrl,
42
+ includeBody: true,
43
+ });
44
+ }
45
+ async getProviderPullRequest(session, repo, id) {
46
+ return (await this.authenticationService.apis.github)?.getPullRequest(this, toTokenWithInfo(this.id, session), repo.owner, repo.name, parseInt(id, 10), {
47
+ baseUrl: this.apiBaseUrl,
48
+ });
49
+ }
50
+ async getProviderPullRequestForBranch(session, repo, branch, options) {
51
+ const { include, ...opts } = options ?? {};
52
+ const toGitHubPullRequestState = (await import(/* webpackChunkName: "integrations" */ './github/models.js'))
53
+ .toGitHubPullRequestState;
54
+ return (await this.authenticationService.apis.github)?.getPullRequestForBranch(this, toTokenWithInfo(this.id, session), repo.owner, repo.name, branch, {
55
+ ...opts,
56
+ include: include?.map(s => toGitHubPullRequestState(s)),
57
+ baseUrl: this.apiBaseUrl,
58
+ });
59
+ }
60
+ async getProviderPullRequestForCommit(session, repo, rev) {
61
+ return (await this.authenticationService.apis.github)?.getPullRequestForCommit(this, toTokenWithInfo(this.id, session), repo.owner, repo.name, rev, {
62
+ baseUrl: this.apiBaseUrl,
63
+ });
64
+ }
65
+ async getProviderRepositoryMetadata(session, repo, cancellation) {
66
+ return (await this.authenticationService.apis.github)?.getRepositoryMetadata(this, toTokenWithInfo(this.id, session), repo.owner, repo.name, {
67
+ baseUrl: this.apiBaseUrl,
68
+ }, cancellation);
69
+ }
70
+ async searchProviderMyPullRequests(session, repos, cancellation, silent) {
71
+ return (await this.authenticationService.apis.github)?.searchMyPullRequests(this, toTokenWithInfo(this.id, session), {
72
+ repos: repos?.map(r => `${r.owner}/${r.name}`),
73
+ baseUrl: this.apiBaseUrl,
74
+ silent: silent,
75
+ }, cancellation);
76
+ }
77
+ async searchProviderMyIssues(session, repos, cancellation) {
78
+ return (await this.authenticationService.apis.github)?.searchMyIssues(this, toTokenWithInfo(this.id, session), {
79
+ repos: repos?.map(r => `${r.owner}/${r.name}`),
80
+ baseUrl: this.apiBaseUrl,
81
+ includeBody: true,
82
+ }, cancellation);
83
+ }
84
+ async searchProviderPullRequests(session, searchQuery, repos, cancellation) {
85
+ return (await this.authenticationService.apis.github)?.searchPullRequests(this, toTokenWithInfo(this.id, session), {
86
+ search: searchQuery,
87
+ repos: repos?.map(r => `${r.owner}/${r.name}`),
88
+ baseUrl: this.apiBaseUrl,
89
+ }, cancellation);
90
+ }
91
+ async mergeProviderPullRequest(session, pr, options) {
92
+ const id = pr.nodeId;
93
+ const headRefSha = pr.refs?.head?.sha;
94
+ if (id == null || headRefSha == null)
95
+ return false;
96
+ return ((await this.authenticationService.apis.github)?.mergePullRequest(this, toTokenWithInfo(this.id, session), id, headRefSha, {
97
+ mergeMethod: options?.mergeMethod,
98
+ baseUrl: this.apiBaseUrl,
99
+ }) ?? false);
100
+ }
101
+ async getProviderCurrentAccount(session, options) {
102
+ return (await this.authenticationService.apis.github)?.getCurrentAccount(this, toTokenWithInfo(this.id, session), {
103
+ ...options,
104
+ baseUrl: this.apiBaseUrl,
105
+ });
106
+ }
107
+ getProviderPullRequestIdentityFromMaybeUrl(search) {
108
+ return getGitHubPullRequestIdentityFromMaybeUrl(search, this.id);
109
+ }
110
+ }
111
+ export class GitHubIntegration extends GitHubIntegrationBase {
112
+ authProvider = authProvider;
113
+ id = GitCloudHostIntegrationId.GitHub;
114
+ key = this.id;
115
+ name = 'GitHub';
116
+ get domain() {
117
+ return metadata.domain;
118
+ }
119
+ get apiBaseUrl() {
120
+ return 'https://api.github.com';
121
+ }
122
+ access() {
123
+ // Always allow GitHub cloud integration access
124
+ return Promise.resolve(true);
125
+ }
126
+ // This is a special case for GitHub because we use VSCode's GitHub session, and it can be disconnected
127
+ // outside of the extension.
128
+ async refresh() {
129
+ const authProvider = await this.authenticationService.get(this.authProvider.id);
130
+ const session = await authProvider.getSession(this.authProviderDescriptor);
131
+ if (session == null && this.maybeConnected) {
132
+ void this.disconnect({ silent: true });
133
+ }
134
+ else {
135
+ if (session?.accessToken !== this._session?.accessToken) {
136
+ this._session = undefined;
137
+ }
138
+ super.refresh();
139
+ }
140
+ }
141
+ }
142
+ export class GitHubEnterpriseIntegration extends GitHubIntegrationBase {
143
+ _domain;
144
+ authProvider = cloudEnterpriseAuthProvider;
145
+ id = GitSelfManagedHostIntegrationId.CloudGitHubEnterprise;
146
+ key;
147
+ name = 'GitHub Enterprise';
148
+ get domain() {
149
+ return this._domain;
150
+ }
151
+ get apiBaseUrl() {
152
+ return `https://${this._domain}/api/v3`;
153
+ }
154
+ constructor(ctx, authenticationService, getProvidersApi, didChangeConnection, _domain) {
155
+ super(ctx, authenticationService, getProvidersApi, didChangeConnection);
156
+ this._domain = _domain;
157
+ this.key = `${this.id}:${this.domain}`;
158
+ }
159
+ }
160
+ //# sourceMappingURL=github.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/providers/github.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { Account } from '../../../../git/models/author.js';
2
+ import type { DefaultBranch } from '../../../../git/models/defaultBranch.js';
3
+ import type { IssueOrPullRequest } from '../../../../git/models/issueOrPullRequest.js';
4
+ import { PullRequest } from '../../../../git/models/pullRequest.js';
5
+ import type { Provider } from '../../../../git/models/remoteProvider.js';
6
+ import type { RepositoryMetadata } from '../../../../git/models/repositoryMetadata.js';
7
+ import type { Disposable } from '../../../../utils/disposable.js';
8
+ import type { TokenWithInfo } from '../../authentication/models.js';
9
+ import type { IntegrationServiceContext } from '../../context.js';
10
+ import type { GitLabMergeRequestState } from './models.js';
11
+ export declare class GitLabApi implements Disposable {
12
+ private readonly ctx;
13
+ private readonly _disposable;
14
+ private _projectIds;
15
+ constructor(ctx: IntegrationServiceContext);
16
+ dispose(): void;
17
+ private resetCaches;
18
+ getAccountForCommit(provider: Provider, token: TokenWithInfo, owner: string, repo: string, rev: string, options?: {
19
+ baseUrl?: string;
20
+ avatarSize?: number;
21
+ }, cancellation?: AbortSignal): Promise<Account | undefined>;
22
+ getAccountForEmail(provider: Provider, token: TokenWithInfo, _owner: string, _repo: string, email: string, options?: {
23
+ baseUrl?: string;
24
+ avatarSize?: number;
25
+ }): Promise<Account | undefined>;
26
+ getDefaultBranch(provider: Provider, token: TokenWithInfo, owner: string, repo: string, options?: {
27
+ baseUrl?: string;
28
+ }, cancellation?: AbortSignal): Promise<DefaultBranch | undefined>;
29
+ getIssueOrPullRequest(provider: Provider, token: TokenWithInfo, owner: string, repo: string, number: number, options?: {
30
+ baseUrl?: string;
31
+ }, cancellation?: AbortSignal): Promise<IssueOrPullRequest | undefined>;
32
+ getPullRequestForBranch(provider: Provider, token: TokenWithInfo, owner: string, repo: string, branch: string, options?: {
33
+ baseUrl?: string;
34
+ avatarSize?: number;
35
+ include?: GitLabMergeRequestState[];
36
+ }, cancellation?: AbortSignal): Promise<PullRequest | undefined>;
37
+ getPullRequestForCommit(provider: Provider, token: TokenWithInfo, owner: string, repo: string, rev: string, options?: {
38
+ baseUrl?: string;
39
+ avatarSize?: number;
40
+ }, cancellation?: AbortSignal): Promise<PullRequest | undefined>;
41
+ getPullRequest(provider: Provider, token: TokenWithInfo, owner: string, repo: string, id: number, options?: {
42
+ baseUrl?: string;
43
+ }, cancellation?: AbortSignal): Promise<PullRequest | undefined>;
44
+ getRepositoryMetadata(provider: Provider, token: TokenWithInfo, owner: string, repo: string, options?: {
45
+ baseUrl?: string;
46
+ }, cancellation?: AbortSignal): Promise<RepositoryMetadata | undefined>;
47
+ searchPullRequests(provider: Provider, token: TokenWithInfo, options?: {
48
+ search?: string;
49
+ user?: string;
50
+ repos?: string[];
51
+ baseUrl?: string;
52
+ avatarSize?: number;
53
+ }, cancellation?: AbortSignal): Promise<PullRequest[]>;
54
+ private findUser;
55
+ getProjectId(provider: Provider, token: TokenWithInfo, group: string, repo: string, baseUrl: string | undefined, cancellation: AbortSignal | undefined): Promise<string | undefined>;
56
+ private getProjectIdCore;
57
+ private graphql;
58
+ private request;
59
+ private handleRequestError;
60
+ private handleException;
61
+ private showAuthenticationErrorMessage;
62
+ }
63
+ //# sourceMappingURL=gitlab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../../src/providers/gitlab/gitlab.ts"],"names":[],"mappings":"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"}