@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,62 @@
1
+ // Public facade for `@gitkraken/core-gitlens/plus/integrations`.
2
+ //
3
+ // External consumers should import from this entry point only, not from the
4
+ // package's internal subpaths. The internal classes (IntegrationService,
5
+ // IntegrationAuthenticationService, etc.) are not part of the public API and
6
+ // may be refactored without semver bumps.
7
+ import { CloudIntegrationService } from './authentication/cloudIntegrationService.js';
8
+ import { ConfiguredIntegrationService } from './authentication/configuredIntegrationService.js';
9
+ import { IntegrationAuthenticationService } from './authentication/integrationAuthenticationService.js';
10
+ import { IntegrationService } from './integrationService.js';
11
+ /**
12
+ * Construct an `@gitkraken/core-gitlens/plus/integrations` manager bound to the supplied runtime.
13
+ *
14
+ * The runtime is the **single** cross-boundary contract — anything the
15
+ * package needs (HTTP, storage, cache, auth, subscription, telemetry, UI,
16
+ * configuration, environment) flows through it. The package never imports
17
+ * `vscode`, `Container`, or any consumer-internal types.
18
+ *
19
+ * The returned manager owns its internal services; dispose it (or its
20
+ * containing scope) to release every cached integration plus the runtime's
21
+ * own VS Code subscriptions.
22
+ */
23
+ export function createIntegrationManager(ctx) {
24
+ const configured = new ConfiguredIntegrationService(ctx);
25
+ // The cloud token-exchange client is a pure package service (needs only `ctx`); construct it here
26
+ // rather than round-tripping through a host hook.
27
+ const cloud = new CloudIntegrationService(ctx);
28
+ // Cloud auth providers need to (re)initiate the connect flow that lives on the service, but the
29
+ // service is constructed after the auth service (it depends on it). Break the cycle here at the
30
+ // composition root with a lazy, readonly accessor — preserving constructor injection while
31
+ // keeping the flow in-package (no host round-trip).
32
+ let service;
33
+ const auth = new IntegrationAuthenticationService(configured, ctx, () => service, cloud);
34
+ service = new IntegrationService(auth, configured, ctx);
35
+ // One-time cleanup of storage left behind by integration ids retired in the cloud-only refactor (the
36
+ // local self-managed `github-enterprise`/`gitlab-self-hosted` providers). Best-effort and guarded so it
37
+ // runs once; a no-op for consumers that never stored those ids.
38
+ void purgeRetiredIntegrationStorage(ctx, configured);
39
+ return service;
40
+ }
41
+ const retiredIntegrationsStorageKey = 'integrations:migrated:cloudOnly';
42
+ async function purgeRetiredIntegrationStorage(ctx, configured) {
43
+ if (ctx.storage.get(retiredIntegrationsStorageKey))
44
+ return;
45
+ try {
46
+ await configured.purgeStoredConfiguration(['github-enterprise', 'gitlab-self-hosted']);
47
+ // Only mark the migration done once the purge fully succeeds. A partial/failed purge stays
48
+ // un-flagged so it retries (idempotently) on the next startup, rather than orphaning the
49
+ // retired-id config/secrets forever.
50
+ await ctx.storage.store(retiredIntegrationsStorageKey, true);
51
+ }
52
+ catch {
53
+ // Best-effort cleanup: swallow so the failure doesn't reject the fire-and-forget caller; the
54
+ // unset flag guarantees a retry next startup.
55
+ }
56
+ }
57
+ // Convenience: wrap a static access token (env var, CLI flag, secret manager)
58
+ // as an `IntegrationAuthenticationProvider`. For OAuth/refresh flows, implement
59
+ // the interface directly — this helper is for non-interactive consumers only.
60
+ export { createManualTokenAuthProvider, } from './authentication/manualTokenProvider.js';
61
+ export { GitCloudHostIntegrationId, GitSelfManagedHostIntegrationId, IssuesCloudHostIntegrationId, isIntegrationId, isSupportedCloudIntegrationId, } from './constants.js';
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plus/integrations/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,4EAA4E;AAC5E,yEAAyE;AACzE,6EAA6E;AAC7E,0CAA0C;AAE1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAS7D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAA8B;IACtE,MAAM,UAAU,GAAG,IAAI,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACzD,kGAAkG;IAClG,kDAAkD;IAClD,MAAM,KAAK,GAAG,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC/C,gGAAgG;IAChG,gGAAgG;IAChG,2FAA2F;IAC3F,oDAAoD;IACpD,IAAI,OAA2B,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,gCAAgC,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzF,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACxD,qGAAqG;IACrG,wGAAwG;IACxG,gEAAgE;IAChE,KAAK,8BAA8B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACrD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,6BAA6B,GAAG,iCAAiC,CAAC;AACxE,KAAK,UAAU,8BAA8B,CAC5C,GAA8B,EAC9B,UAAwC;IAExC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAU,6BAA6B,CAAC;QAAE,OAAO;IAEpE,IAAI,CAAC;QACJ,MAAM,UAAU,CAAC,wBAAwB,CAAC,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACvF,2FAA2F;QAC3F,yFAAyF;QACzF,qCAAqC;QACrC,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACR,6FAA6F;QAC7F,8CAA8C;IAC/C,CAAC;AACF,CAAC;AAoCD,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,OAAO,EACN,6BAA6B,GAE7B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACN,yBAAyB,EACzB,+BAA+B,EAC/B,4BAA4B,EAC5B,eAAe,EACf,6BAA6B,GAC7B,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,98 @@
1
+ import type { Account } from '../../git/models/author.js';
2
+ import type { IssueShape } from '../../git/models/issue.js';
3
+ import type { PullRequest } from '../../git/models/pullRequest.js';
4
+ import type { GitRemote } from '../../git/models/remote.js';
5
+ import type { RemoteProviderId } from '../../git/models/remoteProvider.js';
6
+ import type { Disposable } from '../../utils/disposable.js';
7
+ import type { Event } from '../../utils/event.js';
8
+ import type { ConfiguredIntegrationsChangeEvent, ConfiguredIntegrationService } from './authentication/configuredIntegrationService.js';
9
+ import type { IntegrationAuthenticationService } from './authentication/integrationAuthenticationService.js';
10
+ import type { ConfiguredIntegrationDescriptor } from './authentication/models.js';
11
+ import type { CloudGitSelfManagedHostIntegrationIds, IntegrationIds, SupportedCloudIntegrationIds } from './constants.js';
12
+ import { GitCloudHostIntegrationId, GitSelfManagedHostIntegrationId, IssuesCloudHostIntegrationId } from './constants.js';
13
+ import type { IntegrationServiceContext } from './context.js';
14
+ import type { GitHostIntegration } from './models/gitHostIntegration.js';
15
+ import type { IntegrationBase, IntegrationById, IntegrationResult } from './models/integration.js';
16
+ import type { IssuesIntegration } from './models/issuesIntegration.js';
17
+ import type { ApiClients } from './providers/apiClients.js';
18
+ import type { GitHubApi } from './providers/github/github.js';
19
+ import type { Source } from './telemetry.js';
20
+ export interface ConnectionStateChangeEvent {
21
+ key: string;
22
+ reason: 'connected' | 'disconnected';
23
+ }
24
+ /** @internal Event emitted when an integration connection state changes */
25
+ export interface IntegrationConnectionChangeEvent extends ConnectionStateChangeEvent {
26
+ integration: IntegrationBase;
27
+ }
28
+ export declare class IntegrationService implements Disposable {
29
+ private readonly authenticationService;
30
+ private readonly configuredIntegrationService;
31
+ private readonly ctx;
32
+ get onDidChange(): Event<ConfiguredIntegrationsChangeEvent>;
33
+ private readonly _onDidChangeConnectionState;
34
+ get onDidChangeConnectionState(): Event<ConnectionStateChangeEvent>;
35
+ private readonly _connectedCache;
36
+ private readonly _disposable;
37
+ private _integrations;
38
+ private readonly _onDidChangeIntegrationConnection;
39
+ private readonly _apiDisposables;
40
+ private _apis;
41
+ /** The package-built, memoized per-provider API clients (was injected via the now-removed `ctx.apis`). */
42
+ get apis(): ApiClients;
43
+ /** The shared `GitHubApi` instance — also consumed by the host's GitHub git provider (one instance). */
44
+ get github(): Promise<GitHubApi | undefined>;
45
+ constructor(authenticationService: IntegrationAuthenticationService, configuredIntegrationService: ConfiguredIntegrationService, ctx: IntegrationServiceContext);
46
+ dispose(): void;
47
+ connectCloudIntegrations(connect?: {
48
+ integrationIds: SupportedCloudIntegrationIds[];
49
+ skipIfConnected?: boolean;
50
+ skipPreSync?: boolean;
51
+ }, source?: Source): Promise<boolean>;
52
+ get(id: GitCloudHostIntegrationId): Promise<GitHostIntegration>;
53
+ get(id: IssuesCloudHostIntegrationId): Promise<IssuesIntegration>;
54
+ get(id: GitCloudHostIntegrationId | CloudGitSelfManagedHostIntegrationIds, domain?: string): Promise<GitHostIntegration | undefined>;
55
+ get(id: GitSelfManagedHostIntegrationId, domain: string): Promise<GitHostIntegration | undefined>;
56
+ get<T extends IntegrationIds>(id: T, domain?: string): Promise<IntegrationById<T> | undefined>;
57
+ getConfigured(id?: IntegrationIds, options?: {
58
+ cloud?: boolean;
59
+ domain?: string;
60
+ }): ConfiguredIntegrationDescriptor[];
61
+ /**
62
+ * Returns the connected integration for a `GitRemote`, if any.
63
+ * Internal counterpart to the host's `getRemoteIntegration(remote)` helper.
64
+ */
65
+ getByRemote(remote: GitRemote): Promise<GitHostIntegration | undefined>;
66
+ getMyIssues(integrationIds?: (GitCloudHostIntegrationId | IssuesCloudHostIntegrationId | GitSelfManagedHostIntegrationId)[], options?: {
67
+ openRepositoriesOnly?: boolean;
68
+ cancellation?: AbortSignal;
69
+ }): Promise<IssueShape[] | undefined>;
70
+ private getMyIssuesCore;
71
+ getMyIssuesForRemotes(remote: GitRemote): Promise<IssueShape[] | undefined>;
72
+ getMyIssuesForRemotes(remotes: GitRemote[]): Promise<IssueShape[] | undefined>;
73
+ getMyCurrentAccounts(integrationIds: (GitCloudHostIntegrationId | CloudGitSelfManagedHostIntegrationIds)[]): Promise<Map<GitCloudHostIntegrationId | CloudGitSelfManagedHostIntegrationIds, Account>>;
74
+ getMyPullRequests(integrationIds?: (GitCloudHostIntegrationId | CloudGitSelfManagedHostIntegrationIds)[], cancellation?: AbortSignal, silent?: boolean): Promise<IntegrationResult<PullRequest[] | undefined>>;
75
+ private getMyPullRequestsCore;
76
+ getMyPullRequestsForRemotes(remote: GitRemote): Promise<IntegrationResult<PullRequest[] | undefined>>;
77
+ getMyPullRequestsForRemotes(remotes: GitRemote[]): Promise<IntegrationResult<PullRequest[] | undefined>>;
78
+ private _ignoreSSLErrors;
79
+ ignoreSSLErrors(integration: GitHostIntegration | {
80
+ id: IntegrationIds;
81
+ domain?: string;
82
+ }): boolean | 'force';
83
+ manageCloudIntegrations(source: Source | undefined): Promise<void>;
84
+ reset(): Promise<void>;
85
+ supports(remoteProviderId: RemoteProviderId): boolean;
86
+ private onAuthenticationSessionsChanged;
87
+ private onIntegrationConnectionChanged;
88
+ private onSubscriptionChanged;
89
+ private onUserCheckedIn;
90
+ private _providersApi;
91
+ private getProvidersApi;
92
+ private getCached;
93
+ private getCacheKey;
94
+ private getSupportedCloudIntegrations;
95
+ private findCachedById;
96
+ private syncCloudIntegrations;
97
+ }
98
+ //# sourceMappingURL=integrationService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrationService.d.ts","sourceRoot":"","sources":["../../../src/plus/integrations/integrationService.ts"],"names":[],"mappings":"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"}