@gitkraken/core-gitlens 0.4.0 → 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 +71 -1
- package/README.md +9 -2
- 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.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.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 +3 -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.map +1 -1
- 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.map +1 -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 +2 -1
- package/dist/git-cli/providers/worktrees.d.ts.map +1 -1
- package/dist/git-cli/providers/worktrees.js +28 -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 +0 -2
- 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 +66 -3
- package/dist/plus/git-github/api/github.d.ts.map +1 -1
- package/dist/plus/git-github/api/github.js +345 -74
- 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 +20 -1
- package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts.map +1 -1
- package/dist/plus/integrations/authentication/cloudIntegrationService.js +134 -10
- package/dist/plus/integrations/authentication/cloudIntegrationService.js.map +1 -1
- package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts +52 -5
- package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts.map +1 -1
- package/dist/plus/integrations/authentication/configuredIntegrationService.js +248 -46
- package/dist/plus/integrations/authentication/configuredIntegrationService.js.map +1 -1
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts +24 -4
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts.map +1 -1
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js +58 -26
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js.map +1 -1
- package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts.map +1 -1
- package/dist/plus/integrations/authentication/integrationAuthenticationService.js +7 -3
- package/dist/plus/integrations/authentication/integrationAuthenticationService.js.map +1 -1
- package/dist/plus/integrations/authentication/manualTokenProvider.d.ts +1 -0
- package/dist/plus/integrations/authentication/manualTokenProvider.d.ts.map +1 -1
- package/dist/plus/integrations/authentication/manualTokenProvider.js +9 -5
- package/dist/plus/integrations/authentication/manualTokenProvider.js.map +1 -1
- package/dist/plus/integrations/authentication/models.d.ts +33 -0
- package/dist/plus/integrations/authentication/models.d.ts.map +1 -1
- package/dist/plus/integrations/authentication/models.js.map +1 -1
- 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 +12 -2
- package/dist/plus/integrations/constants.d.ts.map +1 -1
- package/dist/plus/integrations/constants.js +10 -0
- package/dist/plus/integrations/constants.js.map +1 -1
- package/dist/plus/integrations/context.d.ts +10 -6
- package/dist/plus/integrations/context.d.ts.map +1 -1
- package/dist/plus/integrations/errors.d.ts +65 -0
- package/dist/plus/integrations/errors.d.ts.map +1 -1
- package/dist/plus/integrations/errors.js +131 -0
- package/dist/plus/integrations/errors.js.map +1 -1
- package/dist/plus/integrations/index.d.ts +57 -12
- package/dist/plus/integrations/index.d.ts.map +1 -1
- package/dist/plus/integrations/index.js +39 -37
- package/dist/plus/integrations/index.js.map +1 -1
- package/dist/plus/integrations/integrationService.d.ts +293 -12
- package/dist/plus/integrations/integrationService.d.ts.map +1 -1
- package/dist/plus/integrations/integrationService.js +1305 -37
- package/dist/plus/integrations/integrationService.js.map +1 -1
- 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 +269 -10
- package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -1
- package/dist/plus/integrations/models/gitHostIntegration.js +712 -88
- package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -1
- package/dist/plus/integrations/models/integration.d.ts +88 -3
- package/dist/plus/integrations/models/integration.d.ts.map +1 -1
- package/dist/plus/integrations/models/integration.js +192 -21
- package/dist/plus/integrations/models/integration.js.map +1 -1
- package/dist/plus/integrations/models/issuesIntegration.d.ts +87 -7
- package/dist/plus/integrations/models/issuesIntegration.d.ts.map +1 -1
- package/dist/plus/integrations/models/issuesIntegration.js +148 -33
- package/dist/plus/integrations/models/issuesIntegration.js.map +1 -1
- 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.map +1 -1
- package/dist/plus/integrations/providers/apiClients.js +3 -3
- package/dist/plus/integrations/providers/apiClients.js.map +1 -1
- 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 +14 -2
- package/dist/plus/integrations/providers/azure/azure.d.ts.map +1 -1
- package/dist/plus/integrations/providers/azure/azure.js +107 -32
- package/dist/plus/integrations/providers/azure/azure.js.map +1 -1
- package/dist/plus/integrations/providers/azure/models.d.ts +16 -0
- package/dist/plus/integrations/providers/azure/models.d.ts.map +1 -1
- package/dist/plus/integrations/providers/azure/models.js +6 -6
- package/dist/plus/integrations/providers/azure/models.js.map +1 -1
- package/dist/plus/integrations/providers/azureDevOps.d.ts +55 -9
- package/dist/plus/integrations/providers/azureDevOps.d.ts.map +1 -1
- package/dist/plus/integrations/providers/azureDevOps.js +572 -79
- package/dist/plus/integrations/providers/azureDevOps.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts +13 -2
- package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts.map +1 -1
- package/dist/plus/integrations/providers/bitbucket/bitbucket.js +108 -32
- package/dist/plus/integrations/providers/bitbucket/bitbucket.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket/models.d.ts.map +1 -1
- package/dist/plus/integrations/providers/bitbucket/models.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket-server/models.d.ts +19 -1
- package/dist/plus/integrations/providers/bitbucket-server/models.d.ts.map +1 -1
- package/dist/plus/integrations/providers/bitbucket-server/models.js +20 -1
- package/dist/plus/integrations/providers/bitbucket-server/models.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket-server.d.ts +28 -4
- package/dist/plus/integrations/providers/bitbucket-server.d.ts.map +1 -1
- package/dist/plus/integrations/providers/bitbucket-server.js +110 -6
- package/dist/plus/integrations/providers/bitbucket-server.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket.d.ts +38 -4
- package/dist/plus/integrations/providers/bitbucket.d.ts.map +1 -1
- package/dist/plus/integrations/providers/bitbucket.js +330 -34
- package/dist/plus/integrations/providers/bitbucket.js.map +1 -1
- package/dist/plus/integrations/providers/github/github.d.ts.map +1 -1
- package/dist/plus/integrations/providers/github/github.js +1 -1
- package/dist/plus/integrations/providers/github/github.js.map +1 -1
- package/dist/plus/integrations/providers/github/github.utils.d.ts.map +1 -1
- package/dist/plus/integrations/providers/github/github.utils.js.map +1 -1
- package/dist/plus/integrations/providers/github/models.d.ts.map +1 -1
- package/dist/plus/integrations/providers/github/models.js.map +1 -1
- package/dist/plus/integrations/providers/github.d.ts +49 -6
- package/dist/plus/integrations/providers/github.d.ts.map +1 -1
- package/dist/plus/integrations/providers/github.js +289 -4
- package/dist/plus/integrations/providers/github.js.map +1 -1
- package/dist/plus/integrations/providers/gitlab/gitlab.d.ts +11 -3
- package/dist/plus/integrations/providers/gitlab/gitlab.d.ts.map +1 -1
- package/dist/plus/integrations/providers/gitlab/gitlab.js +121 -47
- package/dist/plus/integrations/providers/gitlab/gitlab.js.map +1 -1
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts +6 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts.map +1 -1
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.js +8 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.js.map +1 -1
- package/dist/plus/integrations/providers/gitlab/models.d.ts +10 -0
- package/dist/plus/integrations/providers/gitlab/models.d.ts.map +1 -1
- package/dist/plus/integrations/providers/gitlab/models.js +8 -5
- package/dist/plus/integrations/providers/gitlab/models.js.map +1 -1
- package/dist/plus/integrations/providers/gitlab.d.ts +50 -5
- package/dist/plus/integrations/providers/gitlab.d.ts.map +1 -1
- package/dist/plus/integrations/providers/gitlab.js +274 -8
- package/dist/plus/integrations/providers/gitlab.js.map +1 -1
- package/dist/plus/integrations/providers/jira.d.ts +13 -2
- package/dist/plus/integrations/providers/jira.d.ts.map +1 -1
- package/dist/plus/integrations/providers/jira.js +200 -30
- package/dist/plus/integrations/providers/jira.js.map +1 -1
- package/dist/plus/integrations/providers/linear.d.ts +16 -5
- package/dist/plus/integrations/providers/linear.d.ts.map +1 -1
- package/dist/plus/integrations/providers/linear.js +127 -21
- package/dist/plus/integrations/providers/linear.js.map +1 -1
- package/dist/plus/integrations/providers/models.d.ts +339 -60
- package/dist/plus/integrations/providers/models.d.ts.map +1 -1
- package/dist/plus/integrations/providers/models.js +307 -59
- package/dist/plus/integrations/providers/models.js.map +1 -1
- package/dist/plus/integrations/providers/providersApi.d.ts +144 -11
- package/dist/plus/integrations/providers/providersApi.d.ts.map +1 -1
- package/dist/plus/integrations/providers/providersApi.js +486 -55
- package/dist/plus/integrations/providers/providersApi.js.map +1 -1
- 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 +21 -0
- package/dist/plus/integrations/providers/utils.d.ts.map +1 -1
- package/dist/plus/integrations/providers/utils.js +57 -6
- package/dist/plus/integrations/providers/utils.js.map +1 -1
- 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/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 +27 -1
- package/dist/plus/integrations/utils/integration.utils.d.ts.map +1 -1
- package/dist/plus/integrations/utils/integration.utils.js +86 -15
- package/dist/plus/integrations/utils/integration.utils.js.map +1 -1
- 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/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 -213
- package/src/git/cache.ts +75 -8
- 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/status.ts +1 -1
- package/src/git/providers/worktrees.ts +3 -1
- 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/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/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 +40 -4
- 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 +0 -2
- 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 +484 -104
- 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 +189 -17
- package/src/plus/integrations/authentication/configuredIntegrationService.ts +287 -50
- package/src/plus/integrations/authentication/integrationAuthenticationProvider.ts +105 -31
- package/src/plus/integrations/authentication/integrationAuthenticationService.ts +7 -3
- package/src/plus/integrations/authentication/manualTokenProvider.ts +12 -5
- package/src/plus/integrations/authentication/models.ts +35 -1
- package/src/plus/integrations/collectionMetadata.ts +143 -0
- package/src/plus/integrations/constants.ts +21 -0
- package/src/plus/integrations/context.ts +8 -9
- package/src/plus/integrations/errors.ts +149 -0
- package/src/plus/integrations/index.ts +148 -51
- package/src/plus/integrations/integrationService.ts +1714 -49
- package/src/plus/integrations/lite.ts +233 -0
- package/src/plus/integrations/manager.ts +359 -0
- package/src/plus/integrations/models/gitHostIntegration.ts +1014 -121
- package/src/plus/integrations/models/integration.ts +293 -24
- package/src/plus/integrations/models/issuesIntegration.ts +178 -38
- package/src/plus/integrations/providerFilters.ts +12 -0
- package/src/plus/integrations/providers/apiClients.ts +8 -11
- package/src/plus/integrations/providers/apiConfig.ts +71 -0
- package/src/plus/integrations/providers/azure/azure.ts +164 -33
- package/src/plus/integrations/providers/azure/models.ts +19 -6
- package/src/plus/integrations/providers/azureDevOps.ts +766 -101
- package/src/plus/integrations/providers/bitbucket/bitbucket.ts +164 -34
- package/src/plus/integrations/providers/bitbucket-server/models.ts +32 -1
- package/src/plus/integrations/providers/bitbucket-server.ts +173 -8
- package/src/plus/integrations/providers/bitbucket.ts +489 -45
- package/src/plus/integrations/providers/github/github.ts +2 -2
- package/src/plus/integrations/providers/github/github.utils.ts +1 -1
- package/src/plus/integrations/providers/github.ts +390 -6
- package/src/plus/integrations/providers/gitlab/gitlab.ts +170 -60
- package/src/plus/integrations/providers/gitlab/gitlab.utils.ts +9 -0
- package/src/plus/integrations/providers/gitlab/models.ts +19 -5
- package/src/plus/integrations/providers/gitlab.ts +369 -10
- package/src/plus/integrations/providers/jira.ts +247 -42
- package/src/plus/integrations/providers/linear.ts +154 -27
- package/src/plus/integrations/providers/models.ts +583 -75
- package/src/plus/integrations/providers/providersApi.ts +849 -86
- 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 +68 -8
- 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/utils/domain.utils.ts +26 -0
- package/src/plus/integrations/utils/integration.utils.ts +93 -16
- 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/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,372 @@
|
|
|
1
|
+
# Consuming `@gitkraken/core-gitlens` integrations
|
|
2
|
+
|
|
3
|
+
How to read provider data (pull requests, issues, orgs, projects, repos, repository identity) from
|
|
4
|
+
`@gitkraken/core-gitlens` as an external consumer — the surface Kepler migrates onto in
|
|
5
|
+
[kepler#1322](https://github.com/gitkraken/kepler/issues/1322).
|
|
6
|
+
|
|
7
|
+
Scope: the **provider-neutral facade** (`plus/integrations/index.js`). It hands back GitLens-owned shapes and
|
|
8
|
+
never leaks `@gitkraken/provider-apis` types, so a consumer depends on this package alone.
|
|
9
|
+
|
|
10
|
+
- Read-API parity decisions and the provider-apis-level contract: [`kepler-read-api-parity.md`](./kepler-read-api-parity.md)
|
|
11
|
+
- `@gitlens/git` service wiring (a separate boundary):
|
|
12
|
+
[`library-architecture.md`](https://github.com/gitkraken/vscode-gitlens/blob/core/docs/library-architecture.md)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 1. Entry points
|
|
17
|
+
|
|
18
|
+
| Subpath | Use it for |
|
|
19
|
+
| ---------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
|
20
|
+
| `@gitkraken/core-gitlens/plus/integrations/index.js` | The session-managed facade: manager factory, public types, and connection helpers. |
|
|
21
|
+
| `@gitkraken/core-gitlens/plus/integrations/lite.js` | Stateless, token-scoped single reads (no storage/auth lifecycle). See §10. |
|
|
22
|
+
| `@gitkraken/core-gitlens/git/models/*.js` | The returned models (`PullRequestShape`, `IssueShape`, …). |
|
|
23
|
+
|
|
24
|
+
Everything else under `plus/integrations/**` is internal. `IntegrationService`, the `GitHostIntegration`
|
|
25
|
+
models, and the provider clients are deliberately **not** on the facade: they change without a semver bump.
|
|
26
|
+
`manager.js` / `results.js` are not published subpaths either — their types are re-exported through
|
|
27
|
+
`index.js`, so import them from there.
|
|
28
|
+
|
|
29
|
+
> If a type you need to name isn't exported from `index.js`, that's a bug in this package — file it rather
|
|
30
|
+
> than re-declaring the shape downstream, which silently drifts.
|
|
31
|
+
|
|
32
|
+
## 2. Building the runtime
|
|
33
|
+
|
|
34
|
+
`createIntegrationManager(ctx)` takes one argument: an `IntegrationManagerContext`. It is the **single**
|
|
35
|
+
cross-boundary contract — the package never imports `vscode` and has no ambient globals. The extension host's
|
|
36
|
+
broader `IntegrationServiceContext` is internal and is not part of the published facade.
|
|
37
|
+
|
|
38
|
+
| Provider | Required | What it must do |
|
|
39
|
+
| -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
40
|
+
| `storage` | yes | Global + workspace key/value, plus a secret store (tokens land here). |
|
|
41
|
+
| `account` | yes | The GitKraken account and the GK-cloud connect/manage round-trips. Return `undefined` from `getAccount` if you don't use GK cloud (see below). |
|
|
42
|
+
| `config` | yes | `getRemoteConfigs()` (self-managed hosts, SSL/protocol overrides), launchpad knobs, a change event. |
|
|
43
|
+
| `http` | yes | `fetch` + `wrapForForcedInsecureSSL` + `isWeb` + a User-Agent string. |
|
|
44
|
+
| `cache` | no | `IntegrationManagerCacheProvider`, whose only method is `getCurrentAccount`. Omit it for correct uncached reads; implement it for a long-lived manager to deduplicate provider identity lookups. |
|
|
45
|
+
| `repositories` | yes | `getOpenRemotes()`; used only by the "across open repos" helpers. `async () => []` is fine. |
|
|
46
|
+
| `hooks` | no | Auth strategy override, reauth/disconnect prompts, outbound behavioral events. |
|
|
47
|
+
|
|
48
|
+
A complete, type-checked, dependency-free example (including the optional-cache path) lives in
|
|
49
|
+
[`tests/fixtures/integrations-consumer/src/consumer.test.ts`](https://github.com/gitkraken/vscode-gitlens/blob/core/tests/fixtures/integrations-consumer/src/consumer.test.ts).
|
|
50
|
+
It runs against the packed artifact in CI, so it catches missing exports as well as source-level mistakes:
|
|
51
|
+
use that file's `buildRuntime()` as your starting point.
|
|
52
|
+
|
|
53
|
+
The cache callback receives only `{ id, domain }`, a loader, and cache controls (`connectionId`, `etag`,
|
|
54
|
+
expiry). It never exposes GitLens' internal `IntegrationBase` / `GitHostIntegration` classes or requires
|
|
55
|
+
stubs for unrelated repository, pull-request, or issue caches. The fixture uses the package's public
|
|
56
|
+
`PromiseCache` utility, but any cache with the same behavior is valid.
|
|
57
|
+
|
|
58
|
+
### Authentication
|
|
59
|
+
|
|
60
|
+
Two strategies, both through the same context:
|
|
61
|
+
|
|
62
|
+
1. **GK cloud (what GitLens does).** Implement `account.connect` / `openManagement` / `fetchGkApi`; the
|
|
63
|
+
package syncs connections, stores per-connection sessions, tracks primaries, and reconciles multi-account
|
|
64
|
+
state on check-in. `refreshConnections()` forces that sync on demand.
|
|
65
|
+
2. **Your own tokens.** Return a provider from the `hooks.createAuthenticationProvider` hook.
|
|
66
|
+
`createManualTokenAuthProvider({ id, token, account, domain? })` wraps a static token; for refreshable
|
|
67
|
+
tokens implement `IntegrationAuthenticationProvider` directly. A manual-token session never expires and
|
|
68
|
+
returns `undefined` on `forceNewSession`, so a reauth-on-failure loop terminates.
|
|
69
|
+
|
|
70
|
+
### Lifecycle
|
|
71
|
+
|
|
72
|
+
```ts
|
|
73
|
+
const manager = createIntegrationManager(runtime);
|
|
74
|
+
try {
|
|
75
|
+
/* reads */
|
|
76
|
+
} finally {
|
|
77
|
+
manager.dispose(); // tears down cached integrations, auth providers, and every host subscription
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
`onDidChange` fires when the configured-connection set changes; `onDidChangeConnectionState` when a
|
|
82
|
+
provider connects/disconnects. Both are safe to drive cache invalidation from.
|
|
83
|
+
|
|
84
|
+
`refreshConnections()` is an authoritative foreground refresh: it rejects if the GK backend connection list
|
|
85
|
+
cannot be read and leaves the last known configuration intact. Background check-in remains best-effort.
|
|
86
|
+
|
|
87
|
+
## 3. Multi-account and self-managed hosts
|
|
88
|
+
|
|
89
|
+
Three knobs, in precedence order, select **which account and which host** a read runs against:
|
|
90
|
+
|
|
91
|
+
| Option | Meaning |
|
|
92
|
+
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
93
|
+
| `connectionId` | A specific connection from `getConfigured()`. Wins over everything. An unresolvable one is a `no-connection` warning + `fetchFailed`, never an empty result. |
|
|
94
|
+
| `domain` | Fallback host for a self-managed provider with no configured connection (manual-token/external auth). |
|
|
95
|
+
| neither | The provider's primary connection; for a self-managed provider, the primary configured host. |
|
|
96
|
+
|
|
97
|
+
An explicitly supplied `connectionId` or `domain` must be non-empty; whitespace does not fall back to the
|
|
98
|
+
primary account. For `listOrgs` and `listProjects`, either selector also requires `providerId` because it
|
|
99
|
+
cannot be applied unambiguously to a cross-provider fan-out.
|
|
100
|
+
|
|
101
|
+
`domain` **must** come from your trusted authentication configuration, never from repository or remote data:
|
|
102
|
+
it selects which credentials a read uses, and `resolveRepository` deliberately refuses to resolve a
|
|
103
|
+
self-managed remote against a host the user hasn't authenticated (`host-mismatch`).
|
|
104
|
+
Use the facade's `hostFromDomain()` when comparing a stored URL-shaped domain with a remote host; this is the
|
|
105
|
+
same normalization used internally for connection selection.
|
|
106
|
+
|
|
107
|
+
Use `getConfigured(id?, { cloud?, domain? })` to enumerate connections, `setPrimaryConnection` /
|
|
108
|
+
`deleteConnection` to manage them. Both mutations validate that `connectionId` belongs to the requested
|
|
109
|
+
provider before calling the token backend; never reuse an id discovered under a different provider.
|
|
110
|
+
|
|
111
|
+
## 4. The reads
|
|
112
|
+
|
|
113
|
+
Every read returns `ProviderResult<T>` (`items` + `warnings` + `fetchFailed?`), and every paged read extends
|
|
114
|
+
it with `page` + `hasMore` + `cursor?`. **No read throws for a provider-side failure** — see §6.
|
|
115
|
+
|
|
116
|
+
| Method | Returns | Scope |
|
|
117
|
+
| ---------------------------- | ------------------------- | ------------------------------------------------------------------------------------- |
|
|
118
|
+
| `listOrgs` | `ProviderOrganization` | Orgs / workspaces / groups; issue-tracker resources (Jira sites, …). |
|
|
119
|
+
| `listProjects` | `ProviderOrganization` | The project tier: Azure DevOps, and issue-tracker projects. |
|
|
120
|
+
| `listRepos` | `ProviderRepositoryShape` | Repos of an `org`, or account-wide user-affiliated repos when `org` is omitted. |
|
|
121
|
+
| `listPullRequestsPage` | `PullRequestShape` | With `repos`: those repos' PRs. Without: the user's PRs account-wide. |
|
|
122
|
+
| `listIssuesPage` | `IssueShape` | Same split, for a **git host**'s issues. |
|
|
123
|
+
| `listIssueTrackerIssuesPage` | `IssueShape` | Jira / Linear / Trello (issues live under resource → project). |
|
|
124
|
+
| `sweepPullRequests` | `ProviderSweepResult` | Drains **every** page across providers (`maxPages`, default 100). |
|
|
125
|
+
| `sweepClosedPullRequests` | `ProviderSweepResult` | Same, pinned to `['closed','merged']`. |
|
|
126
|
+
| `broadenIssues` | `ProviderBroadenResult` | Per-org fan-out: list the org's repos, then read their issues unfiltered by assignee. |
|
|
127
|
+
| `resolveRepository` | `ResolveRepositoryResult` | Remote URL → canonical provider identity (the `gk repo resolve` equivalent). |
|
|
128
|
+
| `getSupportedFilters` | filter capability table | Static, connection-free. See §7. |
|
|
129
|
+
|
|
130
|
+
A provider that cannot serve a surface says so explicitly — a warning explaining that the operation is
|
|
131
|
+
unsupported plus `fetchFailed`, never a silent empty page. That distinction is the whole point of the result
|
|
132
|
+
shape: an empty `items` with no warning means "this account genuinely has nothing".
|
|
133
|
+
|
|
134
|
+
## 5. Paging
|
|
135
|
+
|
|
136
|
+
Two mechanisms live behind one shape, and they are **not** interchangeable:
|
|
137
|
+
|
|
138
|
+
- **`cursor`** — an opaque continuation. Threading it back guarantees **one upstream request per scope**.
|
|
139
|
+
- **`page`** (1-based) — a position. On a cursor-driven read (GitHub's searches and the broaden fan-out,
|
|
140
|
+
plus provider account-wide reads that return continuations), asking for page N _without_ a cursor makes the
|
|
141
|
+
facade drain pages 1..N internally and
|
|
142
|
+
return only page N: correct, but **O(N) upstream requests**. That drain is the supported fallback for a
|
|
143
|
+
consumer that persisted only a page number (e.g. the first read after a restart).
|
|
144
|
+
|
|
145
|
+
Pass **both**: `page` labels the position in `page.currentPage`, the cursor is what actually advances.
|
|
146
|
+
|
|
147
|
+
```ts
|
|
148
|
+
let cursor: string | undefined;
|
|
149
|
+
for (let page = 1; ; page++) {
|
|
150
|
+
const result = await manager.listPullRequestsPage({ providerId, page, cursor });
|
|
151
|
+
consume(result.items, result.warnings);
|
|
152
|
+
if (!result.hasMore) break; // `hasMore` is never true without a usable `cursor`
|
|
153
|
+
cursor = result.cursor;
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Invariants worth relying on:
|
|
158
|
+
|
|
159
|
+
- `hasMore: true` **always** comes with a `cursor` you can act on. A provider that claims another page but
|
|
160
|
+
hands back no continuation is reported as terminal-but-incomplete: `hasMore: false` + `page.truncated`.
|
|
161
|
+
So `while (hasMore)` cannot spin.
|
|
162
|
+
- `page.currentPage` is **positional**, uniform across every paged read. Continue from `cursor`, not from
|
|
163
|
+
`currentPage + 1` — a cursor-only host can't be addressed by number.
|
|
164
|
+
- A page past the provider's last one is an **empty page N**, never page N−1 relabeled.
|
|
165
|
+
- `page.itemsPerPage` describes the page that came back; don't infer totals or "last page" from it.
|
|
166
|
+
- Composite fan-out cursors retain each scope's exact continuation or retry position. Round-trip the cursor
|
|
167
|
+
even after a partial result: healthy scopes advance while a failed scope retries the page it missed.
|
|
168
|
+
- Sweeps drain internally and expose **no** cursor: `hasMore` is always `false`. Gate "this is the complete
|
|
169
|
+
set" on `page.allPages === true`, which is false for _both_ truncation and failure — unlike
|
|
170
|
+
`page.truncated`, which can be misread as a benign cap.
|
|
171
|
+
|
|
172
|
+
## 6. Failures: warnings, `fetchFailed`, `truncated`
|
|
173
|
+
|
|
174
|
+
A per-provider (or per-connection, or per-scope) failure degrades to a **warning attached to a partial
|
|
175
|
+
result** instead of rejecting the call. One provider's expired token never blanks the other providers' data.
|
|
176
|
+
|
|
177
|
+
`ProviderWarning.kind` (also exported as `ProviderWarningKind`) carries the classifications the facade can
|
|
178
|
+
prove from structured errors:
|
|
179
|
+
|
|
180
|
+
| `kind` | Meaning | Reasonable response |
|
|
181
|
+
| --------------- | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
|
|
182
|
+
| `auth` | Token rejected (401/403 that isn't a throttle). | Prompt to reconnect that connection. |
|
|
183
|
+
| `rate-limit` | Throttled (429, or a 403 whose body says so). | Back off and retry; keep the last snapshot. |
|
|
184
|
+
| `not-found` | 404/410/422 on the requested scope. | Drop that scope; don't reconnect. |
|
|
185
|
+
| `no-connection` | The requested `connectionId`/`domain` doesn't resolve. | Re-resolve the target or re-authenticate. |
|
|
186
|
+
| `other` | Catch-all: unsupported input, truncation, upstream/network failure, or an unclassified error. | Preserve the warning and use the result flags; do not assume it is benign or non-retryable. |
|
|
187
|
+
|
|
188
|
+
`isAuth` is a convenience mirror of `kind === 'auth'`. **Collapsing `kind` into that boolean loses the
|
|
189
|
+
rate-limit and not-found distinctions**, which then have to be re-derived from raw provider prose.
|
|
190
|
+
Conversely, `other` is intentionally not a complete failure taxonomy. Treat `message` as display/diagnostic
|
|
191
|
+
text rather than a stable protocol; use `fetchFailed`, `page.truncated`, and `page.allPages` for completeness
|
|
192
|
+
and keep unknown failures conservative.
|
|
193
|
+
|
|
194
|
+
| Flag | Says |
|
|
195
|
+
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
196
|
+
| `fetchFailed` | `items` is incomplete because a scope failed, or because a flat hierarchy read was truncated. Distinguishes this from a genuine empty result. |
|
|
197
|
+
| `page.truncated` | The read completed but couldn't confirm it had everything (provider cap, `maxPages` backstop, or a missing continuation). |
|
|
198
|
+
| `page.allPages` | Sweeps only: `true` iff every page of every target drained cleanly. |
|
|
199
|
+
| `failedProviderIds` | Sweeps/broadens: providers whose requested scopes produced no usable result. |
|
|
200
|
+
| `incompleteProviderIds` | Sweeps/broadens: providers with a usable result plus a failed, partial, or truncated sibling scope. |
|
|
201
|
+
|
|
202
|
+
`resolveRepository` reports through `resolution.status` instead: `resolved` · `not-found` · `unauthorized` ·
|
|
203
|
+
`unsupported-provider` · `invalid-remote-url` · `host-mismatch` · `undetermined`. A `resolved` identity
|
|
204
|
+
carries the provider's **canonical** owner/name plus `renamed: true` when the local remote is stale.
|
|
205
|
+
|
|
206
|
+
## 7. Filters are all-or-nothing
|
|
207
|
+
|
|
208
|
+
`filters` (`PullRequestFilter` / `IssueFilter`) narrows repo-scoped reads and account-wide PR/issue reads to
|
|
209
|
+
the current user's relationship with the item. A set containing even **one** filter the provider can't
|
|
210
|
+
express is **refused whole** —
|
|
211
|
+
empty `items` + warning + `fetchFailed` — because falling through unfiltered would return _every_ PR
|
|
212
|
+
instead of the user's.
|
|
213
|
+
|
|
214
|
+
So intersect against the capability table first:
|
|
215
|
+
|
|
216
|
+
```ts
|
|
217
|
+
const supported = manager.getSupportedFilters(providerId); // static, no connection needed
|
|
218
|
+
const capability = repos.length === 0 ? (supported.pullRequestsAccountWide ?? []) : supported.pullRequests;
|
|
219
|
+
const filters = wanted.filter(f => capability.includes(f));
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
- `pullRequests` — the repo-scoped PR read.
|
|
223
|
+
- `pullRequestsAccountWide` — the optional account-wide PR capability. Treat a missing field as empty.
|
|
224
|
+
- `issues` — the **repo-scoped** git-host read, **and** the issue-tracker read
|
|
225
|
+
(`listIssueTrackerIssuesPage` validates against this field).
|
|
226
|
+
- `issuesAccountWide` — the account-wide git-host read only. Usually narrower (GitLab can express
|
|
227
|
+
`Assignee` and `Author`, but not `Mention`), and empty for issue trackers.
|
|
228
|
+
|
|
229
|
+
It's a _capability_ table, not a recommendation: passing fewer filters than listed is fine.
|
|
230
|
+
|
|
231
|
+
PR filter composition depends on the read:
|
|
232
|
+
|
|
233
|
+
- **Repo-scoped** members are combined as provider query constraints (normally an intersection). To build
|
|
234
|
+
`Author ∪ Assignee ∪ ReviewRequested`, issue one paged read per facet and union the results.
|
|
235
|
+
- **Account-wide** members are an exact OR union. The facade fans out or post-filters provider-native
|
|
236
|
+
relationship slices as required, preserving one composite cursor where the provider pages. A sweep target's
|
|
237
|
+
`filters` overrides the sweep-level set, which lets a cross-provider caller request each provider's exact
|
|
238
|
+
supported subset without leaking provider query syntax.
|
|
239
|
+
|
|
240
|
+
On the account-wide issue read, `filters` **replaces** the provider's own definition of "my issues"
|
|
241
|
+
(GitHub authored ∪ assigned ∪ mentioned; Azure assigned ∪ authored; GitLab assigned-to-me), so
|
|
242
|
+
`[Assignee]` means `assignee:@me` wherever it's expressible. `includeAllAssignees`
|
|
243
|
+
does the opposite (drops the user scope); passing both on that account-wide read is refused as contradictory.
|
|
244
|
+
|
|
245
|
+
`includeReviewRequested` is a legacy account-wide breadth option used only when no explicit `filters` are
|
|
246
|
+
supplied. It remains useful for Bitbucket Cloud, where the reviewer slice requires an expensive
|
|
247
|
+
O(workspaces × repos) fan-out; prefer `filters: [ReviewRequested]` when an exact relationship is required.
|
|
248
|
+
|
|
249
|
+
Aggregate account-wide PR reads use a lightweight list shape. Stable list fields, body, and branch refs are
|
|
250
|
+
preserved; optional enrichments such as reviews, checks, and stats may be absent.
|
|
251
|
+
|
|
252
|
+
## 8. Provider capability matrix
|
|
253
|
+
|
|
254
|
+
Derived from the provider models and `providersMetadata`. ✓ supported · ✗ reported unsupported
|
|
255
|
+
(warning + `fetchFailed`) · — not applicable. Self-managed variants inherit their cloud family's hooks.
|
|
256
|
+
|
|
257
|
+
| Surface | GitHub / GHE | GitLab / self-hosted | Bitbucket | Bitbucket DC | Azure DevOps (+ Server) | Jira | Linear | Trello |
|
|
258
|
+
| ---------------------------- | :----------: | :------------------: | :-------: | :----------: | :---------------------: | :--: | :----: | :----: |
|
|
259
|
+
| `listOrgs` | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ |
|
|
260
|
+
| `listProjects` | — | — | — | — | ✓ | ✓ | ✓ | ✓ |
|
|
261
|
+
| `listRepos` (`org`) | ✓ | ✓ | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ |
|
|
262
|
+
| `listRepos` (account-wide) | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
|
|
263
|
+
| PRs, repo-scoped | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
|
|
264
|
+
| PRs, account-wide | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
|
|
265
|
+
| PR `states` account-wide | ✓ | ✓ | ✓ | ✓ | ✓ | — | — | — |
|
|
266
|
+
| Issues, repo-scoped | ✓ | ✓ | ✗ | ✗ | ✓ | — | — | — |
|
|
267
|
+
| Issues, account-wide | ✓ | ✓ | ✗ | ✗ | ✓ | — | — | — |
|
|
268
|
+
| Issues by `org`/`project` | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
|
|
269
|
+
| `listIssueTrackerIssuesPage` | — | — | — | — | — | ✓ | ✓ | ✓ |
|
|
270
|
+
| `broadenIssues` | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
|
|
271
|
+
| `resolveRepository` | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
|
|
272
|
+
|
|
273
|
+
Repo-scoped PR filters: GitHub/GHE `Author, Assignee, ReviewRequested, Mention` · GitLab `Author, Assignee,
|
|
274
|
+
ReviewRequested` · Bitbucket + Bitbucket DC `Author, ReviewRequested` · Azure `Author, Assignee,
|
|
275
|
+
ReviewRequested`.
|
|
276
|
+
Account-wide PR filters: GitHub/GHE `Author, Assignee, ReviewRequested, Mention` · GitLab
|
|
277
|
+
`Author, Assignee, ReviewRequested` · Bitbucket + Bitbucket DC `Author, ReviewRequested` · Azure
|
|
278
|
+
`Author, Assignee, ReviewRequested`.
|
|
279
|
+
Issue filters: GitHub/GHE + Azure + Jira `Author, Assignee, Mention` · GitLab `Author, Assignee` ·
|
|
280
|
+
Linear + Trello `Assignee` · Bitbucket family none.
|
|
281
|
+
Account-wide issue filters: GitHub/GHE `Author, Assignee, Mention` · Azure `Author, Assignee` · GitLab
|
|
282
|
+
`Assignee, Author` · everything else none.
|
|
283
|
+
|
|
284
|
+
> `supportedCloudIntegrationDescriptors.supports` (in `constants.ts`) describes what GitLens _advertises in
|
|
285
|
+
> its connect UI_, including enrichment-only capabilities. It is **not** the read-capability answer — use
|
|
286
|
+
> `getSupportedFilters` and this matrix.
|
|
287
|
+
|
|
288
|
+
## 9. Per-provider behavior worth designing around
|
|
289
|
+
|
|
290
|
+
- **GitHub / GHE** — cursor-only everywhere. The account-wide issue read is three searches (`author:@me`,
|
|
291
|
+
`assignee:@me`, `mentions:@me`) behind one composite cursor; a filtered account-wide PR read is one search
|
|
292
|
+
per state × relationship facet behind a composite cursor that resumes only active facets. Each search caps
|
|
293
|
+
at GitHub's own result ceiling, surfaced as `page.truncated`. `includeAllAssignees` is refused account-wide
|
|
294
|
+
(scope to repos instead).
|
|
295
|
+
- **GitLab / self-hosted** — numbered per-repo cursors for repo-scoped reads. Account-wide PR state selection
|
|
296
|
+
is forwarded to each relationship query. Account-wide issues can independently narrow to assignee or author;
|
|
297
|
+
the unfiltered read unions both.
|
|
298
|
+
- **Bitbucket Cloud** — no issues at all on this surface (tracker deprecated; use Jira). No account-wide
|
|
299
|
+
repo walk (list per workspace). The account-wide PR read drains every workspace and returns **one
|
|
300
|
+
aggregate page** (no cross-workspace cursor), so `itemsPerPage` doesn't apply. The review-requested slice
|
|
301
|
+
is opt-in via `includeReviewRequested: true`, because it costs an O(workspaces × repos) fan-out.
|
|
302
|
+
- **Bitbucket Data Center** — no org discovery, no repo discovery, no issues. `provider-apis` converts the
|
|
303
|
+
public 1-based page number to the REST `start` offset and normalizes `nextPageStart` back to a page number;
|
|
304
|
+
the facade carries that number inside its opaque cursor.
|
|
305
|
+
- **Azure DevOps** — org + project scoped. Repo-scoped reads accept one org per call. Account-wide reads
|
|
306
|
+
drain every project of every org and return one aggregate page; a failed project becomes a scoped warning
|
|
307
|
+
while its siblings survive. Only Azure can narrow an account-wide issue read by `org`/`project`.
|
|
308
|
+
`resolveRepository` needs a project in the remote URL. Azure DevOps Server uses the trusted connection's
|
|
309
|
+
domain/protocol as `baseUrl`; the remote host must match that configured connection.
|
|
310
|
+
- **Jira / Linear / Trello** — paged by **project**, not by issue: `itemsPerPage` counts projects (default
|
|
311
|
+
20), each drained in full. Passing none of `page`/`cursor`/`itemsPerPage` aggregates every matched project
|
|
312
|
+
in one page. A single project exceeding its internal drain backstop shows up as `page.truncated`.
|
|
313
|
+
Trello's issue `id` is the card's `idShort` — unique per board only, so correlate across boards by
|
|
314
|
+
`nodeId`. For Trello, boards are both the resource and the project, so `listOrgs` and `listProjects`
|
|
315
|
+
return the same set; Linear's resource is the organization and its projects are teams.
|
|
316
|
+
Thread the returned cursor verbatim: it can combine the next untouched project window with discovery/project
|
|
317
|
+
retries, preserve a caller's aggregate-all mode, and suppress projects already emitted before discovery
|
|
318
|
+
recovered. `hasMore` reports only untouched forward progress. A cursor can therefore remain with
|
|
319
|
+
`hasMore: false`; reusing it is an explicit manual retry of failed work, not a normal paging loop.
|
|
320
|
+
|
|
321
|
+
The same warning holds for `IssueShape.id` generally: it's the provider's **display** number/key (rendered
|
|
322
|
+
as `#{id}`, used for branch names). `nodeId` is the stable provider-native id, but its uniqueness scope is
|
|
323
|
+
provider-specific (Azure work-item ids are organization-scoped). For cross-scope correlation, key by
|
|
324
|
+
provider/domain plus repository or project identity and `nodeId`; `url` is also unique for the provider reads
|
|
325
|
+
that require one.
|
|
326
|
+
|
|
327
|
+
## 10. Token-scoped reads (`lite.js`)
|
|
328
|
+
|
|
329
|
+
For a consumer that already holds a provider token and wants one stateless read — no storage, no session
|
|
330
|
+
lifecycle, no OAuth:
|
|
331
|
+
|
|
332
|
+
```ts
|
|
333
|
+
import { createTokenScopedGitHostIntegration } from '@gitkraken/core-gitlens/plus/integrations/lite.js';
|
|
334
|
+
|
|
335
|
+
const api = createTokenScopedGitHostIntegration(
|
|
336
|
+
GitCloudHostIntegrationId.GitHub,
|
|
337
|
+
{ accessToken: token },
|
|
338
|
+
{ fetch: fetch },
|
|
339
|
+
);
|
|
340
|
+
const metadata = await api.getRepositoryMetadata('gitkraken', 'vscode-gitlens');
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
Supports `getRepositoryMetadata` + `getDefaultBranch` for GitHub/GHE, GitLab/self-hosted, Bitbucket Cloud,
|
|
344
|
+
and Azure DevOps (+ Server). **Not** Bitbucket Data Center. A self-managed id requires `token.domain`
|
|
345
|
+
(it throws otherwise, rather than building a malformed base URL). Azure encodes the repo as
|
|
346
|
+
`"{project}/_git/{repoName}"`.
|
|
347
|
+
|
|
348
|
+
## 11. Checklist for a new consumer
|
|
349
|
+
|
|
350
|
+
1. Start from `buildRuntime()` in the consumer fixture; implement `storage` for real. Add
|
|
351
|
+
`cache.getCurrentAccount` when the manager is long-lived or provider identity reads are frequent.
|
|
352
|
+
2. Pick an auth strategy (§2) and verify `getConfigured()` reflects your connections.
|
|
353
|
+
3. Thread `connectionId` through every read if you support multiple accounts per provider.
|
|
354
|
+
4. Persist the **opaque `cursor`**, not just a page number (§5).
|
|
355
|
+
5. Branch on specific `warning.kind` values, handle `other` conservatively, and gate caching on
|
|
356
|
+
`fetchFailed` / `page.allPages` (§6).
|
|
357
|
+
6. Intersect repo-scoped and account-wide `filters` against their distinct `getSupportedFilters` fields (§7).
|
|
358
|
+
7. Treat "unsupported" as a first-class outcome per provider (§8) — don't render it as an error.
|
|
359
|
+
8. `dispose()` the manager with the owning scope.
|
|
360
|
+
|
|
361
|
+
## 12. Development and publication prerequisite
|
|
362
|
+
|
|
363
|
+
The current `core` branch depends on the provider fixes used by this facade: GitLab author filtering and PR
|
|
364
|
+
state forwarding, GitHub search-completeness metadata, Bitbucket Data Center page normalization, and
|
|
365
|
+
self-managed Azure project-scoped repository lookup. During coordinated development, a local
|
|
366
|
+
`provider-apis` worktree/link may temporarily supply those fixes; that link is a test setup, not a publishable
|
|
367
|
+
dependency contract.
|
|
368
|
+
|
|
369
|
+
Before publication, replace any local link with the released `@gitkraken/provider-apis` version containing
|
|
370
|
+
the verified fixes and regenerate the workspace catalog/lockfile. Do not publish or bump
|
|
371
|
+
`@gitkraken/core-gitlens` until that dependency is released and the Kepler migration has been verified end to
|
|
372
|
+
end against the packed artifact.
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Kepler read-API parity
|
|
2
|
+
|
|
3
|
+
Authoritative decision record for the read-API parity gaps tracked in
|
|
4
|
+
[#5435](https://github.com/gitkraken/vscode-gitlens/issues/5435) (follow-up to #5430), so Kepler
|
|
5
|
+
([gitkraken/kepler#1325](https://github.com/gitkraken/kepler/issues/1325), epic
|
|
6
|
+
[#1322](https://github.com/gitkraken/kepler/issues/1322)) can migrate its provider reads off the `gk` CLI
|
|
7
|
+
onto `@gitkraken/core-gitlens` with a clear contract.
|
|
8
|
+
|
|
9
|
+
The baseline provider-side prerequisites landed in `@gitkraken/provider-apis` **0.50.0** (GKDEV-3535,
|
|
10
|
+
GKDEV-3536, GKDEV-3537, GKDEV-3538). The current `core` branch additionally requires the unreleased
|
|
11
|
+
provider changes described in [`integrations.md` §12](./integrations.md#12-development-and-publication-prerequisite).
|
|
12
|
+
|
|
13
|
+
Verdict legend: **first-class** (honored) · **best-effort** (honored where the provider exposes it cheaply,
|
|
14
|
+
otherwise `undefined`) · **n/a** (provider has no such concept).
|
|
15
|
+
|
|
16
|
+
For how to actually consume the resulting facade — runtime wiring, the paging/warning contracts, and the
|
|
17
|
+
per-provider capability matrix — see [`integrations.md`](./integrations.md). This
|
|
18
|
+
document stays the decision record for the parity gaps themselves.
|
|
19
|
+
|
|
20
|
+
## 1. Per-connection reads
|
|
21
|
+
|
|
22
|
+
`getMyIssuesForRepos` / `getMyPullRequestsForRepos` accept an optional trailing `connectionId` and read with
|
|
23
|
+
that connection's token (mirroring the `connectionId` added to the session-based `searchMy*` reads in #5430).
|
|
24
|
+
Omitting it preserves the provider's primary-connection behavior. The `providersApi` token path
|
|
25
|
+
(`TokenOptInfo` → `getProviderToken` → `getSession`) resolves the requested connection's cloud session; an
|
|
26
|
+
unresolvable or locally-disconnected connection degrades to "no results" without calling the provider.
|
|
27
|
+
|
|
28
|
+
## 2. Pagination
|
|
29
|
+
|
|
30
|
+
`PagedResult.paging` now carries `page` / `pageSize` / `nextPage` / `totalPages` / `totalCount` alongside the
|
|
31
|
+
existing `cursor` / `more`. Reads accept `page` / `pageSize`.
|
|
32
|
+
|
|
33
|
+
| Provider | Paging | `hasMore` | `currentPage` / `totalPages` / `totalCount` | `pageSize` honored |
|
|
34
|
+
| ---------------- | -------- | ----------- | ------------------------------------------- | ------------------- |
|
|
35
|
+
| GitHub | cursor | first-class | `undefined` (cursor) | yes (`maxPageSize`) |
|
|
36
|
+
| GitLab | cursor | first-class | `undefined` (cursor) | yes (`first`) |
|
|
37
|
+
| Jira | cursor | first-class | `undefined` (cursor) | yes (`maxResults`) |
|
|
38
|
+
| Bitbucket | numbered | first-class | first-class | yes |
|
|
39
|
+
| Bitbucket Server | numbered | first-class | first-class | yes |
|
|
40
|
+
| Azure DevOps | numbered | first-class | first-class | yes |
|
|
41
|
+
|
|
42
|
+
**Kepler mapping:** cursor providers can't report a page number; consume `hasMore` for "next page exists" and
|
|
43
|
+
carry the opaque `cursor` forward. For numbered providers, `currentPage` + `totalPages`/`totalCount` map
|
|
44
|
+
directly to Kepler's `{ currentPage, itemsPerPage }`.
|
|
45
|
+
|
|
46
|
+
**Multi-repo caveat:** the repo-mode providers (GitLab, Bitbucket, Bitbucket Server, Azure) fan a
|
|
47
|
+
`getMy*ForRepos` call out across repos and aggregate the results under a single composite cursor. There the
|
|
48
|
+
numbered metadata (`currentPage`/`totalPages`/`totalCount`) is not aggregated — pagination continues via
|
|
49
|
+
that composite cursor plus `hasMore`. An explicit `page` applies only to the first request per repo; on
|
|
50
|
+
continuation the per-repo cursor takes over (it is not clobbered). The numbered metadata is surfaced on the
|
|
51
|
+
direct single-call read path.
|
|
52
|
+
|
|
53
|
+
## 3. PR state selector (open / closed / merged)
|
|
54
|
+
|
|
55
|
+
`getMyPullRequestsForRepos` and `searchMyPullRequests` accept a `PullRequestStateFilter`
|
|
56
|
+
(`open`|`closed`|`merged`|`all`); issue reads accept an `IssueStateFilter` (`open`|`closed`|`all`). Omitted =
|
|
57
|
+
open-only (unchanged). All providers honor it (providers that can't express an arbitrary combination in one
|
|
58
|
+
query filter the normalized results).
|
|
59
|
+
|
|
60
|
+
| Provider | Paginated (`getMy*ForRepos`) | Search (`searchMyPullRequests`) |
|
|
61
|
+
| ---------------- | ---------------------------- | ------------------------------------------------------------------------ |
|
|
62
|
+
| GitHub | first-class (SDK `states`) | first-class (search query `is:open`/`is:closed is:unmerged`/`is:merged`) |
|
|
63
|
+
| GitLab | first-class | first-class (SDK `states`) |
|
|
64
|
+
| Bitbucket | first-class | first-class (BBQL state clause + authored `states`) |
|
|
65
|
+
| Bitbucket Server | first-class | first-class (SDK `states`) |
|
|
66
|
+
| Azure DevOps | first-class | first-class (SDK `states`) |
|
|
67
|
+
| Jira (issues) | first-class | n/a (Jira has no PRs) |
|
|
68
|
+
|
|
69
|
+
## 4. Assignee / reviewer filters
|
|
70
|
+
|
|
71
|
+
- **`includeAllAssignees` (issues):** `getMyIssuesForRepos` option; when `true` it drops the current-user
|
|
72
|
+
assignee constraint (returns all-assignee issues). First-class for all issue providers (it is an omission).
|
|
73
|
+
- **Reviewer inclusion (PRs):** the `ReviewRequested` filter routes to the field each provider reads.
|
|
74
|
+
|
|
75
|
+
| Provider | Reviewer filter | Keyed by |
|
|
76
|
+
| ---------------- | ---------------------------------------------------- | ---------- |
|
|
77
|
+
| GitHub | `reviewRequestedLogin` | login |
|
|
78
|
+
| GitLab | `reviewRequestedLogin` (multi-assignee also honored) | login |
|
|
79
|
+
| Bitbucket | `reviewerId` | account id |
|
|
80
|
+
| Bitbucket Server | `reviewerLogin` | login |
|
|
81
|
+
| Azure DevOps | `reviewerId` | account id |
|
|
82
|
+
|
|
83
|
+
**Caveat:** the reviewer key differs (login vs account id); `getMyPullRequestsForRepos` picks the right one
|
|
84
|
+
per provider from the resolved current user, so callers don't special-case it.
|
|
85
|
+
|
|
86
|
+
## 5. Clone URLs + fork / cross-repository
|
|
87
|
+
|
|
88
|
+
`PullRequestRef` carries optional `cloneHttps` / `cloneSsh` / `isFork`; `PullRequest.refs.isCrossRepository`
|
|
89
|
+
is always present.
|
|
90
|
+
|
|
91
|
+
| Provider | Clone URLs | `isCrossRepository` | `isFork` |
|
|
92
|
+
| ---------------- | ---------------------------------------- | ------------------- | -------------------------- |
|
|
93
|
+
| GitHub | first-class | first-class | best-effort |
|
|
94
|
+
| GitLab | first-class | first-class | `undefined` |
|
|
95
|
+
| Bitbucket | first-class | first-class | `undefined` |
|
|
96
|
+
| Bitbucket Server | first-class | first-class | `undefined` |
|
|
97
|
+
| Azure DevOps | first-class **with `includeRemoteInfo`** | first-class | best-effort (`forkSource`) |
|
|
98
|
+
|
|
99
|
+
**Caveats:** Azure clone URLs require an opt-in extra lookup; `getMyPullRequestsForRepos` requests
|
|
100
|
+
`includeRemoteInfo` for Azure automatically. Where clone URLs are unavailable the fields are `undefined`;
|
|
101
|
+
reconstruct from the repository `webUrl`. Prefer `isCrossRepository` (always present) over `isFork`
|
|
102
|
+
(best-effort, provider-dependent).
|
|
103
|
+
|
|
104
|
+
## 6. Org / project scoping
|
|
105
|
+
|
|
106
|
+
`ProviderScope { org?, project?, resourceId?, repos? }` is a single normalized scope. `resolveProviderScope`
|
|
107
|
+
dispatches on the provider's `PagingMode` to the provider-appropriate inputs (project inputs for
|
|
108
|
+
Azure-issues/Jira; repo inputs for the rest). The underlying `ProviderReposInput` / `PagingMode` are
|
|
109
|
+
unchanged.
|
|
110
|
+
|
|
111
|
+
**Caveat:** Azure DevOps is scoped within a single organization; multi-org scoping remains unsupported (the
|
|
112
|
+
existing single-org guard stands).
|