@gitkraken/core-gitlens 0.7.1 → 0.8.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 (188) hide show
  1. package/CHANGELOG.md +48 -1
  2. package/dist/git/cache.d.ts +18 -5
  3. package/dist/git/cache.js +26 -8
  4. package/dist/git/cache.js.map +1 -1
  5. package/dist/git/context.d.ts +5 -1
  6. package/dist/git/context.js.map +1 -1
  7. package/dist/git/errors.d.ts +28 -1
  8. package/dist/git/errors.js +45 -1
  9. package/dist/git/errors.js.map +1 -1
  10. package/dist/git/providers/branches.d.ts +5 -1
  11. package/dist/git/providers/commits.d.ts +24 -1
  12. package/dist/git/providers/config.d.ts +7 -1
  13. package/dist/git/providers/operations.d.ts +6 -0
  14. package/dist/git/providers/provider.d.ts +17 -0
  15. package/dist/git/providers/refs.d.ts +38 -3
  16. package/dist/git/providers/revision.d.ts +5 -1
  17. package/dist/git/providers/staging.d.ts +12 -0
  18. package/dist/git/providers/worktrees.d.ts +23 -3
  19. package/dist/git/run.types.d.ts +6 -0
  20. package/dist/git-cli/cliGitProvider.d.ts +17 -1
  21. package/dist/git-cli/cliGitProvider.js +37 -1
  22. package/dist/git-cli/cliGitProvider.js.map +1 -1
  23. package/dist/git-cli/exec/git.d.ts +12 -2
  24. package/dist/git-cli/exec/git.js +48 -17
  25. package/dist/git-cli/exec/git.js.map +1 -1
  26. package/dist/git-cli/exec/gitQueue.d.ts +4 -1
  27. package/dist/git-cli/exec/gitQueue.js +1 -1
  28. package/dist/git-cli/exec/gitQueue.js.map +1 -1
  29. package/dist/git-cli/providers/branches.d.ts +10 -1
  30. package/dist/git-cli/providers/branches.js +15 -8
  31. package/dist/git-cli/providers/branches.js.map +1 -1
  32. package/dist/git-cli/providers/commits.d.ts +23 -1
  33. package/dist/git-cli/providers/commits.js +57 -8
  34. package/dist/git-cli/providers/commits.js.map +1 -1
  35. package/dist/git-cli/providers/config.js +4 -3
  36. package/dist/git-cli/providers/config.js.map +1 -1
  37. package/dist/git-cli/providers/operations.d.ts +1 -0
  38. package/dist/git-cli/providers/operations.js +39 -3
  39. package/dist/git-cli/providers/operations.js.map +1 -1
  40. package/dist/git-cli/providers/patch.js +20 -41
  41. package/dist/git-cli/providers/patch.js.map +1 -1
  42. package/dist/git-cli/providers/pausedOperations.js +2 -2
  43. package/dist/git-cli/providers/pausedOperations.js.map +1 -1
  44. package/dist/git-cli/providers/refs.d.ts +15 -3
  45. package/dist/git-cli/providers/refs.js +115 -10
  46. package/dist/git-cli/providers/refs.js.map +1 -1
  47. package/dist/git-cli/providers/revision.d.ts +3 -1
  48. package/dist/git-cli/providers/revision.js +9 -5
  49. package/dist/git-cli/providers/revision.js.map +1 -1
  50. package/dist/git-cli/providers/staging.d.ts +8 -0
  51. package/dist/git-cli/providers/staging.js +59 -7
  52. package/dist/git-cli/providers/staging.js.map +1 -1
  53. package/dist/git-cli/providers/worktrees.d.ts +31 -2
  54. package/dist/git-cli/providers/worktrees.js +75 -7
  55. package/dist/git-cli/providers/worktrees.js.map +1 -1
  56. package/dist/ipc/discovery.js +1 -1
  57. package/dist/plus/agents/providers/claudeCodeTranscript.js +6 -6
  58. package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -1
  59. package/dist/plus/ai/providers/openAICompatibleProviderBase.js +1 -1
  60. package/dist/plus/git-github/api/github.d.ts +64 -3
  61. package/dist/plus/git-github/api/github.js +237 -24
  62. package/dist/plus/git-github/api/github.js.map +1 -1
  63. package/dist/plus/git-github/providers/github/branches.d.ts +3 -1
  64. package/dist/plus/git-github/providers/github/branches.js +2 -1
  65. package/dist/plus/git-github/providers/github/branches.js.map +1 -1
  66. package/dist/plus/git-github/providers/github/refs.d.ts +10 -3
  67. package/dist/plus/git-github/providers/github/refs.js +4 -4
  68. package/dist/plus/git-github/providers/github/refs.js.map +1 -1
  69. package/dist/plus/git-github/providers/github/revision.d.ts +3 -1
  70. package/dist/plus/git-github/providers/github/revision.js +1 -1
  71. package/dist/plus/git-github/providers/github/revision.js.map +1 -1
  72. package/dist/plus/integrations/collectionMetadata.d.ts +48 -3
  73. package/dist/plus/integrations/collectionMetadata.js +138 -8
  74. package/dist/plus/integrations/collectionMetadata.js.map +1 -1
  75. package/dist/plus/integrations/errors.d.ts +3 -1
  76. package/dist/plus/integrations/errors.js +7 -3
  77. package/dist/plus/integrations/errors.js.map +1 -1
  78. package/dist/plus/integrations/index.d.ts +6 -3
  79. package/dist/plus/integrations/index.js.map +1 -1
  80. package/dist/plus/integrations/integrationService.d.ts +36 -10
  81. package/dist/plus/integrations/integrationService.js +16 -3
  82. package/dist/plus/integrations/integrationService.js.map +1 -1
  83. package/dist/plus/integrations/manager.d.ts +107 -37
  84. package/dist/plus/integrations/models/gitHostIntegration.d.ts +129 -14
  85. package/dist/plus/integrations/models/gitHostIntegration.js +142 -18
  86. package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -1
  87. package/dist/plus/integrations/models/integration.d.ts +117 -11
  88. package/dist/plus/integrations/models/integration.js +175 -13
  89. package/dist/plus/integrations/models/integration.js.map +1 -1
  90. package/dist/plus/integrations/models/issuesIntegration.d.ts +18 -5
  91. package/dist/plus/integrations/models/issuesIntegration.js +42 -10
  92. package/dist/plus/integrations/models/issuesIntegration.js.map +1 -1
  93. package/dist/plus/integrations/providers/azure/azure.d.ts +1 -1
  94. package/dist/plus/integrations/providers/azure/azure.js +14 -18
  95. package/dist/plus/integrations/providers/azure/azure.js.map +1 -1
  96. package/dist/plus/integrations/providers/azure/models.d.ts +29 -0
  97. package/dist/plus/integrations/providers/azure/models.js +112 -1
  98. package/dist/plus/integrations/providers/azure/models.js.map +1 -1
  99. package/dist/plus/integrations/providers/azureDevOps.d.ts +73 -3
  100. package/dist/plus/integrations/providers/azureDevOps.js +117 -3
  101. package/dist/plus/integrations/providers/azureDevOps.js.map +1 -1
  102. package/dist/plus/integrations/providers/azureDevOpsServer.js +2 -1
  103. package/dist/plus/integrations/providers/azureDevOpsServer.js.map +1 -1
  104. package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts +61 -0
  105. package/dist/plus/integrations/providers/bitbucket/bitbucket.js +165 -23
  106. package/dist/plus/integrations/providers/bitbucket/bitbucket.js.map +1 -1
  107. package/dist/plus/integrations/providers/bitbucket/models.d.ts +6 -1
  108. package/dist/plus/integrations/providers/bitbucket/models.js +4 -3
  109. package/dist/plus/integrations/providers/bitbucket/models.js.map +1 -1
  110. package/dist/plus/integrations/providers/bitbucket-server/pullRequestSearch.js +2 -2
  111. package/dist/plus/integrations/providers/bitbucket-server/pullRequestSearch.js.map +1 -1
  112. package/dist/plus/integrations/providers/bitbucket-server.d.ts +48 -2
  113. package/dist/plus/integrations/providers/bitbucket-server.js +51 -1
  114. package/dist/plus/integrations/providers/bitbucket-server.js.map +1 -1
  115. package/dist/plus/integrations/providers/bitbucket.d.ts +45 -2
  116. package/dist/plus/integrations/providers/bitbucket.js +41 -2
  117. package/dist/plus/integrations/providers/bitbucket.js.map +1 -1
  118. package/dist/plus/integrations/providers/github.d.ts +49 -5
  119. package/dist/plus/integrations/providers/github.js +102 -7
  120. package/dist/plus/integrations/providers/github.js.map +1 -1
  121. package/dist/plus/integrations/providers/gitlab/gitlab.d.ts +35 -0
  122. package/dist/plus/integrations/providers/gitlab/gitlab.js +132 -15
  123. package/dist/plus/integrations/providers/gitlab/gitlab.js.map +1 -1
  124. package/dist/plus/integrations/providers/gitlab/models.d.ts +1 -0
  125. package/dist/plus/integrations/providers/gitlab/models.js +1 -1
  126. package/dist/plus/integrations/providers/gitlab/models.js.map +1 -1
  127. package/dist/plus/integrations/providers/gitlab.d.ts +49 -2
  128. package/dist/plus/integrations/providers/gitlab.js +80 -4
  129. package/dist/plus/integrations/providers/gitlab.js.map +1 -1
  130. package/dist/plus/integrations/providers/jira-server.d.ts +3 -3
  131. package/dist/plus/integrations/providers/jira-server.js +5 -8
  132. package/dist/plus/integrations/providers/jira-server.js.map +1 -1
  133. package/dist/plus/integrations/providers/jira.d.ts +9 -0
  134. package/dist/plus/integrations/providers/jira.js +13 -1
  135. package/dist/plus/integrations/providers/jira.js.map +1 -1
  136. package/dist/plus/integrations/providers/linear.js +1 -1
  137. package/dist/plus/integrations/providers/models.d.ts +13 -2
  138. package/dist/plus/integrations/providers/models.js +11 -1
  139. package/dist/plus/integrations/providers/models.js.map +1 -1
  140. package/dist/plus/integrations/providers/providerErrors.d.ts +9 -1
  141. package/dist/plus/integrations/providers/providerErrors.js +10 -1
  142. package/dist/plus/integrations/providers/providerErrors.js.map +1 -1
  143. package/dist/plus/integrations/providers/providersApi.d.ts +60 -1
  144. package/dist/plus/integrations/providers/providersApi.js +137 -2
  145. package/dist/plus/integrations/providers/providersApi.js.map +1 -1
  146. package/dist/plus/integrations/providers/utils/providerPaging.d.ts +42 -0
  147. package/dist/plus/integrations/providers/utils/providerPaging.js +58 -1
  148. package/dist/plus/integrations/providers/utils/providerPaging.js.map +1 -1
  149. package/dist/plus/integrations/providers/utils.d.ts +1 -1
  150. package/dist/plus/integrations/reads/broaden.js +1 -1
  151. package/dist/plus/integrations/reads/context.d.ts +1 -1
  152. package/dist/plus/integrations/reads/counts.js +1 -1
  153. package/dist/plus/integrations/reads/currentAccount.d.ts +35 -0
  154. package/dist/plus/integrations/reads/currentAccount.js +46 -0
  155. package/dist/plus/integrations/reads/currentAccount.js.map +1 -0
  156. package/dist/plus/integrations/reads/drains.d.ts +5 -2
  157. package/dist/plus/integrations/reads/drains.js +8 -4
  158. package/dist/plus/integrations/reads/drains.js.map +1 -1
  159. package/dist/plus/integrations/reads/hierarchy.js +1 -1
  160. package/dist/plus/integrations/reads/hierarchy.utils.js +1 -1
  161. package/dist/plus/integrations/reads/issueBatch.d.ts +72 -12
  162. package/dist/plus/integrations/reads/issueBatch.js +193 -48
  163. package/dist/plus/integrations/reads/issueBatch.js.map +1 -1
  164. package/dist/plus/integrations/reads/issueTracker.js +1 -1
  165. package/dist/plus/integrations/reads/issues.js +1 -1
  166. package/dist/plus/integrations/reads/pullRequestBatch.d.ts +57 -0
  167. package/dist/plus/integrations/reads/pullRequestBatch.js +80 -0
  168. package/dist/plus/integrations/reads/pullRequestBatch.js.map +1 -0
  169. package/dist/plus/integrations/reads/pullRequestBranches.d.ts +58 -0
  170. package/dist/plus/integrations/reads/pullRequestBranches.js +111 -0
  171. package/dist/plus/integrations/reads/pullRequestBranches.js.map +1 -0
  172. package/dist/plus/integrations/reads/pullRequests.js +3 -3
  173. package/dist/plus/integrations/reads/pullRequests.js.map +1 -1
  174. package/dist/plus/integrations/reads/resolveRepository.js +1 -1
  175. package/dist/plus/integrations/reads/sweeps.js +4 -4
  176. package/dist/plus/integrations/reads/sweeps.js.map +1 -1
  177. package/dist/plus/integrations/results.d.ts +87 -6
  178. package/dist/plus/integrations/results.js +9 -2
  179. package/dist/plus/integrations/results.js.map +1 -1
  180. package/dist/utils/env/node/exec.js +3 -3
  181. package/dist/utils/env/node/exec.js.map +1 -1
  182. package/docs/integrations.md +175 -35
  183. package/docs/kepler-git-write-api-parity.md +239 -0
  184. package/docs/kepler-read-api-parity.md +75 -28
  185. package/package.json +1 -1
  186. package/dist/plus/integrations/reads/trackerIssue.d.ts +0 -33
  187. package/dist/plus/integrations/reads/trackerIssue.js +0 -60
  188. package/dist/plus/integrations/reads/trackerIssue.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { GitPausedOperationStatus } from "./models/pausedOperationStatus.js";
