@gitkraken/core-gitlens 0.4.0 → 0.4.101
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 +74 -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 +135 -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 +297 -13
- package/dist/plus/integrations/integrationService.d.ts.map +1 -1
- package/dist/plus/integrations/integrationService.js +672 -36
- 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 +262 -10
- package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -1
- package/dist/plus/integrations/models/gitHostIntegration.js +675 -101
- 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 +70 -7
- package/dist/plus/integrations/models/issuesIntegration.d.ts.map +1 -1
- package/dist/plus/integrations/models/issuesIntegration.js +108 -35
- 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/broaden.d.ts +20 -0
- package/dist/plus/integrations/reads/broaden.d.ts.map +1 -0
- package/dist/plus/integrations/reads/broaden.js +326 -0
- package/dist/plus/integrations/reads/broaden.js.map +1 -0
- package/dist/plus/integrations/reads/context.d.ts +74 -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 +320 -0
- package/dist/plus/integrations/reads/hierarchy.js.map +1 -0
- package/dist/plus/integrations/reads/hierarchy.utils.d.ts +77 -0
- package/dist/plus/integrations/reads/hierarchy.utils.d.ts.map +1 -0
- package/dist/plus/integrations/reads/hierarchy.utils.js +128 -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 +334 -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/resolveRepository.d.ts +25 -0
- package/dist/plus/integrations/reads/resolveRepository.d.ts.map +1 -0
- package/dist/plus/integrations/reads/resolveRepository.js +235 -0
- package/dist/plus/integrations/reads/resolveRepository.js.map +1 -0
- package/dist/plus/integrations/reads/sweeps.d.ts +11 -0
- package/dist/plus/integrations/reads/sweeps.d.ts.map +1 -0
- package/dist/plus/integrations/reads/sweeps.js +125 -0
- package/dist/plus/integrations/reads/sweeps.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 +153 -0
- package/src/plus/integrations/index.ts +148 -51
- package/src/plus/integrations/integrationService.ts +940 -49
- package/src/plus/integrations/lite.ts +233 -0
- package/src/plus/integrations/manager.ts +359 -0
- package/src/plus/integrations/models/gitHostIntegration.ts +1005 -134
- package/src/plus/integrations/models/integration.ts +293 -24
- package/src/plus/integrations/models/issuesIntegration.ts +132 -39
- 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/broaden.ts +452 -0
- package/src/plus/integrations/reads/context.ts +99 -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 +473 -0
- package/src/plus/integrations/reads/hierarchy.utils.ts +155 -0
- package/src/plus/integrations/reads/issueTracker.ts +468 -0
- package/src/plus/integrations/reads/issues.ts +409 -0
- package/src/plus/integrations/reads/paging.ts +277 -0
- package/src/plus/integrations/reads/pullRequests.ts +260 -0
- package/src/plus/integrations/reads/resolveRepository.ts +272 -0
- package/src/plus/integrations/reads/sweeps.ts +185 -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
|
@@ -3,12 +3,9 @@ import type { Disposable } from '../../../utils/disposable.js';
|
|
|
3
3
|
import type { Event } from '../../../utils/event.js';
|
|
4
4
|
import { Emitter } from '../../../utils/event.js';
|
|
5
5
|
import type { IntegrationIds } from '../constants.js';
|
|
6
|
-
import { GitCloudHostIntegrationId } from '../constants.js';
|
|
7
6
|
import type { Sources } from '../telemetry.js';
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
isGitSelfManagedHostIntegrationId,
|
|
11
|
-
} from '../utils/integration.utils.js';
|
|
7
|
+
import { areDomainsOnSameHost } from '../utils/domain.utils.js';
|
|
8
|
+
import { isGitSelfManagedHostIntegrationId, isNonExpiringZeroTokenIntegrationId } from '../utils/integration.utils.js';
|
|
12
9
|
import type { ConfiguredIntegrationService } from './configuredIntegrationService.js';
|
|
13
10
|
import type { IntegrationAuthenticationService } from './integrationAuthenticationService.js';
|
|
14
11
|
import type { ProviderAuthenticationSession } from './models.js';
|
|
@@ -24,12 +21,31 @@ export interface IntegrationAuthenticationProviderDescriptor {
|
|
|
24
21
|
export interface IntegrationAuthenticationSessionDescriptor {
|
|
25
22
|
domain: string;
|
|
26
23
|
scopes: string[];
|
|
24
|
+
/** When set, reads/deletes only the matching storage variant. */
|
|
25
|
+
cloud?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Targets a specific connection when a provider has multiple accounts connected. When omitted,
|
|
28
|
+
* operations resolve to the provider's primary connection (see
|
|
29
|
+
* {@link ConfiguredIntegrationService.resolveConnectionId}).
|
|
30
|
+
*/
|
|
31
|
+
connectionId?: string;
|
|
27
32
|
[key: string]: unknown;
|
|
28
33
|
}
|
|
29
34
|
|
|
30
35
|
export interface IntegrationAuthenticationProvider extends Disposable {
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Clears the stored secret for one connection only (never the whole provider). Unlike
|
|
38
|
+
* {@link deleteAllSessions}, this by default leaves the descriptor in `integrations:configured` — its
|
|
39
|
+
* primary caller is a forced re-sync, which needs `getConfigured()` to keep reporting the connection
|
|
40
|
+
* while a fresh session is fetched to replace the deleted secret. Implementers should not treat this as
|
|
41
|
+
* a full disconnect. Pass `preserveConfigured: false` to also drop the descriptor (e.g. when the
|
|
42
|
+
* re-sync's replacement fetch failed and the connection should no longer be reported as connected).
|
|
43
|
+
*/
|
|
44
|
+
deleteSession(
|
|
45
|
+
descriptor: IntegrationAuthenticationSessionDescriptor,
|
|
46
|
+
options?: { preserveConfigured?: boolean },
|
|
47
|
+
): Promise<void>;
|
|
48
|
+
deleteAllSessions(descriptor?: IntegrationAuthenticationSessionDescriptor): Promise<void>;
|
|
33
49
|
getSession(
|
|
34
50
|
descriptor: IntegrationAuthenticationSessionDescriptor,
|
|
35
51
|
options?:
|
|
@@ -61,13 +77,24 @@ abstract class IntegrationAuthenticationProviderBase<
|
|
|
61
77
|
protected abstract get authProviderId(): ID;
|
|
62
78
|
|
|
63
79
|
@trace()
|
|
64
|
-
async deleteSession(
|
|
80
|
+
async deleteSession(
|
|
81
|
+
descriptor: IntegrationAuthenticationSessionDescriptor,
|
|
82
|
+
options?: { preserveConfigured?: boolean },
|
|
83
|
+
): Promise<void> {
|
|
84
|
+
const domain = isGitSelfManagedHostIntegrationId(this.authProviderId) ? descriptor?.domain : undefined;
|
|
65
85
|
const configured = this.configuredIntegrationService.getConfigured(this.authProviderId, {
|
|
66
|
-
|
|
67
|
-
domain: isGitSelfManagedHostIntegrationId(this.authProviderId) ? descriptor?.domain : undefined,
|
|
86
|
+
domain: domain,
|
|
68
87
|
});
|
|
69
88
|
|
|
70
|
-
|
|
89
|
+
// Scope the descriptor to cloud so resolveConnectionId targets the cloud variant's id: this is a
|
|
90
|
+
// cloud-only delete, and a mixed local+cloud connection whose local descriptor is primary would
|
|
91
|
+
// otherwise resolve the local id and leave the cloud secret intact.
|
|
92
|
+
await this.configuredIntegrationService.deleteStoredSessions(
|
|
93
|
+
this.authProviderId,
|
|
94
|
+
{ ...descriptor, cloud: true },
|
|
95
|
+
true,
|
|
96
|
+
{ preserveConfigured: options?.preserveConfigured ?? true },
|
|
97
|
+
);
|
|
71
98
|
|
|
72
99
|
if (configured?.length) {
|
|
73
100
|
this.fireChange();
|
|
@@ -75,12 +102,15 @@ abstract class IntegrationAuthenticationProviderBase<
|
|
|
75
102
|
}
|
|
76
103
|
|
|
77
104
|
@trace()
|
|
78
|
-
async deleteAllSessions(): Promise<void> {
|
|
105
|
+
async deleteAllSessions(descriptor?: IntegrationAuthenticationSessionDescriptor): Promise<void> {
|
|
106
|
+
// Self-managed providers group every host under one provider id, so scope the clear to this
|
|
107
|
+
// descriptor's host when given; for cloud providers the domain stays undefined here, clearing every account.
|
|
108
|
+
const domain = isGitSelfManagedHostIntegrationId(this.authProviderId) ? descriptor?.domain : undefined;
|
|
79
109
|
const configured = this.configuredIntegrationService.getConfigured(this.authProviderId, {
|
|
80
|
-
|
|
110
|
+
domain: domain,
|
|
81
111
|
});
|
|
82
112
|
|
|
83
|
-
await this.configuredIntegrationService.deleteAllStoredSessions(this.authProviderId, undefined);
|
|
113
|
+
await this.configuredIntegrationService.deleteAllStoredSessions(this.authProviderId, undefined, domain);
|
|
84
114
|
|
|
85
115
|
if (configured?.length) {
|
|
86
116
|
this.fireChange();
|
|
@@ -97,9 +127,18 @@ abstract class IntegrationAuthenticationProviderBase<
|
|
|
97
127
|
let session;
|
|
98
128
|
let previousToken;
|
|
99
129
|
if (options?.forceNewSession) {
|
|
100
|
-
|
|
130
|
+
// Cloud-only delete (see deleteSession): scope to cloud so the cloud variant's id is cleared even
|
|
131
|
+
// when a mixed local+cloud connection's local descriptor is primary.
|
|
132
|
+
await this.configuredIntegrationService.deleteStoredSessions(
|
|
133
|
+
this.authProviderId,
|
|
134
|
+
{ ...descriptor, cloud: true },
|
|
135
|
+
true,
|
|
136
|
+
);
|
|
101
137
|
} else {
|
|
102
|
-
session = await this.configuredIntegrationService.getStoredSession(
|
|
138
|
+
session = await this.configuredIntegrationService.getStoredSession(
|
|
139
|
+
this.authProviderId,
|
|
140
|
+
options?.sync ? { ...descriptor, cloud: true } : descriptor,
|
|
141
|
+
);
|
|
103
142
|
previousToken = session?.accessToken;
|
|
104
143
|
}
|
|
105
144
|
|
|
@@ -235,35 +274,68 @@ export class CloudIntegrationAuthenticationProvider<
|
|
|
235
274
|
if (!loggedIn) return undefined;
|
|
236
275
|
|
|
237
276
|
const cloudIntegrations = this.authenticationService.cloudIntegrations;
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
//
|
|
277
|
+
// An unscoped descriptor (no explicit connectionId) would fetch the provider-global primary via
|
|
278
|
+
// `v1/provider-tokens/<provider>`. For a self-managed provider spanning multiple hosts that primary
|
|
279
|
+
// can belong to a different host, so a forced sync of host A would hydrate host B's token here (before
|
|
280
|
+
// reconcile corrects storage). Scope to this host's own configured connection when we have one; fall
|
|
281
|
+
// through to the provider-scoped path only when nothing is configured yet (legacy/first sync).
|
|
282
|
+
const connectionId =
|
|
283
|
+
descriptor.connectionId ??
|
|
284
|
+
(isGitSelfManagedHostIntegrationId(this.authProviderId)
|
|
285
|
+
? this.configuredIntegrationService.getConfiguredConnectionId(
|
|
286
|
+
this.authProviderId,
|
|
287
|
+
descriptor.domain,
|
|
288
|
+
true,
|
|
289
|
+
)
|
|
290
|
+
: undefined);
|
|
291
|
+
let session = await cloudIntegrations.getConnectionSession(this.authProviderId, undefined, connectionId);
|
|
241
292
|
if (
|
|
242
|
-
session
|
|
243
|
-
(this.authProviderId
|
|
244
|
-
|
|
293
|
+
session != null &&
|
|
294
|
+
isGitSelfManagedHostIntegrationId(this.authProviderId) &&
|
|
295
|
+
!areDomainsOnSameHost(session.domain, descriptor.domain)
|
|
245
296
|
) {
|
|
246
|
-
|
|
297
|
+
return undefined;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
// GitHub, the cloud self-managed hosts, and Trello return `expiresIn: 0` for a token that never
|
|
301
|
+
// expires; left as 0 the session would be built with `expiresAt = now` and rejected as expired on the
|
|
302
|
+
// next resolution. Map it to the maximum expiry so it isn't refreshed frequently.
|
|
303
|
+
if (session?.expiresIn === 0 && isNonExpiringZeroTokenIntegrationId(this.authProviderId)) {
|
|
247
304
|
session.expiresIn = maxSmallIntegerV8; // maximum expiration length
|
|
248
305
|
}
|
|
249
306
|
|
|
250
307
|
if (session != null && session.expiresIn < 60) {
|
|
251
|
-
session = await cloudIntegrations.getConnectionSession(
|
|
308
|
+
session = await cloudIntegrations.getConnectionSession(
|
|
309
|
+
this.authProviderId,
|
|
310
|
+
session.accessToken,
|
|
311
|
+
connectionId,
|
|
312
|
+
);
|
|
313
|
+
if (
|
|
314
|
+
session != null &&
|
|
315
|
+
isGitSelfManagedHostIntegrationId(this.authProviderId) &&
|
|
316
|
+
!areDomainsOnSameHost(session.domain, descriptor.domain)
|
|
317
|
+
) {
|
|
318
|
+
return undefined;
|
|
319
|
+
}
|
|
252
320
|
}
|
|
253
321
|
|
|
254
322
|
if (!session) return undefined;
|
|
255
323
|
|
|
256
324
|
let sessionProtocol;
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
325
|
+
// Only derive a protocol from a domain carrying an explicit scheme; a bare `host:port` (e.g. a
|
|
326
|
+
// self-managed `ghe.example.com:8443`) parses the host as the protocol, corrupting the value.
|
|
327
|
+
if (/^[a-z][a-z\d+\-.]*:\/\//i.test(session.domain)) {
|
|
328
|
+
try {
|
|
329
|
+
sessionProtocol = new URL(session.domain).protocol;
|
|
330
|
+
} catch {
|
|
331
|
+
sessionProtocol = undefined;
|
|
332
|
+
}
|
|
262
333
|
}
|
|
263
334
|
|
|
264
|
-
// TODO: Once we care about domains, we should try to match the domain here against ours, and if it fails, return undefined
|
|
265
335
|
return {
|
|
266
|
-
id
|
|
336
|
+
// Prefer the backend's per-connection token id (multi-account); fall back to the resolved
|
|
337
|
+
// primary/legacy connection id so existing single-connection storage keys are preserved.
|
|
338
|
+
id: session.id ?? this.configuredIntegrationService.resolveConnectionId(this.authProviderId, descriptor),
|
|
267
339
|
accessToken: session.accessToken,
|
|
268
340
|
scopes: descriptor.scopes,
|
|
269
341
|
account: {
|
|
@@ -276,6 +348,8 @@ export class CloudIntegrationAuthenticationProvider<
|
|
|
276
348
|
// Note: do not use the session's domain, because the format is different than in our model
|
|
277
349
|
domain: descriptor.domain,
|
|
278
350
|
protocol: sessionProtocol ?? undefined,
|
|
351
|
+
// Carried for providers whose client needs an app key alongside the token (e.g. Trello).
|
|
352
|
+
appKey: session.appKey,
|
|
279
353
|
};
|
|
280
354
|
}
|
|
281
355
|
|
|
@@ -86,12 +86,17 @@ export class IntegrationAuthenticationService implements Disposable {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
supports(providerId: string): boolean {
|
|
89
|
+
// Linear and Trello are cloud-backed issue integrations (same as Jira): `ensureProvider` registers a
|
|
90
|
+
// cloud auth provider for them, so a disconnect must offer to sign out of the cloud token too —
|
|
91
|
+
// otherwise the backend token and configured connection survive the disable.
|
|
89
92
|
switch (providerId) {
|
|
90
93
|
case GitCloudHostIntegrationId.AzureDevOps:
|
|
91
94
|
case GitSelfManagedHostIntegrationId.AzureDevOpsServer:
|
|
92
95
|
case GitCloudHostIntegrationId.Bitbucket:
|
|
93
96
|
case GitCloudHostIntegrationId.GitLab:
|
|
94
97
|
case IssuesCloudHostIntegrationId.Jira:
|
|
98
|
+
case IssuesCloudHostIntegrationId.Linear:
|
|
99
|
+
case IssuesCloudHostIntegrationId.Trello:
|
|
95
100
|
case GitCloudHostIntegrationId.GitHub:
|
|
96
101
|
return true;
|
|
97
102
|
default:
|
|
@@ -108,8 +113,6 @@ export class IntegrationAuthenticationService implements Disposable {
|
|
|
108
113
|
// the package constructs its own cloud providers below (so GitLens's cloud auth needs no host hook).
|
|
109
114
|
const hostProvider = await this.ctx.hooks?.createAuthenticationProvider?.({
|
|
110
115
|
id: providerId,
|
|
111
|
-
auth: this,
|
|
112
|
-
configured: this.configuredIntegrationService,
|
|
113
116
|
});
|
|
114
117
|
if (hostProvider != null) {
|
|
115
118
|
this.providers.set(providerId, hostProvider);
|
|
@@ -128,6 +131,7 @@ export class IntegrationAuthenticationService implements Disposable {
|
|
|
128
131
|
case GitSelfManagedHostIntegrationId.BitbucketServer:
|
|
129
132
|
case IssuesCloudHostIntegrationId.Jira:
|
|
130
133
|
case IssuesCloudHostIntegrationId.Linear:
|
|
134
|
+
case IssuesCloudHostIntegrationId.Trello:
|
|
131
135
|
provider = new CloudIntegrationAuthenticationProvider(
|
|
132
136
|
this,
|
|
133
137
|
this.configuredIntegrationService,
|
|
@@ -135,7 +139,7 @@ export class IntegrationAuthenticationService implements Disposable {
|
|
|
135
139
|
);
|
|
136
140
|
break;
|
|
137
141
|
default:
|
|
138
|
-
throw new Error(`No authentication provider registered for integration '${providerId}'`);
|
|
142
|
+
throw new Error(`No authentication provider registered for integration '${String(providerId)}'`);
|
|
139
143
|
}
|
|
140
144
|
|
|
141
145
|
this.providers.set(providerId, provider);
|
|
@@ -37,6 +37,7 @@ export interface ManualTokenAuthProviderOptions {
|
|
|
37
37
|
readonly scopes?: readonly string[];
|
|
38
38
|
readonly domain?: string;
|
|
39
39
|
readonly cloud?: boolean;
|
|
40
|
+
readonly appKey?: string;
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
export function createManualTokenAuthProvider(
|
|
@@ -51,6 +52,7 @@ export function createManualTokenAuthProvider(
|
|
|
51
52
|
cloud: options.cloud ?? true,
|
|
52
53
|
type: undefined,
|
|
53
54
|
domain: options.domain ?? '',
|
|
55
|
+
appKey: options.appKey,
|
|
54
56
|
};
|
|
55
57
|
|
|
56
58
|
return {
|
|
@@ -58,13 +60,18 @@ export function createManualTokenAuthProvider(
|
|
|
58
60
|
return onDidChange.event;
|
|
59
61
|
},
|
|
60
62
|
getSession: (
|
|
61
|
-
|
|
63
|
+
descriptor: IntegrationAuthenticationSessionDescriptor,
|
|
62
64
|
options?: Parameters<IntegrationAuthenticationProvider['getSession']>[1],
|
|
63
65
|
) =>
|
|
64
|
-
// A manual token
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
|
|
66
|
+
// A manual token represents only the implicit primary connection. It cannot prove that an
|
|
67
|
+
// arbitrary connection selector owns the token, so fail closed instead of leaking it across
|
|
68
|
+
// accounts. Empty legacy selectors still resolve as primary.
|
|
69
|
+
//
|
|
70
|
+
// It also can't be refreshed; on a forced new session, return undefined rather than handing
|
|
71
|
+
// back the same likely-rejected token and looping a reauthenticate-on-failure flow.
|
|
72
|
+
Promise.resolve(
|
|
73
|
+
options?.forceNewSession || (descriptor.connectionId?.length ?? 0) > 0 ? undefined : session,
|
|
74
|
+
),
|
|
68
75
|
deleteSession: () => Promise.resolve(),
|
|
69
76
|
deleteAllSessions: () => Promise.resolve(),
|
|
70
77
|
dispose: () => onDidChange.dispose(),
|
|
@@ -25,6 +25,8 @@ export interface ProviderAuthenticationSession extends AuthenticationSessionLike
|
|
|
25
25
|
readonly expiresAt?: Date;
|
|
26
26
|
readonly domain: string;
|
|
27
27
|
readonly protocol?: string;
|
|
28
|
+
/** The provider app key paired with the token for providers whose client needs one (e.g. Trello). */
|
|
29
|
+
readonly appKey?: string;
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
export interface TokenInfo<T extends IntegrationIds | 'gitkraken' = IntegrationIds | 'gitkraken'> {
|
|
@@ -77,9 +79,31 @@ export function toTokenWithInfo<T extends IntegrationIds>(
|
|
|
77
79
|
|
|
78
80
|
export type TokenOptInfo<T extends IntegrationIds = IntegrationIds> =
|
|
79
81
|
| TokenWithInfo<T>
|
|
80
|
-
|
|
82
|
+
// `connectionId` targets a specific connection (multi-account) when the token still has to be resolved.
|
|
83
|
+
// Omitted resolves the provider's primary connection, preserving the pre-multi-account behavior.
|
|
84
|
+
| { providerId: T; accessToken?: undefined; connectionId?: string };
|
|
81
85
|
|
|
82
86
|
export interface ConfiguredIntegrationDescriptor {
|
|
87
|
+
/**
|
|
88
|
+
* Stable per-connection identifier, distinct from the domain, so multiple accounts can be
|
|
89
|
+
* connected to the same provider+domain simultaneously. For legacy/migrated single connections
|
|
90
|
+
* this is the domain (self-managed) or the provider's canonical domain (cloud), which keeps the
|
|
91
|
+
* existing secret key (`integration.auth[.cloud]:{id}|{domain}`) valid with zero migration.
|
|
92
|
+
*/
|
|
93
|
+
readonly id: string;
|
|
94
|
+
/**
|
|
95
|
+
* Whether this is the connection used by default for the provider. Optional: when no descriptor
|
|
96
|
+
* for a provider+domain carries an explicit flag, the first one is treated as primary. Only
|
|
97
|
+
* {@link ConfiguredIntegrationService.setPrimaryConnection} sets the flag (and clears it on siblings).
|
|
98
|
+
*/
|
|
99
|
+
readonly primary?: boolean;
|
|
100
|
+
/** The connection's auth type (`oauth`/`pat`), when known. */
|
|
101
|
+
readonly type?: CloudIntegrationAuthType;
|
|
102
|
+
/**
|
|
103
|
+
* Human-readable account handle for this connection (e.g. the GitHub login). Resolved from the
|
|
104
|
+
* provider API (the token backend doesn't expose it); absent until resolved or if the lookup fails.
|
|
105
|
+
*/
|
|
106
|
+
readonly accountName?: string;
|
|
83
107
|
readonly cloud: boolean;
|
|
84
108
|
readonly integrationId: IntegrationIds;
|
|
85
109
|
readonly scopes: string;
|
|
@@ -93,6 +117,10 @@ export interface CloudIntegrationAuthenticationSession {
|
|
|
93
117
|
domain: string;
|
|
94
118
|
expiresIn: number;
|
|
95
119
|
scopes: string;
|
|
120
|
+
/** Backend per-connection token identifier, when the provider-tokens backend supports multi-account. */
|
|
121
|
+
id?: string;
|
|
122
|
+
/** Provider app key paired with the token (e.g. Trello app key), when the backend supplies one. */
|
|
123
|
+
appKey?: string;
|
|
96
124
|
}
|
|
97
125
|
|
|
98
126
|
export interface CloudIntegrationAuthorization {
|
|
@@ -103,6 +131,12 @@ export interface CloudIntegrationConnection {
|
|
|
103
131
|
type: CloudIntegrationAuthType;
|
|
104
132
|
provider: CloudIntegrationType;
|
|
105
133
|
domain: string;
|
|
134
|
+
/** Backend per-connection token identifier, when the provider-tokens backend supports multi-account. */
|
|
135
|
+
id?: string;
|
|
136
|
+
/** Whether the backend marks this connection as the primary/default for the provider. */
|
|
137
|
+
primary?: boolean;
|
|
138
|
+
/** Human-readable account handle, when the backend provides it on the connection (may be absent). */
|
|
139
|
+
accountName?: string;
|
|
106
140
|
}
|
|
107
141
|
|
|
108
142
|
export type CloudIntegrationType =
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import type { CollectionMetadata, CollectionScopeFailure } from '@gitkraken/provider-apis';
|
|
2
|
+
import { AuthenticationError, RequestNotFoundError, RequestRateLimitError } from '../../git/errors.js';
|
|
3
|
+
import type { IntegrationIds } from './constants.js';
|
|
4
|
+
import { isRateLimitResponse } from './errors.js';
|
|
5
|
+
import type { ProviderWarning } from './results.js';
|
|
6
|
+
import { appendDedupedWarning } from './results.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Maps a caught GitLens request error to the SDK collection failure vocabulary used inside provider fan-outs.
|
|
10
|
+
*/
|
|
11
|
+
export function toCollectionFailureKind(ex: unknown): CollectionScopeFailure['kind'] {
|
|
12
|
+
if (ex instanceof AuthenticationError) return 'authentication';
|
|
13
|
+
if (ex instanceof RequestRateLimitError) return 'rate-limit';
|
|
14
|
+
if (ex instanceof RequestNotFoundError) return 'not-found';
|
|
15
|
+
return 'provider';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** Builds a structured SDK scope failure from a caught GitLens request error. */
|
|
19
|
+
export function toCollectionScopeFailure(scope: CollectionScopeFailure['scope'], ex: unknown): CollectionScopeFailure {
|
|
20
|
+
return {
|
|
21
|
+
scope: scope,
|
|
22
|
+
kind: toCollectionFailureKind(ex),
|
|
23
|
+
...(ex instanceof Error && ex.message ? { message: ex.message } : {}),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function collectionFailureKindToWarningKind(kind: CollectionScopeFailure['kind']): ProviderWarning['kind'] {
|
|
28
|
+
switch (kind) {
|
|
29
|
+
case 'authentication':
|
|
30
|
+
return 'auth';
|
|
31
|
+
case 'rate-limit':
|
|
32
|
+
return 'rate-limit';
|
|
33
|
+
case 'not-found':
|
|
34
|
+
return 'not-found';
|
|
35
|
+
default:
|
|
36
|
+
return 'other';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function getCollectionFailureStatus(message: string | undefined): number | undefined {
|
|
41
|
+
if (message == null) return undefined;
|
|
42
|
+
|
|
43
|
+
const match = /\((\d{3})\)/.exec(message) ?? /^(?:HTTP\s+)?(\d{3})\b/i.exec(message.trim());
|
|
44
|
+
return match != null ? Number(match[1]) : undefined;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function toCollectionFailureWarningKind(failure: CollectionScopeFailure): ProviderWarning['kind'] {
|
|
48
|
+
const mapped = collectionFailureKindToWarningKind(failure.kind);
|
|
49
|
+
if (mapped !== 'other' || (failure.kind !== 'provider' && failure.kind !== 'unknown')) return mapped;
|
|
50
|
+
|
|
51
|
+
// provider-apis currently groups several HTTP statuses under `provider` in partial fan-outs. The custom
|
|
52
|
+
// fetch adapter retains the status in `message`, so recover the same neutral classification the thrown-error
|
|
53
|
+
// path exposes instead of downgrading these structured failures to `other`.
|
|
54
|
+
const status = getCollectionFailureStatus(failure.message);
|
|
55
|
+
switch (status) {
|
|
56
|
+
case 401:
|
|
57
|
+
return 'auth';
|
|
58
|
+
case 403:
|
|
59
|
+
return isRateLimitResponse({ status: status, message: failure.message }) ? 'rate-limit' : 'auth';
|
|
60
|
+
case 404:
|
|
61
|
+
case 410:
|
|
62
|
+
case 422:
|
|
63
|
+
return 'not-found';
|
|
64
|
+
case 429:
|
|
65
|
+
return 'rate-limit';
|
|
66
|
+
default:
|
|
67
|
+
return mapped;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function collectionFailureMessage(failure: CollectionScopeFailure): string {
|
|
72
|
+
const scope = failure.scope;
|
|
73
|
+
const parts: string[] = [];
|
|
74
|
+
if (scope?.resourceId != null) {
|
|
75
|
+
parts.push(`resource ${scope.resourceId}`);
|
|
76
|
+
}
|
|
77
|
+
if (scope?.projectId != null) {
|
|
78
|
+
parts.push(`project ${scope.projectId}`);
|
|
79
|
+
}
|
|
80
|
+
if (scope?.repositoryId != null) {
|
|
81
|
+
parts.push(`repository ${scope.repositoryId}`);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const scopeText = parts.length ? ` (${parts.join(', ')})` : '';
|
|
85
|
+
const detail = failure.message != null ? `: ${failure.message}` : '';
|
|
86
|
+
return `Failed to read ${failure.kind} scope${scopeText}${detail}`;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** Converts internal SDK collection metadata into neutral provider facade signals. */
|
|
90
|
+
export function assessCollectionMetadata(
|
|
91
|
+
providerId: IntegrationIds,
|
|
92
|
+
domain: string | undefined,
|
|
93
|
+
connectionId: string | undefined,
|
|
94
|
+
metadata: CollectionMetadata | undefined,
|
|
95
|
+
): { warnings: ProviderWarning[]; fetchFailed: boolean; truncated: boolean } {
|
|
96
|
+
if (metadata == null) return { warnings: [], fetchFailed: false, truncated: false };
|
|
97
|
+
|
|
98
|
+
const warnings: ProviderWarning[] = [];
|
|
99
|
+
const failures = metadata.failures ?? [];
|
|
100
|
+
for (const failure of failures) {
|
|
101
|
+
const kind = toCollectionFailureWarningKind(failure);
|
|
102
|
+
appendDedupedWarning(warnings, {
|
|
103
|
+
providerId: providerId,
|
|
104
|
+
domain: domain,
|
|
105
|
+
connectionId: connectionId,
|
|
106
|
+
message: collectionFailureMessage(failure),
|
|
107
|
+
kind: kind,
|
|
108
|
+
isAuth: kind === 'auth',
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const incomplete = metadata.completeness !== 'complete';
|
|
113
|
+
if (incomplete && failures.length === 0) {
|
|
114
|
+
appendDedupedWarning(warnings, {
|
|
115
|
+
providerId: providerId,
|
|
116
|
+
domain: domain,
|
|
117
|
+
connectionId: connectionId,
|
|
118
|
+
message:
|
|
119
|
+
metadata.completeness === 'partial'
|
|
120
|
+
? 'Some results were omitted; the read is incomplete'
|
|
121
|
+
: 'Result completeness could not be confirmed',
|
|
122
|
+
kind: 'other',
|
|
123
|
+
isAuth: false,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return { warnings: warnings, fetchFailed: failures.length > 0, truncated: incomplete };
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** Appends neutral warnings derived from SDK metadata and returns its failure/truncation assessment. */
|
|
131
|
+
export function mergeAssessmentInto(
|
|
132
|
+
warnings: ProviderWarning[],
|
|
133
|
+
providerId: IntegrationIds,
|
|
134
|
+
domain: string | undefined,
|
|
135
|
+
connectionId: string | undefined,
|
|
136
|
+
metadata: CollectionMetadata | undefined,
|
|
137
|
+
): { fetchFailed: boolean; truncated: boolean } {
|
|
138
|
+
const assessment = assessCollectionMetadata(providerId, domain, connectionId, metadata);
|
|
139
|
+
for (const warning of assessment.warnings) {
|
|
140
|
+
appendDedupedWarning(warnings, warning);
|
|
141
|
+
}
|
|
142
|
+
return { fetchFailed: assessment.fetchFailed, truncated: assessment.truncated };
|
|
143
|
+
}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import type { CloudIntegrationAuthType } from './authentication/models.js';
|
|
2
|
+
|
|
3
|
+
export const providerFanOutConcurrency = 6;
|
|
4
|
+
|
|
1
5
|
export enum GitCloudHostIntegrationId {
|
|
2
6
|
GitHub = 'github',
|
|
3
7
|
GitLab = 'gitlab',
|
|
@@ -32,6 +36,7 @@ export type IntegrationIds = GitHostIntegrationIds | IssuesHostIntegrationIds;
|
|
|
32
36
|
export const supportedOrderedCloudIssuesIntegrationIds = [
|
|
33
37
|
IssuesCloudHostIntegrationId.Jira,
|
|
34
38
|
IssuesCloudHostIntegrationId.Linear,
|
|
39
|
+
IssuesCloudHostIntegrationId.Trello,
|
|
35
40
|
];
|
|
36
41
|
export const supportedOrderedCloudIntegrationIds = [
|
|
37
42
|
GitCloudHostIntegrationId.GitHub,
|
|
@@ -44,6 +49,7 @@ export const supportedOrderedCloudIntegrationIds = [
|
|
|
44
49
|
GitSelfManagedHostIntegrationId.BitbucketServer,
|
|
45
50
|
IssuesCloudHostIntegrationId.Jira,
|
|
46
51
|
IssuesCloudHostIntegrationId.Linear,
|
|
52
|
+
IssuesCloudHostIntegrationId.Trello,
|
|
47
53
|
];
|
|
48
54
|
|
|
49
55
|
export const integrationIds = [
|
|
@@ -82,6 +88,14 @@ export interface IntegrationDescriptor {
|
|
|
82
88
|
|
|
83
89
|
/** Stored shape of a configured-integration descriptor in workspace state. */
|
|
84
90
|
export interface StoredConfiguredIntegrationDescriptor {
|
|
91
|
+
/** Stable per-connection identifier. Backfilled from the domain for pre-multi-account stored data. */
|
|
92
|
+
id?: string;
|
|
93
|
+
/** Whether this is the primary/default connection for the provider. */
|
|
94
|
+
primary?: boolean;
|
|
95
|
+
/** The connection's auth type (`oauth`/`pat`), when known. */
|
|
96
|
+
type?: CloudIntegrationAuthType;
|
|
97
|
+
/** Human-readable account handle for this connection (e.g. the GitHub login), when resolved. */
|
|
98
|
+
accountName?: string;
|
|
85
99
|
cloud: boolean;
|
|
86
100
|
integrationId: IntegrationIds;
|
|
87
101
|
domain?: string;
|
|
@@ -166,4 +180,11 @@ export const supportedCloudIntegrationDescriptors: IntegrationDescriptor[] = [
|
|
|
166
180
|
supports: ['issues'],
|
|
167
181
|
requiresPro: true,
|
|
168
182
|
},
|
|
183
|
+
{
|
|
184
|
+
id: IssuesCloudHostIntegrationId.Trello,
|
|
185
|
+
name: 'Trello',
|
|
186
|
+
icon: 'gl-provider-trello',
|
|
187
|
+
supports: ['issues'],
|
|
188
|
+
requiresPro: true,
|
|
189
|
+
},
|
|
169
190
|
];
|
|
@@ -8,9 +8,7 @@ import type { RepositoryMetadata } from '../../git/models/repositoryMetadata.js'
|
|
|
8
8
|
import type { ResourceDescriptor } from '../../git/models/resourceDescriptor.js';
|
|
9
9
|
import type { Event } from '../../utils/event.js';
|
|
10
10
|
import type { CacheController } from '../../utils/promiseCache.js';
|
|
11
|
-
import type { ConfiguredIntegrationService } from './authentication/configuredIntegrationService.js';
|
|
12
11
|
import type { IntegrationAuthenticationProvider } from './authentication/integrationAuthenticationProvider.js';
|
|
13
|
-
import type { IntegrationAuthenticationService } from './authentication/integrationAuthenticationService.js';
|
|
14
12
|
import type { IntegrationIds } from './constants.js';
|
|
15
13
|
import type { GitHostIntegration } from './models/gitHostIntegration.js';
|
|
16
14
|
import type { IntegrationBase } from './models/integration.js';
|
|
@@ -155,7 +153,7 @@ export interface IntegrationCacheProvider {
|
|
|
155
153
|
getCurrentAccount(
|
|
156
154
|
integration: IntegrationBase,
|
|
157
155
|
cacheable: Cacheable<Account>,
|
|
158
|
-
options?: CacheExpiryOptions,
|
|
156
|
+
options?: CacheExpiryOptions & { connectionId?: string; etag?: string },
|
|
159
157
|
): CacheResult<Account>;
|
|
160
158
|
}
|
|
161
159
|
|
|
@@ -240,7 +238,12 @@ export interface AuthenticationSessionsChangeEvent {
|
|
|
240
238
|
*/
|
|
241
239
|
export interface IntegrationsRemoteConfig {
|
|
242
240
|
readonly type: string;
|
|
243
|
-
|
|
241
|
+
/** Exact-match domain (mutually exclusive with `regex`) */
|
|
242
|
+
readonly domain?: string;
|
|
243
|
+
/** Regex pattern for flexible host matching (mutually exclusive with `domain`) */
|
|
244
|
+
readonly regex?: string;
|
|
245
|
+
/** URL protocol override (e.g., `'https'`) */
|
|
246
|
+
readonly protocol?: string;
|
|
244
247
|
readonly ignoreSSLErrors?: boolean | 'force';
|
|
245
248
|
}
|
|
246
249
|
|
|
@@ -320,11 +323,7 @@ export interface IntegrationServiceHooks {
|
|
|
320
323
|
* cloud-OAuth provider. GitLens omits this — the package builds its cloud providers internally; an
|
|
321
324
|
* external consumer can plug in any auth strategy here.
|
|
322
325
|
*/
|
|
323
|
-
createAuthenticationProvider?(args: {
|
|
324
|
-
id: IntegrationIds;
|
|
325
|
-
auth: IntegrationAuthenticationService;
|
|
326
|
-
configured: ConfiguredIntegrationService;
|
|
327
|
-
}): Promise<IntegrationAuthenticationProvider | undefined>;
|
|
326
|
+
createAuthenticationProvider?(args: { id: IntegrationIds }): Promise<IntegrationAuthenticationProvider | undefined>;
|
|
328
327
|
|
|
329
328
|
/**
|
|
330
329
|
* Outbound behavioral events, nested by domain — mirroring `@gitkraken/core-gitlens/git`'s `GitServiceHooks`. The
|