@gitkraken/core-gitlens 0.3.1 → 0.4.100
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/CHANGELOG.md +83 -1
- package/README.md +22 -12
- package/dist/git/cache.d.ts +29 -2
- package/dist/git/cache.d.ts.map +1 -1
- package/dist/git/cache.js +67 -7
- package/dist/git/cache.js.map +1 -1
- package/dist/git/context.d.ts +4 -3
- package/dist/git/context.d.ts.map +1 -1
- package/dist/git/context.js.map +1 -1
- package/dist/git/errors.d.ts +31 -1
- package/dist/git/errors.d.ts.map +1 -1
- package/dist/git/errors.js +29 -0
- package/dist/git/errors.js.map +1 -1
- package/dist/git/models/author.d.ts.map +1 -1
- package/dist/git/models/author.js.map +1 -1
- package/dist/git/models/autolink.d.ts.map +1 -1
- package/dist/git/models/autolink.js.map +1 -1
- package/dist/git/models/blame.d.ts.map +1 -1
- package/dist/git/models/blame.js.map +1 -1
- package/dist/git/models/branch.d.ts.map +1 -1
- package/dist/git/models/branch.js.map +1 -1
- package/dist/git/models/commit.d.ts.map +1 -1
- package/dist/git/models/commit.js +1 -1
- package/dist/git/models/commit.js.map +1 -1
- package/dist/git/models/contributor.d.ts.map +1 -1
- package/dist/git/models/contributor.js.map +1 -1
- package/dist/git/models/defaultBranch.d.ts.map +1 -1
- package/dist/git/models/defaultBranch.js.map +1 -1
- package/dist/git/models/diff.d.ts.map +1 -1
- package/dist/git/models/diff.js.map +1 -1
- package/dist/git/models/file.d.ts.map +1 -1
- package/dist/git/models/file.js.map +1 -1
- package/dist/git/models/fileChange.d.ts.map +1 -1
- package/dist/git/models/fileChange.js.map +1 -1
- package/dist/git/models/fileStatus.d.ts +22 -22
- package/dist/git/models/fileStatus.d.ts.map +1 -1
- package/dist/git/models/fileStatus.js.map +1 -1
- package/dist/git/models/graph.d.ts +122 -1
- package/dist/git/models/graph.d.ts.map +1 -1
- package/dist/git/models/graph.js +4 -0
- package/dist/git/models/graph.js.map +1 -1
- package/dist/git/models/graphSearch.d.ts.map +1 -1
- package/dist/git/models/graphSearch.js.map +1 -1
- package/dist/git/models/graphSession.d.ts +177 -0
- package/dist/git/models/graphSession.d.ts.map +1 -0
- package/dist/git/models/graphSession.js +7 -0
- package/dist/git/models/graphSession.js.map +1 -0
- package/dist/git/models/issue.d.ts +12 -2
- package/dist/git/models/issue.d.ts.map +1 -1
- package/dist/git/models/issue.js +3 -1
- package/dist/git/models/issue.js.map +1 -1
- package/dist/git/models/issueOrPullRequest.d.ts.map +1 -1
- package/dist/git/models/issueOrPullRequest.js.map +1 -1
- package/dist/git/models/lineRange.d.ts.map +1 -1
- package/dist/git/models/lineRange.js.map +1 -1
- package/dist/git/models/log.d.ts.map +1 -1
- package/dist/git/models/log.js.map +1 -1
- package/dist/git/models/mergeConflicts.d.ts.map +1 -1
- package/dist/git/models/mergeConflicts.js.map +1 -1
- package/dist/git/models/patch.d.ts.map +1 -1
- package/dist/git/models/patch.js.map +1 -1
- package/dist/git/models/pausedOperationStatus.d.ts.map +1 -1
- package/dist/git/models/pausedOperationStatus.js.map +1 -1
- package/dist/git/models/pullRequest.d.ts +27 -2
- package/dist/git/models/pullRequest.d.ts.map +1 -1
- package/dist/git/models/pullRequest.js +7 -1
- package/dist/git/models/pullRequest.js.map +1 -1
- package/dist/git/models/rebase.d.ts.map +1 -1
- package/dist/git/models/rebase.js.map +1 -1
- package/dist/git/models/reference.d.ts.map +1 -1
- package/dist/git/models/reference.js.map +1 -1
- package/dist/git/models/reflog.d.ts.map +1 -1
- package/dist/git/models/reflog.js.map +1 -1
- package/dist/git/models/remote.d.ts.map +1 -1
- package/dist/git/models/remote.js.map +1 -1
- package/dist/git/models/remoteProvider.d.ts.map +1 -1
- package/dist/git/models/remoteProvider.js.map +1 -1
- package/dist/git/models/remoteResource.d.ts.map +1 -1
- package/dist/git/models/remoteResource.js.map +1 -1
- package/dist/git/models/repository.d.ts +20 -2
- package/dist/git/models/repository.d.ts.map +1 -1
- package/dist/git/models/repository.js +19 -0
- package/dist/git/models/repository.js.map +1 -1
- package/dist/git/models/repositoryChangeEvent.d.ts.map +1 -1
- package/dist/git/models/repositoryChangeEvent.js.map +1 -1
- package/dist/git/models/repositoryIdentities.d.ts.map +1 -1
- package/dist/git/models/repositoryIdentities.js.map +1 -1
- package/dist/git/models/repositoryMetadata.d.ts.map +1 -1
- package/dist/git/models/repositoryMetadata.js.map +1 -1
- package/dist/git/models/resourceDescriptor.d.ts +16 -0
- package/dist/git/models/resourceDescriptor.d.ts.map +1 -1
- package/dist/git/models/resourceDescriptor.js.map +1 -1
- package/dist/git/models/revision.d.ts.map +1 -1
- package/dist/git/models/revision.js.map +1 -1
- package/dist/git/models/search.d.ts.map +1 -1
- package/dist/git/models/search.js.map +1 -1
- package/dist/git/models/shortlog.d.ts.map +1 -1
- package/dist/git/models/shortlog.js.map +1 -1
- package/dist/git/models/signature.d.ts +14 -0
- package/dist/git/models/signature.d.ts.map +1 -1
- package/dist/git/models/signature.js.map +1 -1
- package/dist/git/models/staging.d.ts.map +1 -1
- package/dist/git/models/staging.js.map +1 -1
- package/dist/git/models/stash.d.ts.map +1 -1
- package/dist/git/models/stash.js.map +1 -1
- package/dist/git/models/status.d.ts.map +1 -1
- package/dist/git/models/status.js.map +1 -1
- package/dist/git/models/statusFile.d.ts.map +1 -1
- package/dist/git/models/statusFile.js.map +1 -1
- package/dist/git/models/tag.d.ts +11 -1
- package/dist/git/models/tag.d.ts.map +1 -1
- package/dist/git/models/tag.js +9 -2
- package/dist/git/models/tag.js.map +1 -1
- package/dist/git/models/tree.d.ts.map +1 -1
- package/dist/git/models/tree.js.map +1 -1
- package/dist/git/models/user.d.ts.map +1 -1
- package/dist/git/models/user.js.map +1 -1
- package/dist/git/models/worktree.d.ts.map +1 -1
- package/dist/git/models/worktree.js.map +1 -1
- package/dist/git/parsers/diffParser.d.ts.map +1 -1
- package/dist/git/parsers/diffParser.js +1 -1
- package/dist/git/parsers/diffParser.js.map +1 -1
- package/dist/git/parsers/rebaseTodoParser.d.ts.map +1 -1
- package/dist/git/parsers/rebaseTodoParser.js.map +1 -1
- package/dist/git/providers/blame.d.ts.map +1 -1
- package/dist/git/providers/blame.js.map +1 -1
- package/dist/git/providers/branches.d.ts +8 -1
- package/dist/git/providers/branches.d.ts.map +1 -1
- package/dist/git/providers/branches.js.map +1 -1
- package/dist/git/providers/commits.d.ts +6 -1
- package/dist/git/providers/commits.d.ts.map +1 -1
- package/dist/git/providers/commits.js.map +1 -1
- package/dist/git/providers/config.d.ts +6 -2
- package/dist/git/providers/config.d.ts.map +1 -1
- package/dist/git/providers/config.js.map +1 -1
- package/dist/git/providers/contributors.d.ts.map +1 -1
- package/dist/git/providers/contributors.js.map +1 -1
- package/dist/git/providers/diff.d.ts.map +1 -1
- package/dist/git/providers/diff.js.map +1 -1
- package/dist/git/providers/graph.d.ts +55 -1
- package/dist/git/providers/graph.d.ts.map +1 -1
- package/dist/git/providers/graph.js.map +1 -1
- package/dist/git/providers/operations.d.ts +1 -0
- package/dist/git/providers/operations.d.ts.map +1 -1
- package/dist/git/providers/operations.js.map +1 -1
- package/dist/git/providers/patch.d.ts.map +1 -1
- package/dist/git/providers/patch.js.map +1 -1
- package/dist/git/providers/pausedOperations.d.ts.map +1 -1
- package/dist/git/providers/pausedOperations.js.map +1 -1
- package/dist/git/providers/provider.d.ts.map +1 -1
- package/dist/git/providers/provider.js.map +1 -1
- package/dist/git/providers/refs.d.ts.map +1 -1
- package/dist/git/providers/refs.js.map +1 -1
- package/dist/git/providers/remotes.d.ts.map +1 -1
- package/dist/git/providers/remotes.js.map +1 -1
- package/dist/git/providers/revision.d.ts.map +1 -1
- package/dist/git/providers/revision.js.map +1 -1
- package/dist/git/providers/shared/remotes.d.ts.map +1 -1
- package/dist/git/providers/shared/remotes.js.map +1 -1
- package/dist/git/providers/staging.d.ts.map +1 -1
- package/dist/git/providers/staging.js.map +1 -1
- package/dist/git/providers/stash.d.ts.map +1 -1
- package/dist/git/providers/stash.js.map +1 -1
- package/dist/git/providers/status.d.ts +1 -0
- package/dist/git/providers/status.d.ts.map +1 -1
- package/dist/git/providers/status.js.map +1 -1
- package/dist/git/providers/tags.d.ts.map +1 -1
- package/dist/git/providers/tags.js.map +1 -1
- package/dist/git/providers/types.d.ts.map +1 -1
- package/dist/git/providers/types.js.map +1 -1
- package/dist/git/providers/worktrees.d.ts +5 -1
- package/dist/git/providers/worktrees.d.ts.map +1 -1
- package/dist/git/providers/worktrees.js.map +1 -1
- package/dist/git/remotes/azure-devops.d.ts.map +1 -1
- package/dist/git/remotes/azure-devops.js +27 -31
- package/dist/git/remotes/azure-devops.js.map +1 -1
- package/dist/git/remotes/bitbucket-server.d.ts.map +1 -1
- package/dist/git/remotes/bitbucket-server.js +21 -23
- package/dist/git/remotes/bitbucket-server.js.map +1 -1
- package/dist/git/remotes/bitbucket.d.ts.map +1 -1
- package/dist/git/remotes/bitbucket.js +21 -23
- package/dist/git/remotes/bitbucket.js.map +1 -1
- package/dist/git/remotes/custom.d.ts.map +1 -1
- package/dist/git/remotes/custom.js.map +1 -1
- package/dist/git/remotes/gerrit.d.ts.map +1 -1
- package/dist/git/remotes/gerrit.js +11 -13
- package/dist/git/remotes/gerrit.js.map +1 -1
- package/dist/git/remotes/gitea.d.ts.map +1 -1
- package/dist/git/remotes/gitea.js +12 -14
- package/dist/git/remotes/gitea.js.map +1 -1
- package/dist/git/remotes/github.d.ts.map +1 -1
- package/dist/git/remotes/github.js +54 -56
- package/dist/git/remotes/github.js.map +1 -1
- package/dist/git/remotes/gitlab.d.ts.map +1 -1
- package/dist/git/remotes/gitlab.js +93 -95
- package/dist/git/remotes/gitlab.js.map +1 -1
- package/dist/git/remotes/google-source.d.ts.map +1 -1
- package/dist/git/remotes/google-source.js.map +1 -1
- package/dist/git/remotes/matcher.d.ts.map +1 -1
- package/dist/git/remotes/matcher.js.map +1 -1
- package/dist/git/run.types.d.ts +62 -3
- package/dist/git/run.types.d.ts.map +1 -1
- package/dist/git/service.d.ts.map +1 -1
- package/dist/git/utils/autolink.utils.d.ts.map +1 -1
- package/dist/git/utils/autolink.utils.js.map +1 -1
- package/dist/git/utils/blame.utils.d.ts.map +1 -1
- package/dist/git/utils/blame.utils.js.map +1 -1
- package/dist/git/utils/branch.utils.d.ts.map +1 -1
- package/dist/git/utils/branch.utils.js +12 -1
- package/dist/git/utils/branch.utils.js.map +1 -1
- package/dist/git/utils/commit.utils.d.ts.map +1 -1
- package/dist/git/utils/commit.utils.js.map +1 -1
- package/dist/git/utils/conflictResolution.utils.d.ts +32 -0
- package/dist/git/utils/conflictResolution.utils.d.ts.map +1 -1
- package/dist/git/utils/conflictResolution.utils.js +95 -0
- package/dist/git/utils/conflictResolution.utils.js.map +1 -1
- package/dist/git/utils/contributor.utils.d.ts +1 -1
- package/dist/git/utils/contributor.utils.d.ts.map +1 -1
- package/dist/git/utils/contributor.utils.js +1 -2
- package/dist/git/utils/contributor.utils.js.map +1 -1
- package/dist/git/utils/fetch.utils.d.ts.map +1 -1
- package/dist/git/utils/fetch.utils.js.map +1 -1
- package/dist/git/utils/fileStatus.utils.d.ts +7 -0
- package/dist/git/utils/fileStatus.utils.d.ts.map +1 -1
- package/dist/git/utils/fileStatus.utils.js +6 -0
- package/dist/git/utils/fileStatus.utils.js.map +1 -1
- package/dist/git/utils/graph.utils.d.ts +20 -0
- package/dist/git/utils/graph.utils.d.ts.map +1 -0
- package/dist/git/utils/graph.utils.js +40 -0
- package/dist/git/utils/graph.utils.js.map +1 -0
- package/dist/git/utils/issue.utils.d.ts.map +1 -1
- package/dist/git/utils/issue.utils.js +1 -0
- package/dist/git/utils/issue.utils.js.map +1 -1
- package/dist/git/utils/issueOrPullRequest.utils.d.ts.map +1 -1
- package/dist/git/utils/issueOrPullRequest.utils.js.map +1 -1
- package/dist/git/utils/mergeConflicts.utils.d.ts.map +1 -1
- package/dist/git/utils/mergeConflicts.utils.js.map +1 -1
- package/dist/git/utils/pausedOperationStatus.utils.d.ts +13 -13
- package/dist/git/utils/pausedOperationStatus.utils.d.ts.map +1 -1
- package/dist/git/utils/pausedOperationStatus.utils.js.map +1 -1
- package/dist/git/utils/pullRequest.utils.d.ts.map +1 -1
- package/dist/git/utils/pullRequest.utils.js +9 -0
- package/dist/git/utils/pullRequest.utils.js.map +1 -1
- package/dist/git/utils/reachability.utils.d.ts +20 -2
- package/dist/git/utils/reachability.utils.d.ts.map +1 -1
- package/dist/git/utils/reachability.utils.js +68 -7
- package/dist/git/utils/reachability.utils.js.map +1 -1
- package/dist/git/utils/rebase.utils.d.ts.map +1 -1
- package/dist/git/utils/rebase.utils.js.map +1 -1
- package/dist/git/utils/reference.utils.d.ts.map +1 -1
- package/dist/git/utils/reference.utils.js.map +1 -1
- package/dist/git/utils/remote.utils.d.ts.map +1 -1
- package/dist/git/utils/remote.utils.js.map +1 -1
- package/dist/git/utils/repository.utils.d.ts.map +1 -1
- package/dist/git/utils/repository.utils.js.map +1 -1
- package/dist/git/utils/resourceDescriptor.utils.d.ts.map +1 -1
- package/dist/git/utils/resourceDescriptor.utils.js.map +1 -1
- package/dist/git/utils/revision.utils.d.ts.map +1 -1
- package/dist/git/utils/revision.utils.js.map +1 -1
- package/dist/git/utils/search.utils.d.ts.map +1 -1
- package/dist/git/utils/search.utils.js.map +1 -1
- package/dist/git/utils/sorting.d.ts.map +1 -1
- package/dist/git/utils/sorting.js.map +1 -1
- package/dist/git/utils/sshKey.utils.d.ts +7 -0
- package/dist/git/utils/sshKey.utils.d.ts.map +1 -0
- package/dist/git/utils/sshKey.utils.js +25 -0
- package/dist/git/utils/sshKey.utils.js.map +1 -0
- package/dist/git/utils/status.utils.d.ts.map +1 -1
- package/dist/git/utils/status.utils.js.map +1 -1
- package/dist/git/utils/statusFile.utils.d.ts.map +1 -1
- package/dist/git/utils/statusFile.utils.js.map +1 -1
- package/dist/git/utils/tag.utils.d.ts.map +1 -1
- package/dist/git/utils/tag.utils.js.map +1 -1
- package/dist/git/utils/tooltip.utils.d.ts.map +1 -1
- package/dist/git/utils/tooltip.utils.js.map +1 -1
- package/dist/git/utils/uriAuthority.d.ts.map +1 -1
- package/dist/git/utils/uriAuthority.js.map +1 -1
- package/dist/git/utils/user.utils.d.ts.map +1 -1
- package/dist/git/utils/user.utils.js.map +1 -1
- package/dist/git/utils/worktree.utils.d.ts.map +1 -1
- package/dist/git/utils/worktree.utils.js.map +1 -1
- package/dist/git/watching/changeEvent.d.ts.map +1 -1
- package/dist/git/watching/changeEvent.js.map +1 -1
- package/dist/git/watching/classifyChange.d.ts.map +1 -1
- package/dist/git/watching/classifyChange.js.map +1 -1
- package/dist/git/watching/gitIgnoreFilter.d.ts.map +1 -1
- package/dist/git/watching/gitIgnoreFilter.js.map +1 -1
- package/dist/git/watching/initWatcher.d.ts.map +1 -1
- package/dist/git/watching/initWatcher.js.map +1 -1
- package/dist/git/watching/provider.d.ts.map +1 -1
- package/dist/git/watching/provider.js.map +1 -1
- package/dist/git/watching/watchGroup.d.ts.map +1 -1
- package/dist/git/watching/watchGroup.js.map +1 -1
- package/dist/git/watching/watchService.d.ts +4 -0
- package/dist/git/watching/watchService.d.ts.map +1 -1
- package/dist/git/watching/watchService.js +15 -1
- package/dist/git/watching/watchService.js.map +1 -1
- package/dist/git/watching/watchSession.d.ts +7 -0
- package/dist/git/watching/watchSession.d.ts.map +1 -1
- package/dist/git/watching/watchSession.js +14 -2
- package/dist/git/watching/watchSession.js.map +1 -1
- package/dist/git/watching/watcherPatterns.d.ts.map +1 -1
- package/dist/git/watching/watcherPatterns.js.map +1 -1
- package/dist/git-cli/cliGitProvider.d.ts.map +1 -1
- package/dist/git-cli/exec/exec.d.ts.map +1 -1
- package/dist/git-cli/exec/exec.errors.d.ts.map +1 -1
- package/dist/git-cli/exec/exec.errors.js.map +1 -1
- package/dist/git-cli/exec/exec.js.map +1 -1
- package/dist/git-cli/exec/exec.types.d.ts.map +1 -1
- package/dist/git-cli/exec/exec.types.js.map +1 -1
- package/dist/git-cli/exec/features.d.ts.map +1 -1
- package/dist/git-cli/exec/features.js.map +1 -1
- package/dist/git-cli/exec/git.d.ts +19 -27
- package/dist/git-cli/exec/git.d.ts.map +1 -1
- package/dist/git-cli/exec/git.js +126 -34
- package/dist/git-cli/exec/git.js.map +1 -1
- package/dist/git-cli/exec/gitQueue.d.ts.map +1 -1
- package/dist/git-cli/exec/gitQueue.js.map +1 -1
- package/dist/git-cli/exec/locator.d.ts.map +1 -1
- package/dist/git-cli/exec/locator.js.map +1 -1
- package/dist/git-cli/parsers/blameParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/blameParser.js.map +1 -1
- package/dist/git-cli/parsers/indexParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/indexParser.js.map +1 -1
- package/dist/git-cli/parsers/logParser.d.ts +9 -1
- package/dist/git-cli/parsers/logParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/logParser.js +141 -60
- package/dist/git-cli/parsers/logParser.js.map +1 -1
- package/dist/git-cli/parsers/mergeTreeParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/mergeTreeParser.js.map +1 -1
- package/dist/git-cli/parsers/refParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/refParser.js.map +1 -1
- package/dist/git-cli/parsers/reflogParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/reflogParser.js.map +1 -1
- package/dist/git-cli/parsers/remoteParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/remoteParser.js.map +1 -1
- package/dist/git-cli/parsers/shortlogParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/shortlogParser.js.map +1 -1
- package/dist/git-cli/parsers/signatureParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/signatureParser.js.map +1 -1
- package/dist/git-cli/parsers/sshSignatureParser.d.ts +21 -0
- package/dist/git-cli/parsers/sshSignatureParser.d.ts.map +1 -0
- package/dist/git-cli/parsers/sshSignatureParser.js +78 -0
- package/dist/git-cli/parsers/sshSignatureParser.js.map +1 -0
- package/dist/git-cli/parsers/statusParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/statusParser.js.map +1 -1
- package/dist/git-cli/parsers/treeParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/treeParser.js.map +1 -1
- package/dist/git-cli/parsers/worktreeParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/worktreeParser.js +5 -7
- package/dist/git-cli/parsers/worktreeParser.js.map +1 -1
- package/dist/git-cli/providers/blame.d.ts.map +1 -1
- package/dist/git-cli/providers/blame.js.map +1 -1
- package/dist/git-cli/providers/branches.d.ts +1 -0
- package/dist/git-cli/providers/branches.d.ts.map +1 -1
- package/dist/git-cli/providers/branches.js +51 -32
- package/dist/git-cli/providers/branches.js.map +1 -1
- package/dist/git-cli/providers/commitFilesetUtils.d.ts.map +1 -1
- package/dist/git-cli/providers/commitFilesetUtils.js.map +1 -1
- package/dist/git-cli/providers/commits.d.ts +12 -1
- package/dist/git-cli/providers/commits.d.ts.map +1 -1
- package/dist/git-cli/providers/commits.js +89 -8
- package/dist/git-cli/providers/commits.js.map +1 -1
- package/dist/git-cli/providers/config.d.ts.map +1 -1
- package/dist/git-cli/providers/config.js.map +1 -1
- package/dist/git-cli/providers/contributors.d.ts.map +1 -1
- package/dist/git-cli/providers/contributors.js.map +1 -1
- package/dist/git-cli/providers/diff.d.ts.map +1 -1
- package/dist/git-cli/providers/diff.js.map +1 -1
- package/dist/git-cli/providers/graph.d.ts +35 -1
- package/dist/git-cli/providers/graph.d.ts.map +1 -1
- package/dist/git-cli/providers/graph.js +1434 -330
- package/dist/git-cli/providers/graph.js.map +1 -1
- package/dist/git-cli/providers/operations.d.ts +1 -0
- package/dist/git-cli/providers/operations.d.ts.map +1 -1
- package/dist/git-cli/providers/operations.js +22 -1
- package/dist/git-cli/providers/operations.js.map +1 -1
- package/dist/git-cli/providers/patch.d.ts.map +1 -1
- package/dist/git-cli/providers/patch.js.map +1 -1
- package/dist/git-cli/providers/pausedOperations.d.ts.map +1 -1
- package/dist/git-cli/providers/pausedOperations.js +3 -3
- package/dist/git-cli/providers/pausedOperations.js.map +1 -1
- package/dist/git-cli/providers/refs.d.ts.map +1 -1
- package/dist/git-cli/providers/refs.js.map +1 -1
- package/dist/git-cli/providers/remotes.d.ts.map +1 -1
- package/dist/git-cli/providers/remotes.js.map +1 -1
- package/dist/git-cli/providers/revision.d.ts +1 -0
- package/dist/git-cli/providers/revision.d.ts.map +1 -1
- package/dist/git-cli/providers/revision.js +33 -0
- package/dist/git-cli/providers/revision.js.map +1 -1
- package/dist/git-cli/providers/staging.d.ts.map +1 -1
- package/dist/git-cli/providers/staging.js.map +1 -1
- package/dist/git-cli/providers/stash.d.ts.map +1 -1
- package/dist/git-cli/providers/stash.js.map +1 -1
- package/dist/git-cli/providers/status.d.ts +28 -0
- package/dist/git-cli/providers/status.d.ts.map +1 -1
- package/dist/git-cli/providers/status.js +240 -154
- package/dist/git-cli/providers/status.js.map +1 -1
- package/dist/git-cli/providers/tags.d.ts.map +1 -1
- package/dist/git-cli/providers/tags.js +2 -1
- package/dist/git-cli/providers/tags.js.map +1 -1
- package/dist/git-cli/providers/worktrees.d.ts +4 -1
- package/dist/git-cli/providers/worktrees.d.ts.map +1 -1
- package/dist/git-cli/providers/worktrees.js +31 -3
- package/dist/git-cli/providers/worktrees.js.map +1 -1
- package/dist/git-cli/service.d.ts.map +1 -1
- package/dist/git-cli/service.js +8 -0
- package/dist/git-cli/service.js.map +1 -1
- package/dist/ipc/ipcServer.d.ts.map +1 -1
- package/dist/ipc/ipcServer.js +1 -1
- package/dist/ipc/ipcServer.js.map +1 -1
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts +6 -1
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +1 -1
- package/dist/plus/agents/providers/claudeCodeProvider.js +19 -0
- package/dist/plus/agents/providers/claudeCodeProvider.js.map +1 -1
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts +68 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts.map +1 -1
- package/dist/plus/agents/providers/claudeCodeTranscript.js +262 -8
- package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -1
- package/dist/plus/agents/types.d.ts +36 -2
- package/dist/plus/agents/types.d.ts.map +1 -1
- package/dist/plus/ai/constants.d.ts +1 -2
- package/dist/plus/ai/constants.d.ts.map +1 -1
- package/dist/plus/ai/constants.js +1 -8
- package/dist/plus/ai/constants.js.map +1 -1
- package/dist/plus/ai/errors.d.ts.map +1 -1
- package/dist/plus/ai/errors.js.map +1 -1
- package/dist/plus/ai/models/conversation.d.ts.map +1 -1
- package/dist/plus/ai/models/conversation.js.map +1 -1
- package/dist/plus/ai/models/model.d.ts +2 -1
- package/dist/plus/ai/models/model.d.ts.map +1 -1
- package/dist/plus/ai/models/model.js +50 -1
- package/dist/plus/ai/models/model.js.map +1 -1
- package/dist/plus/ai/models/promptTemplates.d.ts +5 -2
- package/dist/plus/ai/models/promptTemplates.d.ts.map +1 -1
- package/dist/plus/ai/models/promptTemplates.js.map +1 -1
- package/dist/plus/ai/models/provider.d.ts.map +1 -1
- package/dist/plus/ai/models/provider.js.map +1 -1
- package/dist/plus/ai/models/results.d.ts.map +1 -1
- package/dist/plus/ai/models/results.js.map +1 -1
- package/dist/plus/ai/prompts.d.ts +1 -1
- package/dist/plus/ai/prompts.d.ts.map +1 -1
- package/dist/plus/ai/prompts.js +15 -47
- package/dist/plus/ai/prompts.js.map +1 -1
- package/dist/plus/ai/providers/anthropicProvider.d.ts +5 -0
- package/dist/plus/ai/providers/anthropicProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/anthropicProvider.js +40 -3
- package/dist/plus/ai/providers/anthropicProvider.js.map +1 -1
- package/dist/plus/ai/providers/azureProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/azureProvider.js.map +1 -1
- package/dist/plus/ai/providers/context.d.ts.map +1 -1
- package/dist/plus/ai/providers/context.js.map +1 -1
- package/dist/plus/ai/providers/deepSeekProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/deepSeekProvider.js +17 -1
- package/dist/plus/ai/providers/deepSeekProvider.js.map +1 -1
- package/dist/plus/ai/providers/geminiProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/geminiProvider.js +25 -6
- package/dist/plus/ai/providers/geminiProvider.js.map +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.js +1 -0
- package/dist/plus/ai/providers/gitkrakenProvider.js.map +1 -1
- package/dist/plus/ai/providers/huggingFaceProvider.d.ts +1 -1
- package/dist/plus/ai/providers/huggingFaceProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/huggingFaceProvider.js +21 -18
- package/dist/plus/ai/providers/huggingFaceProvider.js.map +1 -1
- package/dist/plus/ai/providers/mistralProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/mistralProvider.js.map +1 -1
- package/dist/plus/ai/providers/ollamaProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/ollamaProvider.js.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProvider.js.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts +10 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.js +9 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.js.map +1 -1
- package/dist/plus/ai/providers/openRouterProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/openRouterProvider.js.map +1 -1
- package/dist/plus/ai/providers/openaiProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/openaiProvider.js.map +1 -1
- package/dist/plus/ai/providers/xaiProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/xaiProvider.js +14 -1
- package/dist/plus/ai/providers/xaiProvider.js.map +1 -1
- package/dist/plus/ai/utils/ai.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/ai.utils.js +5 -7
- package/dist/plus/ai/utils/ai.utils.js.map +1 -1
- package/dist/plus/ai/utils/results.utils.d.ts +3 -0
- package/dist/plus/ai/utils/results.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/results.utils.js +26 -0
- package/dist/plus/ai/utils/results.utils.js.map +1 -1
- package/dist/plus/ai/utils/truncation.utils.d.ts +1 -1
- package/dist/plus/ai/utils/truncation.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/truncation.utils.js.map +1 -1
- package/dist/plus/git-github/api/config.d.ts.map +1 -1
- package/dist/plus/git-github/api/config.js.map +1 -1
- package/dist/plus/git-github/api/github.d.ts +71 -15
- package/dist/plus/git-github/api/github.d.ts.map +1 -1
- package/dist/plus/git-github/api/github.js +350 -84
- package/dist/plus/git-github/api/github.js.map +1 -1
- package/dist/plus/git-github/api/github.utils.d.ts.map +1 -1
- package/dist/plus/git-github/api/github.utils.js.map +1 -1
- package/dist/plus/git-github/api/token.d.ts.map +1 -1
- package/dist/plus/git-github/api/token.js.map +1 -1
- package/dist/plus/git-github/api/tokenUtils.d.ts.map +1 -1
- package/dist/plus/git-github/api/tokenUtils.js.map +1 -1
- package/dist/plus/git-github/api/types.d.ts.map +1 -1
- package/dist/plus/git-github/api/types.js.map +1 -1
- package/dist/plus/git-github/context.d.ts.map +1 -1
- package/dist/plus/git-github/models.d.ts +5 -0
- package/dist/plus/git-github/models.d.ts.map +1 -1
- package/dist/plus/git-github/models.js +27 -2
- package/dist/plus/git-github/models.js.map +1 -1
- package/dist/plus/git-github/providers/github/blame.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/blame.js.map +1 -1
- package/dist/plus/git-github/providers/github/branches.d.ts +2 -1
- package/dist/plus/git-github/providers/github/branches.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/branches.js +7 -3
- package/dist/plus/git-github/providers/github/branches.js.map +1 -1
- package/dist/plus/git-github/providers/github/commits.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/commits.js.map +1 -1
- package/dist/plus/git-github/providers/github/config.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/config.js.map +1 -1
- package/dist/plus/git-github/providers/github/contributors.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/contributors.js.map +1 -1
- package/dist/plus/git-github/providers/github/diff.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/diff.js +2 -2
- package/dist/plus/git-github/providers/github/diff.js.map +1 -1
- package/dist/plus/git-github/providers/github/graph.d.ts +12 -1
- package/dist/plus/git-github/providers/github/graph.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/graph.js +85 -0
- package/dist/plus/git-github/providers/github/graph.js.map +1 -1
- package/dist/plus/git-github/providers/github/refs.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/refs.js.map +1 -1
- package/dist/plus/git-github/providers/github/remotes.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/remotes.js.map +1 -1
- package/dist/plus/git-github/providers/github/revision.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/revision.js.map +1 -1
- package/dist/plus/git-github/providers/github/status.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/status.js.map +1 -1
- package/dist/plus/git-github/providers/github/tags.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/tags.js +3 -1
- package/dist/plus/git-github/providers/github/tags.js.map +1 -1
- package/dist/plus/git-github/providers/githubGitProvider.d.ts.map +1 -1
- package/dist/plus/git-github/providers/githubGitProvider.js.map +1 -1
- package/dist/plus/git-github/providers/githubProvider.d.ts.map +1 -1
- package/dist/plus/git-github/providers/githubProvider.js.map +1 -1
- package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts +30 -0
- package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts.map +1 -0
- package/dist/plus/integrations/authentication/cloudIntegrationService.js +214 -0
- package/dist/plus/integrations/authentication/cloudIntegrationService.js.map +1 -0
- package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts +114 -0
- package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts.map +1 -0
- package/dist/plus/integrations/authentication/configuredIntegrationService.js +497 -0
- package/dist/plus/integrations/authentication/configuredIntegrationService.js.map +1 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts +112 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts.map +1 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js +217 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js.map +1 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts +62 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts.map +1 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationService.js +126 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationService.js.map +1 -0
- package/dist/plus/integrations/authentication/manualTokenProvider.d.ts +16 -0
- package/dist/plus/integrations/authentication/manualTokenProvider.d.ts.map +1 -0
- package/dist/plus/integrations/authentication/manualTokenProvider.js +53 -0
- package/dist/plus/integrations/authentication/manualTokenProvider.js.map +1 -0
- package/dist/plus/integrations/authentication/models.d.ts +120 -0
- package/dist/plus/integrations/authentication/models.d.ts.map +1 -0
- package/dist/plus/integrations/authentication/models.js +64 -0
- package/dist/plus/integrations/authentication/models.js.map +1 -0
- package/dist/plus/integrations/collectionMetadata.d.ts +21 -0
- package/dist/plus/integrations/collectionMetadata.d.ts.map +1 -0
- package/dist/plus/integrations/collectionMetadata.js +121 -0
- package/dist/plus/integrations/collectionMetadata.js.map +1 -0
- package/dist/plus/integrations/constants.d.ts +57 -0
- package/dist/plus/integrations/constants.d.ts.map +1 -0
- package/dist/plus/integrations/constants.js +138 -0
- package/dist/plus/integrations/constants.js.map +1 -0
- package/dist/plus/integrations/context.d.ts +358 -0
- package/dist/plus/integrations/context.d.ts.map +1 -0
- package/dist/plus/integrations/context.js +2 -0
- package/dist/plus/integrations/context.js.map +1 -0
- package/dist/plus/integrations/errors.d.ts +79 -0
- package/dist/plus/integrations/errors.d.ts.map +1 -0
- package/dist/plus/integrations/errors.js +150 -0
- package/dist/plus/integrations/errors.js.map +1 -0
- package/dist/plus/integrations/index.d.ts +77 -0
- package/dist/plus/integrations/index.d.ts.map +1 -0
- package/dist/plus/integrations/index.js +64 -0
- package/dist/plus/integrations/index.js.map +1 -0
- package/dist/plus/integrations/integrationService.d.ts +379 -0
- package/dist/plus/integrations/integrationService.d.ts.map +1 -0
- package/dist/plus/integrations/integrationService.js +1895 -0
- package/dist/plus/integrations/integrationService.js.map +1 -0
- package/dist/plus/integrations/lite.d.ts +47 -0
- package/dist/plus/integrations/lite.d.ts.map +1 -0
- package/dist/plus/integrations/lite.js +141 -0
- package/dist/plus/integrations/lite.js.map +1 -0
- package/dist/plus/integrations/manager.d.ts +332 -0
- package/dist/plus/integrations/manager.d.ts.map +1 -0
- package/dist/plus/integrations/manager.js +2 -0
- package/dist/plus/integrations/manager.js.map +1 -0
- package/dist/plus/integrations/models/gitHostIntegration.d.ts +341 -0
- package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -0
- package/dist/plus/integrations/models/gitHostIntegration.js +1146 -0
- package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -0
- package/dist/plus/integrations/models/integration.d.ts +212 -0
- package/dist/plus/integrations/models/integration.d.ts.map +1 -0
- package/dist/plus/integrations/models/integration.js +627 -0
- package/dist/plus/integrations/models/integration.js.map +1 -0
- package/dist/plus/integrations/models/issuesIntegration.d.ts +108 -0
- package/dist/plus/integrations/models/issuesIntegration.d.ts.map +1 -0
- package/dist/plus/integrations/models/issuesIntegration.js +216 -0
- package/dist/plus/integrations/models/issuesIntegration.js.map +1 -0
- package/dist/plus/integrations/providerFilters.d.ts +12 -0
- package/dist/plus/integrations/providerFilters.d.ts.map +1 -0
- package/dist/plus/integrations/providerFilters.js +14 -0
- package/dist/plus/integrations/providerFilters.js.map +1 -0
- package/dist/plus/integrations/providers/apiClients.d.ts +25 -0
- package/dist/plus/integrations/providers/apiClients.d.ts.map +1 -0
- package/dist/plus/integrations/providers/apiClients.js +39 -0
- package/dist/plus/integrations/providers/apiClients.js.map +1 -0
- package/dist/plus/integrations/providers/apiConfig.d.ts +52 -0
- package/dist/plus/integrations/providers/apiConfig.d.ts.map +1 -0
- package/dist/plus/integrations/providers/apiConfig.js +19 -0
- package/dist/plus/integrations/providers/apiConfig.js.map +1 -0
- package/dist/plus/integrations/providers/azure/azure.d.ts +59 -0
- package/dist/plus/integrations/providers/azure/azure.d.ts.map +1 -0
- package/dist/plus/integrations/providers/azure/azure.js +519 -0
- package/dist/plus/integrations/providers/azure/azure.js.map +1 -0
- package/dist/plus/integrations/providers/azure/models.d.ts +302 -0
- package/dist/plus/integrations/providers/azure/models.d.ts.map +1 -0
- package/dist/plus/integrations/providers/azure/models.js +203 -0
- package/dist/plus/integrations/providers/azure/models.js.map +1 -0
- package/dist/plus/integrations/providers/azureDevOps.d.ts +141 -0
- package/dist/plus/integrations/providers/azureDevOps.d.ts.map +1 -0
- package/dist/plus/integrations/providers/azureDevOps.js +925 -0
- package/dist/plus/integrations/providers/azureDevOps.js.map +1 -0
- package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts +53 -0
- package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts.map +1 -0
- package/dist/plus/integrations/providers/bitbucket/bitbucket.js +589 -0
- package/dist/plus/integrations/providers/bitbucket/bitbucket.js.map +1 -0
- package/dist/plus/integrations/providers/bitbucket/models.d.ts +222 -0
- package/dist/plus/integrations/providers/bitbucket/models.d.ts.map +1 -0
- package/dist/plus/integrations/providers/bitbucket/models.js +158 -0
- package/dist/plus/integrations/providers/bitbucket/models.js.map +1 -0
- package/dist/plus/integrations/providers/bitbucket-server/models.d.ts +138 -0
- package/dist/plus/integrations/providers/bitbucket-server/models.d.ts.map +1 -0
- package/dist/plus/integrations/providers/bitbucket-server/models.js +130 -0
- package/dist/plus/integrations/providers/bitbucket-server/models.js.map +1 -0
- package/dist/plus/integrations/providers/bitbucket-server.d.ts +84 -0
- package/dist/plus/integrations/providers/bitbucket-server.d.ts.map +1 -0
- package/dist/plus/integrations/providers/bitbucket-server.js +242 -0
- package/dist/plus/integrations/providers/bitbucket-server.js.map +1 -0
- package/dist/plus/integrations/providers/bitbucket.d.ts +84 -0
- package/dist/plus/integrations/providers/bitbucket.d.ts.map +1 -0
- package/dist/plus/integrations/providers/bitbucket.js +477 -0
- package/dist/plus/integrations/providers/bitbucket.js.map +1 -0
- package/dist/plus/integrations/providers/github/github.d.ts +5 -0
- package/dist/plus/integrations/providers/github/github.d.ts.map +1 -0
- package/dist/plus/integrations/providers/github/github.js +47 -0
- package/dist/plus/integrations/providers/github/github.js.map +1 -0
- package/dist/plus/integrations/providers/github/github.utils.d.ts +11 -0
- package/dist/plus/integrations/providers/github/github.utils.d.ts.map +1 -0
- package/dist/plus/integrations/providers/github/github.utils.js +6 -0
- package/dist/plus/integrations/providers/github/github.utils.js.map +1 -0
- package/dist/plus/integrations/providers/github/models.d.ts +3 -0
- package/dist/plus/integrations/providers/github/models.d.ts.map +1 -0
- package/dist/plus/integrations/providers/github/models.js +2 -0
- package/dist/plus/integrations/providers/github/models.js.map +1 -0
- package/dist/plus/integrations/providers/github.d.ts +116 -0
- package/dist/plus/integrations/providers/github.d.ts.map +1 -0
- package/dist/plus/integrations/providers/github.js +445 -0
- package/dist/plus/integrations/providers/github.js.map +1 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.d.ts +71 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.d.ts.map +1 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.js +902 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.js.map +1 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts +27 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts.map +1 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.js +53 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.js.map +1 -0
- package/dist/plus/integrations/providers/gitlab/models.d.ts +138 -0
- package/dist/plus/integrations/providers/gitlab/models.d.ts.map +1 -0
- package/dist/plus/integrations/providers/gitlab/models.js +99 -0
- package/dist/plus/integrations/providers/gitlab/models.js.map +1 -0
- package/dist/plus/integrations/providers/gitlab.d.ts +124 -0
- package/dist/plus/integrations/providers/gitlab.d.ts.map +1 -0
- package/dist/plus/integrations/providers/gitlab.js +519 -0
- package/dist/plus/integrations/providers/gitlab.js.map +1 -0
- package/dist/plus/integrations/providers/jira.d.ts +57 -0
- package/dist/plus/integrations/providers/jira.d.ts.map +1 -0
- package/dist/plus/integrations/providers/jira.js +425 -0
- package/dist/plus/integrations/providers/jira.js.map +1 -0
- package/dist/plus/integrations/providers/linear.d.ts +58 -0
- package/dist/plus/integrations/providers/linear.d.ts.map +1 -0
- package/dist/plus/integrations/providers/linear.js +304 -0
- package/dist/plus/integrations/providers/linear.js.map +1 -0
- package/dist/plus/integrations/providers/models.d.ts +712 -0
- package/dist/plus/integrations/providers/models.d.ts.map +1 -0
- package/dist/plus/integrations/providers/models.js +850 -0
- package/dist/plus/integrations/providers/models.js.map +1 -0
- package/dist/plus/integrations/providers/providersApi.d.ts +262 -0
- package/dist/plus/integrations/providers/providersApi.d.ts.map +1 -0
- package/dist/plus/integrations/providers/providersApi.js +1033 -0
- package/dist/plus/integrations/providers/providersApi.js.map +1 -0
- package/dist/plus/integrations/providers/trello.d.ts +47 -0
- package/dist/plus/integrations/providers/trello.d.ts.map +1 -0
- package/dist/plus/integrations/providers/trello.js +141 -0
- package/dist/plus/integrations/providers/trello.js.map +1 -0
- package/dist/plus/integrations/providers/utils/providerPaging.d.ts +29 -0
- package/dist/plus/integrations/providers/utils/providerPaging.d.ts.map +1 -0
- package/dist/plus/integrations/providers/utils/providerPaging.js +154 -0
- package/dist/plus/integrations/providers/utils/providerPaging.js.map +1 -0
- package/dist/plus/integrations/providers/utils.d.ts +75 -0
- package/dist/plus/integrations/providers/utils.d.ts.map +1 -0
- package/dist/plus/integrations/providers/utils.js +313 -0
- package/dist/plus/integrations/providers/utils.js.map +1 -0
- package/dist/plus/integrations/reads/context.d.ts +52 -0
- package/dist/plus/integrations/reads/context.d.ts.map +1 -0
- package/dist/plus/integrations/reads/context.js +2 -0
- package/dist/plus/integrations/reads/context.js.map +1 -0
- package/dist/plus/integrations/reads/cursors.d.ts +66 -0
- package/dist/plus/integrations/reads/cursors.d.ts.map +1 -0
- package/dist/plus/integrations/reads/cursors.js +133 -0
- package/dist/plus/integrations/reads/cursors.js.map +1 -0
- package/dist/plus/integrations/reads/drains.d.ts +60 -0
- package/dist/plus/integrations/reads/drains.d.ts.map +1 -0
- package/dist/plus/integrations/reads/drains.js +255 -0
- package/dist/plus/integrations/reads/drains.js.map +1 -0
- package/dist/plus/integrations/reads/filters.d.ts +81 -0
- package/dist/plus/integrations/reads/filters.d.ts.map +1 -0
- package/dist/plus/integrations/reads/filters.js +87 -0
- package/dist/plus/integrations/reads/filters.js.map +1 -0
- package/dist/plus/integrations/reads/hierarchy.d.ts +17 -0
- package/dist/plus/integrations/reads/hierarchy.d.ts.map +1 -0
- package/dist/plus/integrations/reads/hierarchy.js +348 -0
- package/dist/plus/integrations/reads/hierarchy.js.map +1 -0
- package/dist/plus/integrations/reads/hierarchy.utils.d.ts +53 -0
- package/dist/plus/integrations/reads/hierarchy.utils.d.ts.map +1 -0
- package/dist/plus/integrations/reads/hierarchy.utils.js +85 -0
- package/dist/plus/integrations/reads/hierarchy.utils.js.map +1 -0
- package/dist/plus/integrations/reads/issueTracker.d.ts +19 -0
- package/dist/plus/integrations/reads/issueTracker.d.ts.map +1 -0
- package/dist/plus/integrations/reads/issueTracker.js +346 -0
- package/dist/plus/integrations/reads/issueTracker.js.map +1 -0
- package/dist/plus/integrations/reads/issues.d.ts +34 -0
- package/dist/plus/integrations/reads/issues.d.ts.map +1 -0
- package/dist/plus/integrations/reads/issues.js +244 -0
- package/dist/plus/integrations/reads/issues.js.map +1 -0
- package/dist/plus/integrations/reads/paging.d.ts +136 -0
- package/dist/plus/integrations/reads/paging.d.ts.map +1 -0
- package/dist/plus/integrations/reads/paging.js +221 -0
- package/dist/plus/integrations/reads/paging.js.map +1 -0
- package/dist/plus/integrations/reads/pullRequests.d.ts +32 -0
- package/dist/plus/integrations/reads/pullRequests.d.ts.map +1 -0
- package/dist/plus/integrations/reads/pullRequests.js +151 -0
- package/dist/plus/integrations/reads/pullRequests.js.map +1 -0
- package/dist/plus/integrations/reads/warnings.d.ts +47 -0
- package/dist/plus/integrations/reads/warnings.d.ts.map +1 -0
- package/dist/plus/integrations/reads/warnings.js +81 -0
- package/dist/plus/integrations/reads/warnings.js.map +1 -0
- package/dist/plus/integrations/results.d.ts +189 -0
- package/dist/plus/integrations/results.d.ts.map +1 -0
- package/dist/plus/integrations/results.js +62 -0
- package/dist/plus/integrations/results.js.map +1 -0
- package/dist/plus/integrations/telemetry.d.ts +26 -0
- package/dist/plus/integrations/telemetry.d.ts.map +1 -0
- package/dist/plus/integrations/telemetry.js +11 -0
- package/dist/plus/integrations/telemetry.js.map +1 -0
- package/dist/plus/integrations/utils/domain.utils.d.ts +5 -0
- package/dist/plus/integrations/utils/domain.utils.d.ts.map +1 -0
- package/dist/plus/integrations/utils/domain.utils.js +27 -0
- package/dist/plus/integrations/utils/domain.utils.js.map +1 -0
- package/dist/plus/integrations/utils/integration.utils.d.ts +40 -0
- package/dist/plus/integrations/utils/integration.utils.d.ts.map +1 -0
- package/dist/plus/integrations/utils/integration.utils.js +182 -0
- package/dist/plus/integrations/utils/integration.utils.js.map +1 -0
- package/dist/utils/array.d.ts.map +1 -1
- package/dist/utils/array.js.map +1 -1
- package/dist/utils/brand.d.ts.map +1 -1
- package/dist/utils/cancellation.d.ts +13 -0
- package/dist/utils/cancellation.d.ts.map +1 -1
- package/dist/utils/cancellation.js +52 -7
- package/dist/utils/cancellation.js.map +1 -1
- package/dist/utils/charCode.d.ts.map +1 -1
- package/dist/utils/coalescedRun.d.ts +16 -0
- package/dist/utils/coalescedRun.d.ts.map +1 -0
- package/dist/utils/coalescedRun.js +43 -0
- package/dist/utils/coalescedRun.js.map +1 -0
- package/dist/utils/color.d.ts.map +1 -1
- package/dist/utils/color.js +3 -3
- package/dist/utils/color.js.map +1 -1
- package/dist/utils/date.d.ts +24 -0
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +62 -0
- package/dist/utils/date.js.map +1 -1
- package/dist/utils/debounce.js +1 -1
- package/dist/utils/debounce.js.map +1 -1
- package/dist/utils/decorators/debounce.d.ts.map +1 -1
- package/dist/utils/decorators/debounce.js.map +1 -1
- package/dist/utils/decorators/gate.d.ts.map +1 -1
- package/dist/utils/decorators/gate.js +2 -2
- package/dist/utils/decorators/gate.js.map +1 -1
- package/dist/utils/decorators/log.d.ts.map +1 -1
- package/dist/utils/decorators/log.js +5 -5
- package/dist/utils/decorators/log.js.map +1 -1
- package/dist/utils/decorators/memoize.d.ts.map +1 -1
- package/dist/utils/decorators/memoize.js +2 -2
- package/dist/utils/decorators/memoize.js.map +1 -1
- package/dist/utils/decorators/resolver.d.ts.map +1 -1
- package/dist/utils/decorators/resolver.js.map +1 -1
- package/dist/utils/decorators/sequentialize.d.ts.map +1 -1
- package/dist/utils/decorators/sequentialize.js +2 -2
- package/dist/utils/decorators/sequentialize.js.map +1 -1
- package/dist/utils/decorators/serializable.d.ts.map +1 -1
- package/dist/utils/decorators/serializable.js +1 -1
- package/dist/utils/decorators/serializable.js.map +1 -1
- package/dist/utils/dedupedAsyncCache.d.ts.map +1 -1
- package/dist/utils/disposable.d.ts +15 -2
- package/dist/utils/disposable.d.ts.map +1 -1
- package/dist/utils/disposable.js.map +1 -1
- package/dist/utils/env/browser/base64.d.ts.map +1 -1
- package/dist/utils/env/browser/base64.js.map +1 -1
- package/dist/utils/env/browser/crypto.d.ts.map +1 -1
- package/dist/utils/env/browser/crypto.js.map +1 -1
- package/dist/utils/env/browser/fs.d.ts.map +1 -1
- package/dist/utils/env/browser/fs.js.map +1 -1
- package/dist/utils/env/browser/hex.d.ts.map +1 -1
- package/dist/utils/env/browser/hex.js.map +1 -1
- package/dist/utils/env/browser/hrtime.d.ts.map +1 -1
- package/dist/utils/env/browser/hrtime.js.map +1 -1
- package/dist/utils/env/browser/logScope.d.ts.map +1 -1
- package/dist/utils/env/browser/logScope.js.map +1 -1
- package/dist/utils/env/browser/md5.d.ts.map +1 -1
- package/dist/utils/env/browser/md5.js.map +1 -1
- package/dist/utils/env/browser/platform.d.ts.map +1 -1
- package/dist/utils/env/browser/platform.js.map +1 -1
- package/dist/utils/env/node/base64.d.ts.map +1 -1
- package/dist/utils/env/node/base64.js.map +1 -1
- package/dist/utils/env/node/crypto.d.ts.map +1 -1
- package/dist/utils/env/node/crypto.js.map +1 -1
- package/dist/utils/env/node/exec.d.ts +9 -1
- package/dist/utils/env/node/exec.d.ts.map +1 -1
- package/dist/utils/env/node/exec.js +11 -4
- package/dist/utils/env/node/exec.js.map +1 -1
- package/dist/utils/env/node/fs.d.ts.map +1 -1
- package/dist/utils/env/node/fs.js.map +1 -1
- package/dist/utils/env/node/hex.d.ts.map +1 -1
- package/dist/utils/env/node/hex.js.map +1 -1
- package/dist/utils/env/node/hrtime.d.ts.map +1 -1
- package/dist/utils/env/node/hrtime.js.map +1 -1
- package/dist/utils/env/node/logScope.d.ts.map +1 -1
- package/dist/utils/env/node/logScope.js.map +1 -1
- package/dist/utils/env/node/platform.d.ts.map +1 -1
- package/dist/utils/env/node/platform.js.map +1 -1
- package/dist/utils/event.d.ts.map +1 -1
- package/dist/utils/event.js +18 -22
- package/dist/utils/event.js.map +1 -1
- package/dist/utils/formatter.d.ts.map +1 -1
- package/dist/utils/formatter.js.map +1 -1
- package/dist/utils/function.d.ts.map +1 -1
- package/dist/utils/function.js +3 -3
- package/dist/utils/function.js.map +1 -1
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/iterable.d.ts.map +1 -1
- package/dist/utils/iterable.js +2 -6
- package/dist/utils/iterable.js.map +1 -1
- package/dist/utils/lazy.d.ts.map +1 -1
- package/dist/utils/lazy.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/logger.scoped.js +1 -1
- package/dist/utils/logger.scoped.js.map +1 -1
- package/dist/utils/lruMap.d.ts.map +1 -1
- package/dist/utils/lruMap.js.map +1 -1
- package/dist/utils/mru.d.ts.map +1 -1
- package/dist/utils/mru.js.map +1 -1
- package/dist/utils/object.js.map +1 -1
- package/dist/utils/paging.d.ts +29 -0
- package/dist/utils/paging.d.ts.map +1 -1
- package/dist/utils/paging.js +18 -0
- package/dist/utils/paging.js.map +1 -1
- package/dist/utils/path.js.map +1 -1
- package/dist/utils/promise.d.ts +10 -0
- package/dist/utils/promise.d.ts.map +1 -1
- package/dist/utils/promise.js +26 -3
- package/dist/utils/promise.js.map +1 -1
- package/dist/utils/promiseCache.d.ts +12 -2
- package/dist/utils/promiseCache.d.ts.map +1 -1
- package/dist/utils/promiseCache.js +80 -50
- package/dist/utils/promiseCache.js.map +1 -1
- package/dist/utils/searchTree.d.ts.map +1 -1
- package/dist/utils/searchTree.js +4 -1
- package/dist/utils/searchTree.js.map +1 -1
- package/dist/utils/stopwatch.d.ts.map +1 -1
- package/dist/utils/string.js +1 -1
- package/dist/utils/string.js.map +1 -1
- package/dist/utils/subscriptionManager.d.ts.map +1 -1
- package/dist/utils/subscriptionManager.js.map +1 -1
- package/dist/utils/trie.d.ts.map +1 -1
- package/dist/utils/trie.js +1 -0
- package/dist/utils/trie.js.map +1 -1
- package/docs/integrations.md +372 -0
- package/docs/kepler-read-api-parity.md +112 -0
- package/package.json +238 -172
- package/src/git/cache.ts +75 -8
- package/src/git/context.ts +4 -3
- package/src/git/errors.ts +36 -1
- package/src/git/models/commit.ts +1 -1
- package/src/git/models/graph.ts +147 -0
- package/src/git/models/graphSession.ts +205 -0
- package/src/git/models/issue.ts +12 -1
- package/src/git/models/pullRequest.ts +27 -1
- package/src/git/models/repository.ts +24 -1
- package/src/git/models/resourceDescriptor.ts +17 -0
- package/src/git/models/signature.ts +16 -0
- package/src/git/models/tag.ts +6 -1
- package/src/git/parsers/diffParser.ts +1 -1
- package/src/git/providers/branches.ts +6 -1
- package/src/git/providers/commits.ts +6 -1
- package/src/git/providers/config.ts +5 -1
- package/src/git/providers/graph.ts +69 -2
- package/src/git/providers/operations.ts +1 -1
- package/src/git/providers/status.ts +1 -1
- package/src/git/providers/worktrees.ts +17 -3
- package/src/git/remotes/azure-devops.ts +29 -33
- package/src/git/remotes/bitbucket-server.ts +23 -25
- package/src/git/remotes/bitbucket.ts +23 -25
- package/src/git/remotes/gerrit.ts +12 -14
- package/src/git/remotes/gitea.ts +13 -15
- package/src/git/remotes/github.ts +56 -58
- package/src/git/remotes/gitlab.ts +102 -104
- package/src/git/run.types.ts +54 -4
- package/src/git/utils/branch.utils.ts +12 -1
- package/src/git/utils/conflictResolution.utils.ts +126 -0
- package/src/git/utils/contributor.utils.ts +1 -1
- package/src/git/utils/fileStatus.utils.ts +7 -0
- package/src/git/utils/graph.utils.ts +46 -0
- package/src/git/utils/issue.utils.ts +1 -0
- package/src/git/utils/pullRequest.utils.ts +9 -0
- package/src/git/utils/reachability.utils.ts +79 -8
- package/src/git/utils/sshKey.utils.ts +30 -0
- package/src/git/watching/watchService.ts +16 -1
- package/src/git/watching/watchSession.ts +20 -2
- package/src/git-cli/exec/git.ts +144 -42
- package/src/git-cli/parsers/logParser.ts +83 -1
- package/src/git-cli/parsers/sshSignatureParser.ts +85 -0
- package/src/git-cli/parsers/worktreeParser.ts +5 -7
- package/src/git-cli/providers/branches.ts +60 -38
- package/src/git-cli/providers/commits.ts +102 -9
- package/src/git-cli/providers/graph.ts +1771 -393
- package/src/git-cli/providers/operations.ts +22 -2
- package/src/git-cli/providers/pausedOperations.ts +3 -3
- package/src/git-cli/providers/revision.ts +42 -0
- package/src/git-cli/providers/status.ts +333 -178
- package/src/git-cli/providers/tags.ts +2 -0
- package/src/git-cli/providers/worktrees.ts +57 -6
- package/src/git-cli/service.ts +9 -0
- package/src/ipc/ipcServer.ts +1 -1
- package/src/plus/agents/providers/claudeCodeProvider.ts +25 -0
- package/src/plus/agents/providers/claudeCodeTranscript.ts +320 -8
- package/src/plus/agents/types.ts +34 -0
- package/src/plus/ai/constants.ts +1 -9
- package/src/plus/ai/models/model.ts +53 -2
- package/src/plus/ai/models/promptTemplates.ts +9 -2
- package/src/plus/ai/prompts.ts +16 -48
- package/src/plus/ai/providers/anthropicProvider.ts +45 -3
- package/src/plus/ai/providers/deepSeekProvider.ts +17 -1
- package/src/plus/ai/providers/geminiProvider.ts +25 -6
- package/src/plus/ai/providers/gitkrakenProvider.ts +2 -0
- package/src/plus/ai/providers/huggingFaceProvider.ts +28 -21
- package/src/plus/ai/providers/openAICompatibleProviderBase.ts +16 -1
- package/src/plus/ai/providers/xaiProvider.ts +14 -1
- package/src/plus/ai/utils/ai.utils.ts +5 -7
- package/src/plus/ai/utils/results.utils.ts +32 -0
- package/src/plus/ai/utils/truncation.utils.ts +0 -1
- package/src/plus/git-github/api/github.ts +497 -129
- package/src/plus/git-github/models.ts +33 -0
- package/src/plus/git-github/providers/github/branches.ts +6 -3
- package/src/plus/git-github/providers/github/diff.ts +1 -1
- package/src/plus/git-github/providers/github/graph.ts +131 -0
- package/src/plus/git-github/providers/github/tags.ts +2 -0
- package/src/plus/integrations/authentication/cloudIntegrationService.ts +292 -0
- package/src/plus/integrations/authentication/configuredIntegrationService.ts +651 -0
- package/src/plus/integrations/authentication/integrationAuthenticationProvider.ts +363 -0
- package/src/plus/integrations/authentication/integrationAuthenticationService.ts +148 -0
- package/src/plus/integrations/authentication/manualTokenProvider.ts +79 -0
- package/src/plus/integrations/authentication/models.ts +202 -0
- package/src/plus/integrations/collectionMetadata.ts +143 -0
- package/src/plus/integrations/constants.ts +190 -0
- package/src/plus/integrations/context.ts +382 -0
- package/src/plus/integrations/errors.ts +184 -0
- package/src/plus/integrations/index.ts +216 -0
- package/src/plus/integrations/integrationService.ts +2589 -0
- package/src/plus/integrations/lite.ts +233 -0
- package/src/plus/integrations/manager.ts +359 -0
- package/src/plus/integrations/models/gitHostIntegration.ts +1631 -0
- package/src/plus/integrations/models/integration.ts +926 -0
- package/src/plus/integrations/models/issuesIntegration.ts +264 -0
- package/src/plus/integrations/providerFilters.ts +12 -0
- package/src/plus/integrations/providers/apiClients.ts +69 -0
- package/src/plus/integrations/providers/apiConfig.ts +71 -0
- package/src/plus/integrations/providers/azure/azure.ts +822 -0
- package/src/plus/integrations/providers/azure/models.ts +618 -0
- package/src/plus/integrations/providers/azureDevOps.ts +1342 -0
- package/src/plus/integrations/providers/bitbucket/bitbucket.ts +904 -0
- package/src/plus/integrations/providers/bitbucket/models.ts +445 -0
- package/src/plus/integrations/providers/bitbucket-server/models.ts +283 -0
- package/src/plus/integrations/providers/bitbucket-server.ts +447 -0
- package/src/plus/integrations/providers/bitbucket.ts +794 -0
- package/src/plus/integrations/providers/github/github.ts +64 -0
- package/src/plus/integrations/providers/github/github.utils.ts +23 -0
- package/src/plus/integrations/providers/github/models.ts +29 -0
- package/src/plus/integrations/providers/github.ts +750 -0
- package/src/plus/integrations/providers/gitlab/gitlab.ts +1320 -0
- package/src/plus/integrations/providers/gitlab/gitlab.utils.ts +80 -0
- package/src/plus/integrations/providers/gitlab/models.ts +271 -0
- package/src/plus/integrations/providers/gitlab.ts +832 -0
- package/src/plus/integrations/providers/jira.ts +564 -0
- package/src/plus/integrations/providers/linear.ts +402 -0
- package/src/plus/integrations/providers/models.ts +1622 -0
- package/src/plus/integrations/providers/providersApi.ts +1889 -0
- package/src/plus/integrations/providers/trello.ts +205 -0
- package/src/plus/integrations/providers/utils/providerPaging.ts +177 -0
- package/src/plus/integrations/providers/utils.ts +419 -0
- package/src/plus/integrations/reads/context.ts +75 -0
- package/src/plus/integrations/reads/cursors.ts +224 -0
- package/src/plus/integrations/reads/drains.ts +343 -0
- package/src/plus/integrations/reads/filters.ts +124 -0
- package/src/plus/integrations/reads/hierarchy.ts +493 -0
- package/src/plus/integrations/reads/hierarchy.utils.ts +106 -0
- package/src/plus/integrations/reads/issueTracker.ts +480 -0
- package/src/plus/integrations/reads/issues.ts +407 -0
- package/src/plus/integrations/reads/paging.ts +277 -0
- package/src/plus/integrations/reads/pullRequests.ts +267 -0
- package/src/plus/integrations/reads/warnings.ts +170 -0
- package/src/plus/integrations/results.ts +275 -0
- package/src/plus/integrations/telemetry.ts +29 -0
- package/src/plus/integrations/utils/domain.utils.ts +26 -0
- package/src/plus/integrations/utils/integration.utils.ts +215 -0
- package/src/utils/brand.ts +0 -2
- package/src/utils/cancellation.ts +56 -7
- package/src/utils/coalescedRun.ts +45 -0
- package/src/utils/color.ts +3 -3
- package/src/utils/date.ts +72 -0
- package/src/utils/debounce.ts +1 -1
- package/src/utils/decorators/gate.ts +2 -2
- package/src/utils/decorators/log.ts +5 -5
- package/src/utils/decorators/memoize.ts +2 -2
- package/src/utils/decorators/sequentialize.ts +2 -2
- package/src/utils/decorators/serializable.ts +1 -1
- package/src/utils/disposable.ts +15 -2
- package/src/utils/env/node/exec.ts +20 -5
- package/src/utils/event.ts +19 -25
- package/src/utils/function.ts +3 -3
- package/src/utils/iterable.ts +2 -6
- package/src/utils/logger.scoped.ts +1 -1
- package/src/utils/logger.ts +1 -1
- package/src/utils/paging.ts +46 -0
- package/src/utils/promise.ts +33 -3
- package/src/utils/promiseCache.ts +81 -51
- package/src/utils/searchTree.ts +4 -2
- package/src/utils/string.ts +1 -1
- package/src/utils/trie.ts +1 -0
- package/dist/plus/ai/providers/githubModelsProvider.d.ts +0 -19
- package/dist/plus/ai/providers/githubModelsProvider.d.ts.map +0 -1
- package/dist/plus/ai/providers/githubModelsProvider.js +0 -51
- package/dist/plus/ai/providers/githubModelsProvider.js.map +0 -1
- package/src/plus/ai/providers/githubModelsProvider.ts +0 -92
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
import type { Account } from '../../git/models/author.js';
|
|
2
|
+
import type { DefaultBranch } from '../../git/models/defaultBranch.js';
|
|
3
|
+
import type { Issue } from '../../git/models/issue.js';
|
|
4
|
+
import type { IssueOrPullRequest, IssueOrPullRequestType } from '../../git/models/issueOrPullRequest.js';
|
|
5
|
+
import type { PullRequest } from '../../git/models/pullRequest.js';
|
|
6
|
+
import type { GitRemote } from '../../git/models/remote.js';
|
|
7
|
+
import type { RepositoryMetadata } from '../../git/models/repositoryMetadata.js';
|
|
8
|
+
import type { ResourceDescriptor } from '../../git/models/resourceDescriptor.js';
|
|
9
|
+
import type { Event } from '../../utils/event.js';
|
|
10
|
+
import type { CacheController } from '../../utils/promiseCache.js';
|
|
11
|
+
import type { IntegrationAuthenticationProvider } from './authentication/integrationAuthenticationProvider.js';
|
|
12
|
+
import type { IntegrationIds } from './constants.js';
|
|
13
|
+
import type { GitHostIntegration } from './models/gitHostIntegration.js';
|
|
14
|
+
import type { IntegrationBase } from './models/integration.js';
|
|
15
|
+
import type { Source } from './telemetry.js';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Context provided to {@link IntegrationService} at construction time.
|
|
19
|
+
*
|
|
20
|
+
* Replaces all extension-host coupling that integrations would otherwise reach
|
|
21
|
+
* for: storage, subscription, cloud connection, host-side authentication,
|
|
22
|
+
* configuration, commands, UI surfaces, etc. The package boundary at
|
|
23
|
+
* `@gitkraken/core-gitlens/plus/integrations` cannot import `vscode` or reach into the extension
|
|
24
|
+
* host directly — every cross-boundary concern is named here so the host can
|
|
25
|
+
* adapt its own services to satisfy it.
|
|
26
|
+
*
|
|
27
|
+
* Mirrors the {@link import('../../git/context.js').GitServiceContext} pattern.
|
|
28
|
+
*/
|
|
29
|
+
export interface IntegrationServiceContext {
|
|
30
|
+
readonly storage: IntegrationStorageProvider;
|
|
31
|
+
readonly account: AccountProvider;
|
|
32
|
+
readonly config: ConfigProvider;
|
|
33
|
+
readonly http: HttpProvider;
|
|
34
|
+
readonly cache: IntegrationCacheProvider;
|
|
35
|
+
readonly repositories: RepositoriesProvider;
|
|
36
|
+
readonly hooks?: IntegrationServiceHooks;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* The GitKraken account + the GK-cloud connect/manage flows. Unifies the former
|
|
41
|
+
* subscription/cloudConnection/authentication/uris ports: the host owns the GK-Dev OAuth round-trips
|
|
42
|
+
* end-to-end (URL shape, exchange token, redirect, callback, redeem), so the package stays out of the
|
|
43
|
+
* GK-cloud UI and only orchestrates (state, sync, hooks) around `connect`/`openManagement`.
|
|
44
|
+
*/
|
|
45
|
+
export interface AccountProvider {
|
|
46
|
+
/**
|
|
47
|
+
* The signed-in GK account, or `undefined` when signed out. `createIfNeeded` triggers the host's
|
|
48
|
+
* sign-in/sign-up flow (folds the former `loginOrSignUp`/`isSignedIn`/`hasAccountSession`).
|
|
49
|
+
*/
|
|
50
|
+
getAccount(options?: {
|
|
51
|
+
createIfNeeded?: boolean;
|
|
52
|
+
source?: Source;
|
|
53
|
+
}): Promise<{ id: string; name?: string; email?: string } | undefined>;
|
|
54
|
+
/** Fires when account/subscription state changes (login, logout, plan change). */
|
|
55
|
+
readonly onDidChange: Event<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Fires on a host account check-in; `force` requests a force-refresh of cloud integration sessions
|
|
58
|
+
* (explicit re-validation: login, trial activation, manual validate).
|
|
59
|
+
*/
|
|
60
|
+
readonly onDidCheckIn: Event<{ force?: boolean }>;
|
|
61
|
+
/** Fires when a host auth session changes (carries the changed provider id the package matches). */
|
|
62
|
+
readonly onDidChangeSessions: Event<AuthenticationSessionsChangeEvent>;
|
|
63
|
+
/**
|
|
64
|
+
* Whether the account is in a trial-or-paid state. Read by {@link IntegrationBase.access} to decide
|
|
65
|
+
* whether a connected integration's rich features are usable.
|
|
66
|
+
*/
|
|
67
|
+
isTrialOrPaid(): Promise<boolean>;
|
|
68
|
+
/**
|
|
69
|
+
* Authenticated request against the GK cloud API (the connections/tokens endpoints used by
|
|
70
|
+
* `CloudIntegrationService`). Routes through the host's shared `ServerConnection` (circuit-breaker).
|
|
71
|
+
*/
|
|
72
|
+
fetchGkApi(path: string, init?: RequestInit): Promise<Response>;
|
|
73
|
+
/**
|
|
74
|
+
* Run the GK-Dev connect flow for the given integrations: the host builds the connect URL (query,
|
|
75
|
+
* provider, exchange-token vs redirect), opens it, awaits its own OAuth callback, and signs in +
|
|
76
|
+
* connects in one round-trip. Returns `true` on success; the package syncs + fires hooks around it.
|
|
77
|
+
*/
|
|
78
|
+
connect(options: { integrationIds?: IntegrationIds[]; source?: Source }): Promise<boolean>;
|
|
79
|
+
/**
|
|
80
|
+
* Open the GK-Dev integrations-management page (signing in first if needed) and resolve when the user
|
|
81
|
+
* returns to the window — `true` if they returned (so the package re-syncs), `false` otherwise.
|
|
82
|
+
*/
|
|
83
|
+
openManagement(source?: Source): Promise<boolean>;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/** A cached value, possibly still resolving. Mirrors the host `CacheProvider`'s result shape. */
|
|
87
|
+
type CacheResult<T> = Promise<T | undefined> | T | undefined;
|
|
88
|
+
/** Produces the value (and optional expiry) to cache on a miss; the controller allows invalidation. */
|
|
89
|
+
type Cacheable<T> = (cacheable: CacheController) => { value: CacheResult<T>; expiresAt?: number };
|
|
90
|
+
/** Cache expiry controls. */
|
|
91
|
+
interface CacheExpiryOptions {
|
|
92
|
+
expiryOverride?: boolean | number;
|
|
93
|
+
expireOnError?: boolean;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Cross-call cache for expensive provider lookups. Wraps the host's cache
|
|
98
|
+
* service, which deduplicates concurrent loads for the same logical key.
|
|
99
|
+
*
|
|
100
|
+
* Method names + shapes mirror the host's `CacheProvider` so the package routes
|
|
101
|
+
* every cache call through this provider without adapting call sites — and the
|
|
102
|
+
* host adapter can assign its real `CacheProvider` directly (no cast).
|
|
103
|
+
*/
|
|
104
|
+
export interface IntegrationCacheProvider {
|
|
105
|
+
getRepositoryMetadata(
|
|
106
|
+
repo: ResourceDescriptor,
|
|
107
|
+
integration: GitHostIntegration | undefined,
|
|
108
|
+
cacheable: Cacheable<RepositoryMetadata>,
|
|
109
|
+
options?: CacheExpiryOptions,
|
|
110
|
+
): CacheResult<RepositoryMetadata>;
|
|
111
|
+
getRepositoryDefaultBranch(
|
|
112
|
+
repo: ResourceDescriptor,
|
|
113
|
+
integration: GitHostIntegration | undefined,
|
|
114
|
+
cacheable: Cacheable<DefaultBranch>,
|
|
115
|
+
options?: CacheExpiryOptions,
|
|
116
|
+
): CacheResult<DefaultBranch>;
|
|
117
|
+
getPullRequestForSha(
|
|
118
|
+
sha: string,
|
|
119
|
+
repo: ResourceDescriptor,
|
|
120
|
+
integration: GitHostIntegration | undefined,
|
|
121
|
+
cacheable: Cacheable<PullRequest>,
|
|
122
|
+
options?: CacheExpiryOptions,
|
|
123
|
+
): CacheResult<PullRequest>;
|
|
124
|
+
getPullRequestForBranch(
|
|
125
|
+
branch: string,
|
|
126
|
+
repo: ResourceDescriptor,
|
|
127
|
+
integration: GitHostIntegration | undefined,
|
|
128
|
+
cacheable: Cacheable<PullRequest>,
|
|
129
|
+
options?: CacheExpiryOptions,
|
|
130
|
+
): CacheResult<PullRequest>;
|
|
131
|
+
getPullRequest(
|
|
132
|
+
id: string,
|
|
133
|
+
resource: ResourceDescriptor,
|
|
134
|
+
integration: IntegrationBase | undefined,
|
|
135
|
+
cacheable: Cacheable<PullRequest>,
|
|
136
|
+
options?: CacheExpiryOptions,
|
|
137
|
+
): CacheResult<PullRequest>;
|
|
138
|
+
getIssueOrPullRequest(
|
|
139
|
+
id: string,
|
|
140
|
+
type: IssueOrPullRequestType | undefined,
|
|
141
|
+
resource: ResourceDescriptor,
|
|
142
|
+
integration: IntegrationBase | undefined,
|
|
143
|
+
cacheable: Cacheable<IssueOrPullRequest>,
|
|
144
|
+
options?: CacheExpiryOptions,
|
|
145
|
+
): CacheResult<IssueOrPullRequest>;
|
|
146
|
+
getIssue(
|
|
147
|
+
id: string,
|
|
148
|
+
resource: ResourceDescriptor,
|
|
149
|
+
integration: IntegrationBase | undefined,
|
|
150
|
+
cacheable: Cacheable<Issue>,
|
|
151
|
+
options?: CacheExpiryOptions,
|
|
152
|
+
): CacheResult<Issue>;
|
|
153
|
+
getCurrentAccount(
|
|
154
|
+
integration: IntegrationBase,
|
|
155
|
+
cacheable: Cacheable<Account>,
|
|
156
|
+
options?: CacheExpiryOptions & { connectionId?: string; etag?: string },
|
|
157
|
+
): CacheResult<Account>;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* The remotes across all currently-open repositories. The package only ever needs the *remotes* (to map
|
|
162
|
+
* them to integrations) — never the repositories themselves — so the host flattens to a remote list
|
|
163
|
+
* rather than leaking a repository shape across the boundary. Used for "across all open repos" queries:
|
|
164
|
+
* issue aggregation by remote ({@link IntegrationService.getMyIssues}) and bitbucket's reviewing-PRs search.
|
|
165
|
+
*/
|
|
166
|
+
export interface RepositoriesProvider {
|
|
167
|
+
getOpenRemotes(): Promise<readonly GitRemote[]>;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* HTTP primitives the package uses to call out to provider APIs. Wraps the
|
|
172
|
+
* host's `@env/fetch` (which differs between Node and browser builds) so the
|
|
173
|
+
* package itself stays environment-agnostic.
|
|
174
|
+
*/
|
|
175
|
+
export interface HttpProvider {
|
|
176
|
+
/** Whether the package is running in a webworker/browser environment. */
|
|
177
|
+
readonly isWeb: boolean;
|
|
178
|
+
/** Pre-assembled User-Agent string for provider API requests (host builds it from its env facts). */
|
|
179
|
+
readonly userAgent: string;
|
|
180
|
+
/** Host-supplied fetch implementation. */
|
|
181
|
+
fetch(input: string | URL, init?: RequestInit): Promise<Response>;
|
|
182
|
+
/**
|
|
183
|
+
* Wrap a fetch in the host's "ignore SSL errors" toggle. On Node, this
|
|
184
|
+
* disables TLS verification while the wrapped fetch is in flight; on the
|
|
185
|
+
* browser, it's a no-op.
|
|
186
|
+
*/
|
|
187
|
+
wrapForForcedInsecureSSL<T>(ignoreSSLErrors: boolean | 'force', fn: () => Promise<T> | PromiseLike<T>): Promise<T>;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Persists integration token/session/configured-integration state.
|
|
192
|
+
* Wraps the host's `Container.storage` (global + workspace + secret stores).
|
|
193
|
+
*
|
|
194
|
+
* Two non-secret namespaces:
|
|
195
|
+
* - **Global** (`get`/`store`/`delete`/`deleteWithPrefix`) — values shared
|
|
196
|
+
* across all workspaces (e.g., the `integrations:configured` descriptor
|
|
197
|
+
* map, per-account caches keyed by access token).
|
|
198
|
+
* - **Workspace** (`getWorkspace`/`storeWorkspace`/`deleteWorkspace`) —
|
|
199
|
+
* values scoped to the active workspace (e.g., `connected:<id>` flags).
|
|
200
|
+
*
|
|
201
|
+
* Plus a **Secret** namespace (`getSecret`/`storeSecret`/`deleteSecret`)
|
|
202
|
+
* for OAuth tokens and other credentials.
|
|
203
|
+
*
|
|
204
|
+
* Method names mirror the host's `Storage` API so the package can route
|
|
205
|
+
* every storage access through this provider without renaming call sites.
|
|
206
|
+
*/
|
|
207
|
+
export interface IntegrationStorageProvider {
|
|
208
|
+
/** Read a global (cross-workspace) value (non-secret). */
|
|
209
|
+
get<T = any>(key: string): T | undefined;
|
|
210
|
+
/** Write a global (cross-workspace) value (non-secret). */
|
|
211
|
+
store<T = any>(key: string, value: T): Promise<void>;
|
|
212
|
+
/** Delete a global value. */
|
|
213
|
+
delete(key: string): Promise<void>;
|
|
214
|
+
/** Delete every global key with the given prefix. */
|
|
215
|
+
deleteWithPrefix(prefix: string): Promise<void>;
|
|
216
|
+
/** Read a workspace-scoped value (non-secret). */
|
|
217
|
+
getWorkspace<T = any>(key: string): T | undefined;
|
|
218
|
+
/** Write a workspace-scoped value (non-secret). */
|
|
219
|
+
storeWorkspace<T = any>(key: string, value: T): Promise<void>;
|
|
220
|
+
/** Delete a workspace-scoped value (non-secret). */
|
|
221
|
+
deleteWorkspace(key: string): Promise<void>;
|
|
222
|
+
/** Read a secret (e.g., access token). */
|
|
223
|
+
getSecret(key: string): Promise<string | undefined>;
|
|
224
|
+
/** Store a secret. */
|
|
225
|
+
storeSecret(key: string, value: string): Promise<void>;
|
|
226
|
+
/** Delete a secret. */
|
|
227
|
+
deleteSecret(key: string): Promise<void>;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
export interface AuthenticationSessionsChangeEvent {
|
|
231
|
+
readonly provider: { readonly id: string };
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Per-remote-host configuration entry (subset of the host's `RemotesConfig`).
|
|
236
|
+
* Used by `IntegrationService.ignoreSSLErrors` to look up self-managed remote
|
|
237
|
+
* settings.
|
|
238
|
+
*/
|
|
239
|
+
export interface IntegrationsRemoteConfig {
|
|
240
|
+
readonly type: string;
|
|
241
|
+
/** Exact-match domain (mutually exclusive with `regex`) */
|
|
242
|
+
readonly domain?: string;
|
|
243
|
+
/** Regex pattern for flexible host matching (mutually exclusive with `domain`) */
|
|
244
|
+
readonly regex?: string;
|
|
245
|
+
/** URL protocol override (e.g., `'https'`) */
|
|
246
|
+
readonly protocol?: string;
|
|
247
|
+
readonly ignoreSSLErrors?: boolean | 'force';
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* Snapshot of integration-relevant config values + reactive change detection.
|
|
252
|
+
*
|
|
253
|
+
* Only the keys integrations actually read are surfaced; everything else is
|
|
254
|
+
* the host's concern. Host adapter wraps the `system/-webview/configuration`
|
|
255
|
+
* helper to satisfy this.
|
|
256
|
+
*/
|
|
257
|
+
export interface ConfigProvider {
|
|
258
|
+
/** `integrations.enabled`. Optional — omit (or omit a `false` return) and integrations are enabled. */
|
|
259
|
+
isIntegrationsEnabled?(): boolean;
|
|
260
|
+
/**
|
|
261
|
+
* `launchpad.*` knobs surfaced to the GitHub provider.
|
|
262
|
+
*/
|
|
263
|
+
getLaunchpadOptions(): {
|
|
264
|
+
queryLimit?: number;
|
|
265
|
+
ignoredRepositories?: readonly string[];
|
|
266
|
+
includedOrganizations?: readonly string[];
|
|
267
|
+
ignoredOrganizations?: readonly string[];
|
|
268
|
+
};
|
|
269
|
+
/** Per-remote-host configurations from `remotes`. */
|
|
270
|
+
getRemoteConfigs(): readonly IntegrationsRemoteConfig[];
|
|
271
|
+
/** Fires when any integration-relevant config changes. */
|
|
272
|
+
readonly onDidChange: Event<ConfigChangeEvent>;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/** Typed change descriptor returned by {@link ConfigProvider.onDidChange}. */
|
|
276
|
+
export interface ConfigChangeEvent {
|
|
277
|
+
/** Whether `remotes` configuration changed. */
|
|
278
|
+
readonly remotes: boolean;
|
|
279
|
+
/** Whether `integrations.enabled` changed. */
|
|
280
|
+
readonly integrationsEnabled: boolean;
|
|
281
|
+
/** Whether one of the `launchpad.*` keys changed. */
|
|
282
|
+
readonly launchpad: boolean;
|
|
283
|
+
/** Whether `http.proxy` or `http.proxyStrictSSL` (VS Code core) changed. */
|
|
284
|
+
readonly httpProxy: boolean;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Outbound hooks: the package raises domain events the host wants to observe
|
|
289
|
+
* and exposes host-owned composition hooks (e.g., `createAuthenticationProvider`).
|
|
290
|
+
*
|
|
291
|
+
* Hooks are optional; the package omits the call when unset. They follow the
|
|
292
|
+
* pattern used by `@gitkraken/core-gitlens/plus/agents` (`AgentProviderCallbacks`) and the
|
|
293
|
+
* existing `GitServiceHooks` — the package surfaces named events; the host
|
|
294
|
+
* decides what to do (send telemetry, log, update UI, etc.).
|
|
295
|
+
*
|
|
296
|
+
* Replaces the direct `Container.telemetry.sendEvent` calls scattered through
|
|
297
|
+
* integration source today. Each hook below is named after the domain event,
|
|
298
|
+
* not its current telemetry event name; the host adapter forwards each one to
|
|
299
|
+
* the corresponding `telemetry.sendEvent('cloudIntegrations/...')` call to
|
|
300
|
+
* preserve existing analytics.
|
|
301
|
+
*/
|
|
302
|
+
export interface IntegrationServiceHooks {
|
|
303
|
+
/**
|
|
304
|
+
* Ask the host to confirm reauthentication after an integration auth/permission failure. The host
|
|
305
|
+
* owns the prompt (and its "Reauthenticate" affordance) and resolves to the user's choice; the
|
|
306
|
+
* package performs the actual reauth when this resolves truthy. Omit to never prompt.
|
|
307
|
+
*/
|
|
308
|
+
onReauthenticationRequired?(message: string): Promise<boolean | undefined>;
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Confirm disabling a connected integration. The host renders the dialog (offering a "sign out"
|
|
312
|
+
* choice when `offerSignOut`); resolves to the user's decision, or `undefined` to cancel. Omit to
|
|
313
|
+
* make interactive `disconnect()` a no-op (callers should pass `silent`/`currentSessionOnly` then).
|
|
314
|
+
*/
|
|
315
|
+
onConfirmDisconnect?(e: {
|
|
316
|
+
integrationName: string;
|
|
317
|
+
offerSignOut: boolean;
|
|
318
|
+
}): Promise<{ signOut: boolean } | undefined>;
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Optional consumer override: construct a custom authentication provider for `id` (e.g. a manual-token
|
|
322
|
+
* provider via {@link createManualTokenAuthProvider}). Return `undefined` to defer to the package's own
|
|
323
|
+
* cloud-OAuth provider. GitLens omits this — the package builds its cloud providers internally; an
|
|
324
|
+
* external consumer can plug in any auth strategy here.
|
|
325
|
+
*/
|
|
326
|
+
createAuthenticationProvider?(args: { id: IntegrationIds }): Promise<IntegrationAuthenticationProvider | undefined>;
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Outbound behavioral events, nested by domain — mirroring `@gitkraken/core-gitlens/git`'s `GitServiceHooks`. The
|
|
330
|
+
* package raises typed domain events; the host decides what to do (GitLens maps each to its telemetry
|
|
331
|
+
* schema, but a consumer could log or ignore them — they're behavioral, not telemetry-specific).
|
|
332
|
+
* Optional throughout — omit to opt out entirely (no stub functions needed).
|
|
333
|
+
*/
|
|
334
|
+
connection?: {
|
|
335
|
+
/** A connect flow was initiated. */
|
|
336
|
+
onStarted?(e: { integrationIds: IntegrationIds[] | undefined }, source: Source | undefined): void;
|
|
337
|
+
/** A connect flow finished syncing. */
|
|
338
|
+
onCompleted?(
|
|
339
|
+
e: { integrationIds: IntegrationIds[] | undefined; connectedIntegrationIds: IntegrationIds[] | undefined },
|
|
340
|
+
source: Source | undefined,
|
|
341
|
+
): void;
|
|
342
|
+
/** The user opened the integrations management surface. */
|
|
343
|
+
onManaged?(source: Source | undefined): void;
|
|
344
|
+
/** A hosting/remote/issue integration's connection state changed. */
|
|
345
|
+
onStateChanged?(e: {
|
|
346
|
+
id: IntegrationIds;
|
|
347
|
+
key: string;
|
|
348
|
+
connected: boolean;
|
|
349
|
+
kind: 'hosting' | 'remote' | 'issue';
|
|
350
|
+
}): void;
|
|
351
|
+
/** The set of connected integrations changed (e.g. for connected-count attributes). */
|
|
352
|
+
onConnectedChanged?(e: { integrationIds: IntegrationIds[] }): void;
|
|
353
|
+
/** Fetching the set of connected providers failed. */
|
|
354
|
+
onConnectionsFetchFailed?(e: { code: number | undefined }): void;
|
|
355
|
+
/** Fetching/refreshing a single provider's token failed. */
|
|
356
|
+
onConnectionFetchFailed?(e: { id: IntegrationIds; code: number | undefined; refreshing: boolean }): void;
|
|
357
|
+
/** Disconnecting a provider's token failed. */
|
|
358
|
+
onDisconnectFailed?(e: { id: IntegrationIds; code: number | undefined }): void;
|
|
359
|
+
};
|
|
360
|
+
/** Outbound session events (behavioral; the host maps to telemetry). */
|
|
361
|
+
session?: {
|
|
362
|
+
/** A session refresh was skipped (reported once per reason). */
|
|
363
|
+
onRefreshSkipped?(e: {
|
|
364
|
+
id: IntegrationIds;
|
|
365
|
+
reason: 'skip-non-cloud' | 'missing-expiry';
|
|
366
|
+
cloud: boolean | undefined;
|
|
367
|
+
}): void;
|
|
368
|
+
};
|
|
369
|
+
/** Outbound user-facing notifications (fire-and-forget). The host renders them; a consumer may log/ignore. */
|
|
370
|
+
ui?: {
|
|
371
|
+
/** A non-fatal error to surface. */
|
|
372
|
+
onError?(message: string): void;
|
|
373
|
+
/** The integration's API returned a 500-level error. */
|
|
374
|
+
onRequestFailed?(message: string): void;
|
|
375
|
+
/** The integration's API request timed out. */
|
|
376
|
+
onRequestTimedOut?(integrationName: string): void;
|
|
377
|
+
/** An integration was disconnected after too many consecutive failed requests. */
|
|
378
|
+
onDisconnectedAfterTooManyFailures?(integrationName: string): void;
|
|
379
|
+
/** Bitbucket's "Pull Requests for Commit" app isn't installed; `revLink` opens the install page. */
|
|
380
|
+
onBitbucketCommitLinksAppMissing?(revLink: string): void;
|
|
381
|
+
};
|
|
382
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
export type { AuthTokenInfo } from '../../git/errors.js';
|
|
2
|
+
export {
|
|
3
|
+
AuthenticationError,
|
|
4
|
+
AuthenticationErrorReason,
|
|
5
|
+
RequestClientError,
|
|
6
|
+
RequestNotFoundError,
|
|
7
|
+
RequestRateLimitError,
|
|
8
|
+
} from '../../git/errors.js';
|
|
9
|
+
|
|
10
|
+
import { RequestRateLimitError } from '../../git/errors.js';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Thrown by a provider read when it can't produce a result for a reason that is NOT "the account is empty":
|
|
14
|
+
* a prerequisite is missing (e.g. Trello has no app key) or a required scope can't be resolved (e.g. the
|
|
15
|
+
* Linear viewer id, needed to scope "my issues"). Returning an empty/undefined result in these cases would be
|
|
16
|
+
* indistinguishable from a genuinely empty account; throwing this lets the result cores recover it into an
|
|
17
|
+
* `{ error }` the facade surfaces as a warning + `fetchFailed`.
|
|
18
|
+
*/
|
|
19
|
+
export class IntegrationReadUnavailableError extends Error {
|
|
20
|
+
constructor(provider: string, reason: string) {
|
|
21
|
+
super(`${provider} read unavailable: ${reason}`);
|
|
22
|
+
Error.captureStackTrace?.(this, new.target);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Thrown by integration provider HTTP clients when an upstream request fails.
|
|
28
|
+
*/
|
|
29
|
+
export class ProviderFetchError extends Error {
|
|
30
|
+
get status(): number {
|
|
31
|
+
return this.response.status;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
get statusText(): string {
|
|
35
|
+
return this.response.statusText;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Builds the error with the upstream body folded into the message, for clients that hold a `Response` whose
|
|
40
|
+
* body has not been read (i.e. every non-`ok` path). Use this rather than the constructor whenever the body is
|
|
41
|
+
* still available: the status line alone cannot distinguish a throttled request from a permission failure on
|
|
42
|
+
* the statuses hosts overload (see {@link isRateLimitResponse}), and only the body says which one it is.
|
|
43
|
+
*
|
|
44
|
+
* Never throws: the body is best-effort, so an unreadable, empty, or already-consumed one simply yields the
|
|
45
|
+
* status-line-only message the constructor would have produced.
|
|
46
|
+
*/
|
|
47
|
+
static async fromResponse(provider: string, response: Response): Promise<ProviderFetchError> {
|
|
48
|
+
return new ProviderFetchError(provider, response, await readErrorBodyMessage(response));
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
constructor(
|
|
52
|
+
provider: string,
|
|
53
|
+
public readonly response: Response,
|
|
54
|
+
errors?: { message: string }[],
|
|
55
|
+
) {
|
|
56
|
+
super(
|
|
57
|
+
`${provider} request failed: ${!response.ok ? `(${response.status}) ${response.statusText}. ` : ''}${
|
|
58
|
+
errors?.length ? errors[0].message : ''
|
|
59
|
+
}`,
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
Error.captureStackTrace?.(this, new.target);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** Cap on the body text folded into an error message, so an HTML error page can't become the message. */
|
|
67
|
+
const maxErrorBodyLength = 500;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Best-effort human-readable message from an error response body, in the `errors` shape the
|
|
71
|
+
* {@link ProviderFetchError} constructor takes. Tolerant by design — every host in use words its errors
|
|
72
|
+
* differently and some do not send JSON at all:
|
|
73
|
+
* - Azure DevOps — `{ message: "TF400733: ..." }`
|
|
74
|
+
* - Bitbucket — `{ error: { message: "..." } }`, and bare text for a throttled request
|
|
75
|
+
* - GitLab — `{ message: "..." }` or `{ error: "..." }`
|
|
76
|
+
* Anything unrecognized falls back to the raw text, which is what the substring check wants anyway.
|
|
77
|
+
*/
|
|
78
|
+
async function readErrorBodyMessage(response: Response): Promise<{ message: string }[] | undefined> {
|
|
79
|
+
let text;
|
|
80
|
+
try {
|
|
81
|
+
// `bodyUsed` is not a guarantee (a stream can fail mid-read), hence the catch — but it avoids the throw
|
|
82
|
+
// entirely on the common path where something upstream already consumed the body.
|
|
83
|
+
if (response.bodyUsed) return undefined;
|
|
84
|
+
|
|
85
|
+
text = (await response.text())?.trim();
|
|
86
|
+
} catch {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
if (!text) return undefined;
|
|
90
|
+
|
|
91
|
+
let message: string | undefined;
|
|
92
|
+
try {
|
|
93
|
+
const body: unknown = JSON.parse(text);
|
|
94
|
+
if (body != null && typeof body === 'object') {
|
|
95
|
+
const { message: m, error } = body as { message?: unknown; error?: unknown };
|
|
96
|
+
if (typeof m === 'string') {
|
|
97
|
+
message = m;
|
|
98
|
+
} else if (typeof error === 'string') {
|
|
99
|
+
message = error;
|
|
100
|
+
} else if (error != null && typeof error === 'object' && typeof (error as any).message === 'string') {
|
|
101
|
+
message = (error as { message: string }).message;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
} catch {
|
|
105
|
+
// Not JSON — Bitbucket sends bare text for a throttled request, and any host can send an HTML error page.
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
message = (message ?? text).trim();
|
|
109
|
+
return message ? [{ message: message.slice(0, maxErrorBodyLength) }] : undefined;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Whether a provider's error response denotes a rate limit rather than a permission failure. Kept here, in one
|
|
114
|
+
* place, because the distinction is consequential: a rate limit is retryable, while a permission failure is
|
|
115
|
+
* surfaced as `auth` and drives a reconnect prompt — misclassifying one as the other asks the user to
|
|
116
|
+
* re-authenticate a perfectly healthy connection.
|
|
117
|
+
*
|
|
118
|
+
* Which status a throttled request arrives on varies by host, which is why this takes both:
|
|
119
|
+
* - Azure DevOps and Bitbucket Cloud document 429 (learn.microsoft.com .../integrate/concepts/rate-limits).
|
|
120
|
+
* - GitHub documents "a `403` or `429` response" for both its primary and secondary limits
|
|
121
|
+
* (docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api).
|
|
122
|
+
* - GitLab uses 403 for some throttles.
|
|
123
|
+
* So 429 alone is decisive, and on 403 the message decides.
|
|
124
|
+
*
|
|
125
|
+
* NOTE the message must actually carry the host's body for the 403 path to work — see
|
|
126
|
+
* {@link ProviderFetchError.fromResponse}. A `ProviderFetchError` built from the status line alone reads
|
|
127
|
+
* "(403) Forbidden." and can never match, which is what made this check dead code on the direct-fetch clients.
|
|
128
|
+
*/
|
|
129
|
+
export function isRateLimitResponse(ex: { status: number; message?: string }): boolean {
|
|
130
|
+
// Matches the phrasing hosts actually use: GitHub/Bitbucket "API rate limit exceeded", GitLab "rate limit
|
|
131
|
+
// exceeded", Azure "Request was blocked due to exceeding usage of resource 'RateLimit'" / "TF400733: The
|
|
132
|
+
// request has been canceled: Request was blocked due to exceeding usage".
|
|
133
|
+
if (ex.status === 429) return true;
|
|
134
|
+
|
|
135
|
+
const message = ex.message?.toLowerCase();
|
|
136
|
+
return message != null && (message.includes('rate limit') || message.includes('ratelimit'));
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* A response's headers as either a `fetch` `Headers` instance or the plain object an SDK error carries. Read via
|
|
141
|
+
* duck-typing on `get` rather than `instanceof Headers`, so this works in both the Node and webworker builds
|
|
142
|
+
* without depending on the global being present.
|
|
143
|
+
*/
|
|
144
|
+
type ResponseHeaders = Pick<Headers, 'get'> | Record<string, unknown>;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Builds a {@link RequestRateLimitError} from a provider error response, reading the reset epoch from the
|
|
148
|
+
* standard `x-ratelimit-reset` header when present. Accepts both header shapes in use: the `fetch` `Headers`
|
|
149
|
+
* instance the direct clients get, and the plain object the SDK attaches to its errors.
|
|
150
|
+
*/
|
|
151
|
+
export function toRateLimitError(
|
|
152
|
+
ex: Error & { response?: { headers?: ResponseHeaders } },
|
|
153
|
+
token: string | undefined,
|
|
154
|
+
): RequestRateLimitError {
|
|
155
|
+
const headers = ex.response?.headers as { get?: unknown } & Record<string, unknown>;
|
|
156
|
+
const raw =
|
|
157
|
+
headers == null
|
|
158
|
+
? undefined
|
|
159
|
+
: typeof headers.get === 'function'
|
|
160
|
+
? (headers.get as (name: string) => string | null)('x-ratelimit-reset')
|
|
161
|
+
: headers['x-ratelimit-reset'];
|
|
162
|
+
|
|
163
|
+
// Only a header that actually came back as a string/number can be a reset epoch; anything else (a nested SDK
|
|
164
|
+
// object, an array of values) would stringify to garbage and parse to NaN anyway.
|
|
165
|
+
let resetAt: number | undefined;
|
|
166
|
+
if (typeof raw === 'string' || typeof raw === 'number') {
|
|
167
|
+
resetAt = parseInt(String(raw), 10);
|
|
168
|
+
if (Number.isNaN(resetAt)) {
|
|
169
|
+
resetAt = undefined;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
return new RequestRateLimitError(ex, token, resetAt);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Normalizes a caught `unknown` into an `Error`. Result cores type their failure channel as `error: Error`,
|
|
178
|
+
* but a `catch` binding is `unknown` and a provider (or a third-party SDK) can throw a non-Error value;
|
|
179
|
+
* returning it raw would leak a non-Error through the public result surface and break downstream `instanceof`
|
|
180
|
+
* classification. Passes an existing `Error` through unchanged and wraps anything else with `String(ex)`.
|
|
181
|
+
*/
|
|
182
|
+
export function toError(ex: unknown): Error {
|
|
183
|
+
return ex instanceof Error ? ex : new Error(String(ex));
|
|
184
|
+
}
|