2
+ import { Provider } from "./models/remoteProvider.js";
2
3
  import * as l10n from "@vscode/l10n";
3
4
  //#region ../git/src/errors.d.ts
4
5
  /** The `t` surface a message builder renders through — the real `l10n` for `localizedMessage`, `english` for `message`. */
@@ -207,7 +208,7 @@ export declare class PausedOperationContinueError extends GitCommandError<Paused
207
208
  };
208
209
  protected buildErrorMessage(details: PausedOperationContinueErrorDetails, l10n: Translator): string;
209
210
  }
210
- export type PullErrorReason = 'conflict' | 'gitIdentity' | 'rebaseMultipleBranches' | 'refLocked' | 'remoteConnectionFailed' | 'tagConflict' | 'uncommittedChanges' | 'unmergedFiles' | 'unstagedChanges' | 'wouldOverwriteChanges' | 'other';
211
+ export type PullErrorReason = 'conflict' | 'gitIdentity' | 'noFastForward' | 'noUpstream' | 'rebaseMultipleBranches' | 'refLocked' | 'remoteConnectionFailed' | 'tagConflict' | 'uncommittedChanges' | 'unmergedFiles' | 'unstagedChanges' | 'wouldOverwriteChanges' | 'other';
211
212
  interface PullErrorDetails {
212
213
  reason?: PullErrorReason;
213
214
  gitCommand?: GitCommandContext;
@@ -342,6 +343,23 @@ export declare class TagError extends GitCommandError<TagErrorDetails> {
342
343
  };
343
344
  protected buildErrorMessage(details: TagErrorDetails, l10n: Translator): string;
344
345
  }
346
+ export type ReferenceUpdateErrorReason = 'checkedOut' | 'conflict' | 'invalidObject' | 'invalidRef' | 'notFound';
347
+ interface ReferenceUpdateErrorDetails {
348
+ reason?: ReferenceUpdateErrorReason;
349
+ action: 'update' | 'delete';
350
+ /** The full ref name the operation targeted */
351
+ ref: string;
352
+ gitCommand?: GitCommandContext;
353
+ }
354
+ export declare class ReferenceUpdateError extends GitCommandError<ReferenceUpdateErrorDetails> {
355
+ static is(ex: unknown): ex is ReferenceUpdateError;
356
+ static is<R extends ReferenceUpdateErrorReason>(ex: unknown, reason: R): ex is ReferenceUpdateError & {
357
+ details: {
358
+ reason: R;
359
+ };
360
+ };
361
+ protected buildErrorMessage(details: ReferenceUpdateErrorDetails, l10n: Translator): string;
362
+ }
345
363
  export declare class WorkspaceUntrustedError extends Error {
346
364
  static is(ex: unknown): ex is WorkspaceUntrustedError;
347
365
  constructor();
@@ -421,6 +439,15 @@ export declare class RequestRateLimitError extends Error {
421
439
  static is(ex: unknown): ex is RequestRateLimitError;
422
440
  constructor(original: Error, token: string | undefined, resetAt: number | undefined);
423
441
  }
442
+ /**
443
+ * Spends `provider`'s strike toward disconnecting for a request that failed with a server error or timed out, and
444
+ * shows `notify`'s notice; or, with `defer`, leaves both to the batch read that made the request, which counts its
445
+ * failed requests once for the whole call (see {@link getDeferredRequestFailure}). A batch fans out into a request
446
+ * per target, so one outage would otherwise disconnect the integration in the middle of a batch.
447
+ */
448
+ export declare function reportRequestFailure(provider: Provider | undefined, ex: Error, notify: () => void, defer: boolean | undefined): void;
449
+ /** The notice a failed request left to its batch read (see {@link reportRequestFailure}), if it left one. */
450
+ export declare function getDeferredRequestFailure(ex: unknown): (() => void) | undefined;
424
451
  export type SigningErrorReason = 'noKey' | 'gpgNotFound' | 'sshNotFound' | 'passphraseFailed' | 'unknown';
425
452
  interface SigningErrorDetails {
426
453
  reason?: SigningErrorReason;
@@ -514,6 +514,8 @@ var PullError = class PullError extends GitCommandError {
514
514
  switch (details.reason) {
515
515
  case "conflict": return l10n.t("Unable to complete pull due to conflicts which must be resolved.");
516
516
  case "gitIdentity": return l10n.t("Unable to pull because you have not yet set up your Git identity.");
517
+ case "noFastForward": return l10n.t("Unable to pull because the branch cannot be fast-forwarded.");
518
+ case "noUpstream": return l10n.t("Unable to pull because the branch has no upstream.");
517
519
  case "rebaseMultipleBranches": return l10n.t("Unable to pull because you are trying to rebase onto multiple branches.");
518
520
  case "refLocked": return l10n.t("Unable to pull because a local ref could not be updated.");
519
521
  case "remoteConnectionFailed": return l10n.t("Unable to pull because the remote repository could not be reached.");
@@ -796,6 +798,29 @@ function getGenericTagErrorMessage(tag, reason, l10n) {
796
798
  default: return l10n.t("Unable to perform action with tag '{0}'", tag);
797
799
  }
798
800
  }
801
+ var ReferenceUpdateError = class ReferenceUpdateError extends GitCommandError {
802
+ static is(ex, reason) {
803
+ return ex instanceof ReferenceUpdateError && (reason == null || ex.details.reason === reason);
804
+ }
805
+ buildErrorMessage(details, l10n) {
806
+ const ref = details.ref;
807
+ if (details.action === "delete") switch (details.reason) {
808
+ case "checkedOut": return l10n.t("Unable to delete reference '{0}' because it is checked out in a worktree", ref);
809
+ case "conflict": return l10n.t("Unable to delete reference '{0}' because it changed unexpectedly", ref);
810
+ case "invalidObject": return l10n.t("Unable to delete reference '{0}' because the target object does not exist", ref);
811
+ case "invalidRef": return l10n.t("Unable to delete reference '{0}' because the name is not a valid reference", ref);
812
+ case "notFound": return l10n.t("Unable to delete reference '{0}' because it does not exist", ref);
813
+ default: return l10n.t("Unable to delete reference '{0}'", ref);
814
+ }
815
+ switch (details.reason) {
816
+ case "conflict": return l10n.t("Unable to update reference '{0}' because it changed unexpectedly", ref);
817
+ case "invalidObject": return l10n.t("Unable to update reference '{0}' because the target object does not exist", ref);
818
+ case "invalidRef": return l10n.t("Unable to update reference '{0}' because the name is not a valid reference", ref);
819
+ case "notFound": return l10n.t("Unable to update reference '{0}' because it does not exist", ref);
820
+ default: return l10n.t("Unable to update reference '{0}'", ref);
821
+ }
822
+ }
823
+ };
799
824
  var WorkspaceUntrustedError = class WorkspaceUntrustedError extends Error {
800
825
  static is(ex) {
801
826
  return ex instanceof WorkspaceUntrustedError;
@@ -920,6 +945,25 @@ var RequestRateLimitError = class RequestRateLimitError extends Error {
920
945
  Error.captureStackTrace?.(this, new.target);
921
946
  }
922
947
  };
948
+ const deferredRequestFailures = /* @__PURE__ */ new WeakMap();
949
+ /**
950
+ * Spends `provider`'s strike toward disconnecting for a request that failed with a server error or timed out, and
951
+ * shows `notify`'s notice; or, with `defer`, leaves both to the batch read that made the request, which counts its
952
+ * failed requests once for the whole call (see {@link getDeferredRequestFailure}). A batch fans out into a request
953
+ * per target, so one outage would otherwise disconnect the integration in the middle of a batch.
954
+ */
955
+ function reportRequestFailure(provider, ex, notify, defer) {
956
+ if (defer) {
957
+ deferredRequestFailures.set(ex, notify);
958
+ return;
959
+ }
960
+ provider?.trackRequestException();
961
+ notify();
962
+ }
963
+ /** The notice a failed request left to its batch read (see {@link reportRequestFailure}), if it left one. */
964
+ function getDeferredRequestFailure(ex) {
965
+ return ex instanceof Error ? deferredRequestFailures.get(ex) : void 0;
966
+ }
923
967
  var SigningError = class SigningError extends GitCommandError {
924
968
  static is(ex, reason) {
925
969
  return ex instanceof SigningError && (reason == null || ex.details.reason === reason);
@@ -935,6 +979,6 @@ var SigningError = class SigningError extends GitCommandError {
935
979
  }
936
980
  };
937
981
  //#endregion
938
- export { ApplyPatchCommitError, AuthenticationError, AuthenticationErrorReason, BlameIgnoreRevsFileBadRevisionError, BlameIgnoreRevsFileError, BranchError, CheckoutError, CherryPickError, CommitError, FetchError, GitCommandError, GitSearchError, GitWarnings, MergeError, PausedOperationAbortError, PausedOperationContinueError, PullError, PushError, RebaseError, RequestClientError, RequestNotFoundError, RequestRateLimitError, ResetError, RevertError, ShowError, SigningError, StashApplyError, StashPushError, TagError, WorkspaceUntrustedError, WorktreeCreateError, WorktreeDeleteError };
982
+ export { ApplyPatchCommitError, AuthenticationError, AuthenticationErrorReason, BlameIgnoreRevsFileBadRevisionError, BlameIgnoreRevsFileError, BranchError, CheckoutError, CherryPickError, CommitError, FetchError, GitCommandError, GitSearchError, GitWarnings, MergeError, PausedOperationAbortError, PausedOperationContinueError, PullError, PushError, RebaseError, ReferenceUpdateError, RequestClientError, RequestNotFoundError, RequestRateLimitError, ResetError, RevertError, ShowError, SigningError, StashApplyError, StashPushError, TagError, WorkspaceUntrustedError, WorktreeCreateError, WorktreeDeleteError, getDeferredRequestFailure, reportRequestFailure };
939
983
 
940
984
  //# sourceMappingURL=errors.js.map