@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
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { providersMetadata } from '../providers/models.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validates a repo-scoped PR filter set, so an unsupported filter never trips the read core's "Unsupported
|
|
4
|
+
* filters" guard. `unsupported: true` when the caller DID request filters and the provider can't express even
|
|
5
|
+
* ONE of them — the exact negation of the read core's `providerSupportsPullRequestFilters` (`every`), so this
|
|
6
|
+
* can only ever pre-empt that guard, never disagree with it.
|
|
7
|
+
*
|
|
8
|
+
* Returns `{ filters }` (possibly undefined when none were requested — an unfiltered read is intended). Genuine
|
|
9
|
+
* "my pull requests" self-scoping is delivered by the account-wide path
|
|
10
|
+
* (`GitHostIntegration.getMyPullRequestsForUserResult`); this only governs the optional repo-scoped narrowing.
|
|
11
|
+
*/
|
|
12
|
+
export function resolvePullRequestFilters(id, filters) {
|
|
13
|
+
if (filters == null || filters.length === 0)
|
|
14
|
+
return { unsupported: false };
|
|
15
|
+
const supported = providersMetadata[id]?.supportedPullRequestFilters;
|
|
16
|
+
if (supported == null || filters.some(f => !supported.includes(f)))
|
|
17
|
+
return { unsupported: true };
|
|
18
|
+
return { filters: filters, unsupported: false };
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Validates an account-wide PR relationship union independently from the repo-scoped capability. Dropping an
|
|
22
|
+
* unsupported member would change the requested OR set, so validation is all-or-nothing.
|
|
23
|
+
*/
|
|
24
|
+
export function resolveAccountWidePullRequestFilters(id, filters) {
|
|
25
|
+
if (filters == null || filters.length === 0)
|
|
26
|
+
return { unsupported: false };
|
|
27
|
+
const supported = providersMetadata[id]?.supportedAccountWidePullRequestFilters;
|
|
28
|
+
if (supported == null || filters.some(f => !supported.includes(f)))
|
|
29
|
+
return { unsupported: true };
|
|
30
|
+
return { filters: [...new Set(filters)], unsupported: false };
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Validates a caller-provided issue filter set against what the provider's ACCOUNT-WIDE issue read can express
|
|
34
|
+
* server-side (`ProviderMetadata.supportedAccountWideIssueFilters`), which is a different — usually narrower —
|
|
35
|
+
* set than the repo-scoped `ProviderMetadata.supportedIssueFilters`.
|
|
36
|
+
*
|
|
37
|
+
* Dropping the unexpressible members would silently widen the read back toward the provider's own union
|
|
38
|
+
* (authored ∪ assigned ∪ mentioned for GitHub), which is the opposite of what a caller narrowing to
|
|
39
|
+
* `[Assignee]` asked for.
|
|
40
|
+
*/
|
|
41
|
+
export function resolveAccountWideIssueFilters(id, filters) {
|
|
42
|
+
if (filters == null || filters.length === 0)
|
|
43
|
+
return { unsupported: false };
|
|
44
|
+
const supported = providersMetadata[id]?.supportedAccountWideIssueFilters;
|
|
45
|
+
if (supported == null || filters.some(f => !supported.includes(f)))
|
|
46
|
+
return { unsupported: true };
|
|
47
|
+
return { filters: filters, unsupported: false };
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The filters `listPullRequestsPage`/`listIssuesPage` (and the sweeps) accept for a provider, so a caller can
|
|
51
|
+
* narrow to what the provider can express BEFORE issuing the read.
|
|
52
|
+
*
|
|
53
|
+
* This matters because the filter contract is all-or-nothing: a set containing even one unsupported filter is
|
|
54
|
+
* refused outright ({@link resolvePullRequestFilters}) rather than silently narrowed, since falling through to
|
|
55
|
+
* an unfiltered fetch would return every PR instead of the user's. Without this accessor a consumer had to
|
|
56
|
+
* hardcode its own copy of the table — reachable only by importing the internal `providers/models.js`
|
|
57
|
+
* subpath — and a copy that drifts turns a supported read into an empty page with `fetchFailed`.
|
|
58
|
+
*
|
|
59
|
+
* Empty means "no filter of that kind is expressible": either the provider has no such surface (issue trackers
|
|
60
|
+
* have no pull requests; Bitbucket exposes no issues) or its metadata declares none. Callers should treat it as
|
|
61
|
+
* "don't pass filters", not as an error. Returns copies, so mutating the result can't corrupt the metadata.
|
|
62
|
+
*
|
|
63
|
+
* `issues` and `issuesAccountWide` are separate because the repo-scoped and account-wide issue reads are
|
|
64
|
+
* different provider queries with different filter surfaces, and the same `filters` input is validated against
|
|
65
|
+
* whichever one the read uses (`repos` present or not). `issuesAccountWide` is generally the narrower of the
|
|
66
|
+
* two: GitLab, for instance, can express `Assignee` and `Author` account-wide, but not `Mention`.
|
|
67
|
+
*
|
|
68
|
+
* That split describes the GIT-HOST reads only. An issue tracker (Jira/Linear/Trello) has neither — its issues
|
|
69
|
+
* live under resource → project — so it reports its filters under `issues`, which is what
|
|
70
|
+
* {@link IntegrationService.listIssueTrackerIssuesPage} validates against, and leaves `issuesAccountWide`
|
|
71
|
+
* empty. Reading a tracker's capability off `issuesAccountWide` therefore under-reports it.
|
|
72
|
+
*
|
|
73
|
+
* Note this is a CAPABILITY table — "what the provider can express" — not a recommendation. A consumer
|
|
74
|
+
* matching another tool's behavior may deliberately pass fewer filters than are listed here (or none, where an
|
|
75
|
+
* already-scoped read would only be narrowed by them). Intersecting against this table is what keeps a
|
|
76
|
+
* filtered read from being refused; it isn't a directive to use every filter in it.
|
|
77
|
+
*/
|
|
78
|
+
export function getSupportedFilters(providerId) {
|
|
79
|
+
const metadata = providersMetadata[providerId];
|
|
80
|
+
return {
|
|
81
|
+
pullRequests: [...(metadata?.supportedPullRequestFilters ?? [])],
|
|
82
|
+
pullRequestsAccountWide: [...(metadata?.supportedAccountWidePullRequestFilters ?? [])],
|
|
83
|
+
issues: [...(metadata?.supportedIssueFilters ?? [])],
|
|
84
|
+
issuesAccountWide: [...(metadata?.supportedAccountWideIssueFilters ?? [])],
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/filters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAoB3D;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CACxC,EAAkB,EAClB,OAAwC;IAExC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAE3E,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,CAAC,EAAE,2BAA2B,CAAC;IACrE,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAEjG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CACnD,EAAkB,EAClB,OAAwC;IAExC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAE3E,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,CAAC,EAAE,sCAAsC,CAAC;IAChF,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAEjG,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,8BAA8B,CAC7C,EAAkB,EAClB,OAAkC;IAElC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAE3E,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,CAAC,EAAE,gCAAgC,CAAC;IAC1E,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAEjG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAA0B;IAM7D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC/C,OAAO;QACN,YAAY,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,2BAA2B,IAAI,EAAE,CAAC,CAAC;QAChE,uBAAuB,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,sCAAsC,IAAI,EAAE,CAAC,CAAC;QACtF,MAAM,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,qBAAqB,IAAI,EAAE,CAAC,CAAC;QACpD,iBAAiB,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,gCAAgC,IAAI,EAAE,CAAC,CAAC;KAC1E,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IntegrationIds } from '../constants.js';
|
|
2
|
+
import type { ListOrgsOptions, ListProjectsOptions } from '../manager.js';
|
|
3
|
+
import type { ProviderOrganization, ProviderPagedResult, ProviderRepositoryShape, ProviderResult } from '../results.js';
|
|
4
|
+
import type { ProviderReadContext } from './context.js';
|
|
5
|
+
export declare function listOrgs(ctx: ProviderReadContext, options?: ListOrgsOptions): Promise<ProviderResult<ProviderOrganization>>;
|
|
6
|
+
export declare function listProjects(ctx: ProviderReadContext, options?: ListProjectsOptions): Promise<ProviderResult<ProviderOrganization>>;
|
|
7
|
+
export declare function listRepos(ctx: ProviderReadContext, options: {
|
|
8
|
+
providerId: IntegrationIds;
|
|
9
|
+
org?: string;
|
|
10
|
+
project?: string;
|
|
11
|
+
page?: number;
|
|
12
|
+
cursor?: string;
|
|
13
|
+
itemsPerPage?: number;
|
|
14
|
+
connectionId?: string;
|
|
15
|
+
domain?: string;
|
|
16
|
+
}): Promise<ProviderPagedResult<ProviderRepositoryShape>>;
|
|
17
|
+
//# sourceMappingURL=hierarchy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/hierarchy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAQtD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG1E,OAAO,KAAK,EACX,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EAEd,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAaxD,wBAAsB,QAAQ,CAC7B,GAAG,EAAE,mBAAmB,EACxB,OAAO,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CA8F/C;AAED,wBAAsB,YAAY,CACjC,GAAG,EAAE,mBAAmB,EACxB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CA8H/C;AAED,wBAAsB,SAAS,CAC9B,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE;IACR,UAAU,EAAE,cAAc,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,GACC,OAAO,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC,CA+LvD"}
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
import { mapBounded } from '../../../utils/promise.js';
|
|
2
|
+
import { mergeAssessmentInto } from '../collectionMetadata.js';
|
|
3
|
+
import { GitCloudHostIntegrationId, GitSelfManagedHostIntegrationId, providerFanOutConcurrency, supportedOrderedCloudIntegrationIds, supportedOrderedCloudIssuesIntegrationIds, } from '../constants.js';
|
|
4
|
+
import { isIssuesIntegration } from '../models/issuesIntegration.js';
|
|
5
|
+
import { toProviderRepositoryShape } from '../providers/models.js';
|
|
6
|
+
import { appendDedupedWarning } from '../results.js';
|
|
7
|
+
import { isGitHostIntegration, isIssuesHostIntegrationId, warnOnMissingSessionForDomain, } from '../utils/integration.utils.js';
|
|
8
|
+
import { runCaptured } from './drains.js';
|
|
9
|
+
import { assertHierarchyReadTarget, mergeHierarchyResults, orgForProject, resourceMatchesOrg, resourceToOrg, withProviderContext, } from './hierarchy.utils.js';
|
|
10
|
+
import { pageToCursor, refusedPage, resolveContinuation, resolveCurrentPage, toProviderPageInfo } from './paging.js';
|
|
11
|
+
import { gitHostOnlySurfaceWarning, otherWarning } from './warnings.js';
|
|
12
|
+
export async function listOrgs(ctx, options) {
|
|
13
|
+
assertHierarchyReadTarget('listOrgs', options);
|
|
14
|
+
const ids = options?.providerId != null ? [options.providerId] : supportedOrderedCloudIntegrationIds;
|
|
15
|
+
const singleProvider = ids.length === 1;
|
|
16
|
+
const connectionId = singleProvider ? options?.connectionId : undefined;
|
|
17
|
+
const requestedDomain = singleProvider ? options?.domain : undefined;
|
|
18
|
+
const results = await mapBounded(ids, providerFanOutConcurrency, async (id) => {
|
|
19
|
+
const integration = await ctx.getIntegrationForRead(id, connectionId, requestedDomain);
|
|
20
|
+
if (integration == null) {
|
|
21
|
+
// A specifically requested connection that can't be resolved is a broken connection, not a
|
|
22
|
+
// provider with no orgs — surface it (warning + fetchFailed) instead of dropping the id
|
|
23
|
+
// silently, so a caller can tell it apart from an account that genuinely has no orgs.
|
|
24
|
+
const early = ctx.earlyReturnConnectionWarnings(id, connectionId, requestedDomain);
|
|
25
|
+
return {
|
|
26
|
+
items: [],
|
|
27
|
+
warnings: early.warnings,
|
|
28
|
+
fetchFailed: early.fetchFailed,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
const items = [];
|
|
32
|
+
const warnings = [];
|
|
33
|
+
let fetchFailed = false;
|
|
34
|
+
const domain = ctx.domainForRead(integration, id, connectionId, requestedDomain);
|
|
35
|
+
const warnOnMissingSession = warnOnMissingSessionForDomain(id, requestedDomain);
|
|
36
|
+
if (isIssuesIntegration(integration)) {
|
|
37
|
+
// Issue trackers expose "resources" (Jira sites, Linear orgs, …) as their org analogue.
|
|
38
|
+
const { value: resources, warning } = await runCaptured(id, domain, connectionId, () => integration.getResourcesForUserResult(connectionId), { warnOnMissingSession: warnOnMissingSession });
|
|
39
|
+
if (resources != null) {
|
|
40
|
+
items.push(...resources.map(r => resourceToOrg(id, r)));
|
|
41
|
+
}
|
|
42
|
+
if (warning != null) {
|
|
43
|
+
warnings.push(warning);
|
|
44
|
+
// A warning with no value is a hard read failure, not an empty account.
|
|
45
|
+
if (resources == null) {
|
|
46
|
+
fetchFailed = true;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else if (!integration.supportsOrganizationDiscovery) {
|
|
51
|
+
// The provider registers no org-discovery hook (e.g. Bitbucket Data Center). Report it as
|
|
52
|
+
// explicitly unsupported rather than contributing a silent empty list that a caller can't
|
|
53
|
+
// tell apart from "this account has no orgs".
|
|
54
|
+
fetchFailed = true;
|
|
55
|
+
warnings.push(otherWarning(id, domain, connectionId, `Organization discovery is not supported by '${id}'.`));
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
const { value, warning } = await runCaptured(id, domain, connectionId, () => integration.getOrganizationsForUserResult(connectionId), { warnOnMissingSession: warnOnMissingSession });
|
|
59
|
+
if (value != null) {
|
|
60
|
+
items.push(...value.values.map(org => withProviderContext(id, org)));
|
|
61
|
+
if (value.truncated) {
|
|
62
|
+
warnings.push(otherWarning(id, domain, connectionId, 'Organization listing was truncated before the upstream results were exhausted.'));
|
|
63
|
+
// `ProviderResult` has no page object on which to carry truncation. Mark the flat
|
|
64
|
+
// hierarchy result incomplete so consumers don't treat omitted orgs as authoritative.
|
|
65
|
+
fetchFailed = true;
|
|
66
|
+
}
|
|
67
|
+
const assessment = mergeAssessmentInto(warnings, id, domain, connectionId, value.metadata);
|
|
68
|
+
if (assessment.fetchFailed || assessment.truncated) {
|
|
69
|
+
fetchFailed = true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (warning != null) {
|
|
73
|
+
warnings.push(warning);
|
|
74
|
+
if (value == null) {
|
|
75
|
+
fetchFailed = true;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return { items: items, warnings: warnings, fetchFailed: fetchFailed };
|
|
80
|
+
});
|
|
81
|
+
return mergeHierarchyResults(results);
|
|
82
|
+
}
|
|
83
|
+
export async function listProjects(ctx, options) {
|
|
84
|
+
assertHierarchyReadTarget('listProjects', options);
|
|
85
|
+
const ids = options?.providerId != null
|
|
86
|
+
? [options.providerId]
|
|
87
|
+
: [
|
|
88
|
+
...supportedOrderedCloudIssuesIntegrationIds,
|
|
89
|
+
GitCloudHostIntegrationId.AzureDevOps,
|
|
90
|
+
GitSelfManagedHostIntegrationId.AzureDevOpsServer,
|
|
91
|
+
];
|
|
92
|
+
const singleProvider = ids.length === 1;
|
|
93
|
+
const connectionId = singleProvider ? options?.connectionId : undefined;
|
|
94
|
+
const requestedDomain = singleProvider ? options?.domain : undefined;
|
|
95
|
+
const results = await mapBounded(ids, providerFanOutConcurrency, async (id) => {
|
|
96
|
+
const integration = await ctx.getIntegrationForRead(id, connectionId, requestedDomain);
|
|
97
|
+
if (integration == null) {
|
|
98
|
+
// A requested connection that can't be resolved is a broken connection, not a provider with
|
|
99
|
+
// no projects — surface it (warning + fetchFailed) instead of dropping the id silently.
|
|
100
|
+
const early = ctx.earlyReturnConnectionWarnings(id, connectionId, requestedDomain);
|
|
101
|
+
return {
|
|
102
|
+
items: [],
|
|
103
|
+
warnings: early.warnings,
|
|
104
|
+
fetchFailed: early.fetchFailed,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
const items = [];
|
|
108
|
+
const warnings = [];
|
|
109
|
+
let fetchFailed = false;
|
|
110
|
+
const domain = ctx.domainForRead(integration, id, connectionId, requestedDomain);
|
|
111
|
+
const org = options?.org;
|
|
112
|
+
const warnOnMissingSession = warnOnMissingSessionForDomain(id, requestedDomain);
|
|
113
|
+
// Git hosts with a project tier (Azure DevOps) read projects through their own hierarchy hook,
|
|
114
|
+
// scoped to `org` when given. Non-Azure git hosts have no project tier and return undefined.
|
|
115
|
+
if (!isIssuesIntegration(integration)) {
|
|
116
|
+
// Check the capability first, like listOrgs/listRepos/listIssuesPage do. Without it, a host
|
|
117
|
+
// with no project tier returns `undefined` from a successful read, which `runCaptured` can't
|
|
118
|
+
// tell apart from an unresolvable session — turning a healthy provider into a `no-connection`
|
|
119
|
+
// warning + `fetchFailed` (and, in Kepler, a spurious reconnect prompt).
|
|
120
|
+
if (!integration.supportsProjectDiscovery) {
|
|
121
|
+
return { items: items, warnings: warnings, fetchFailed: false };
|
|
122
|
+
}
|
|
123
|
+
const { value: projects, warning } = await runCaptured(id, domain, connectionId, () => integration.getProjectsForOrgResult(org, connectionId), { warnOnMissingSession: warnOnMissingSession });
|
|
124
|
+
if (warning != null) {
|
|
125
|
+
warnings.push(warning);
|
|
126
|
+
if (projects == null) {
|
|
127
|
+
fetchFailed = true;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (projects != null) {
|
|
131
|
+
items.push(...projects.values.map(project => withProviderContext(id, project)));
|
|
132
|
+
if (projects.truncated) {
|
|
133
|
+
warnings.push(otherWarning(id, domain, connectionId, 'Project listing was truncated before the upstream results were exhausted.'));
|
|
134
|
+
// Unlike paged repository reads, this flattened hierarchy result has no continuation
|
|
135
|
+
// or page metadata. `fetchFailed` is its structural non-authoritative signal.
|
|
136
|
+
fetchFailed = true;
|
|
137
|
+
}
|
|
138
|
+
const assessment = mergeAssessmentInto(warnings, id, domain, connectionId, projects.metadata);
|
|
139
|
+
if (assessment.fetchFailed || assessment.truncated) {
|
|
140
|
+
fetchFailed = true;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return { items: items, warnings: warnings, fetchFailed: fetchFailed };
|
|
144
|
+
}
|
|
145
|
+
const { value: resources, warning: resourcesWarning } = await runCaptured(id, domain, connectionId, () => integration.getResourcesForUserResult(connectionId), { warnOnMissingSession: warnOnMissingSession });
|
|
146
|
+
if (resourcesWarning != null) {
|
|
147
|
+
warnings.push(resourcesWarning);
|
|
148
|
+
if (resources == null) {
|
|
149
|
+
fetchFailed = true;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const scopedResources = org != null ? resources?.filter(resource => resourceMatchesOrg(resource, org)) : resources;
|
|
153
|
+
if (scopedResources != null && scopedResources.length !== 0) {
|
|
154
|
+
const { value: projects, warning: projectsWarning } = await runCaptured(id, domain, connectionId, () => integration.getProjectsForResourcesWithMetadataResult(scopedResources, connectionId));
|
|
155
|
+
if (projectsWarning != null) {
|
|
156
|
+
warnings.push(projectsWarning);
|
|
157
|
+
if (projects == null) {
|
|
158
|
+
fetchFailed = true;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (projects != null) {
|
|
162
|
+
items.push(...projects.values.map(project => resourceToOrg(id, project, orgForProject(id, project, scopedResources))));
|
|
163
|
+
}
|
|
164
|
+
const assessment = mergeAssessmentInto(warnings, id, domain, connectionId, projects?.metadata);
|
|
165
|
+
if (assessment.fetchFailed || assessment.truncated) {
|
|
166
|
+
fetchFailed = true;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return { items: items, warnings: warnings, fetchFailed: fetchFailed };
|
|
170
|
+
});
|
|
171
|
+
return mergeHierarchyResults(results);
|
|
172
|
+
}
|
|
173
|
+
export async function listRepos(ctx, options) {
|
|
174
|
+
const page = Math.max(1, options.page ?? 1);
|
|
175
|
+
if (isIssuesHostIntegrationId(options.providerId)) {
|
|
176
|
+
return refusedPage(page, [gitHostOnlySurfaceWarning(options.providerId, undefined, options.connectionId, 'repository discovery')], true);
|
|
177
|
+
}
|
|
178
|
+
const integration = await ctx.getIntegrationForRead(options.providerId, options.connectionId, options.domain);
|
|
179
|
+
if (integration == null) {
|
|
180
|
+
// A supplied connection or domain that no longer resolves is a broken target, not an empty account —
|
|
181
|
+
// surface a no-connection warning + fetchFailed rather than a silent empty page.
|
|
182
|
+
const early = ctx.earlyReturnConnectionWarnings(options.providerId, options.connectionId, options.domain);
|
|
183
|
+
return refusedPage(page, early.warnings, early.fetchFailed);
|
|
184
|
+
}
|
|
185
|
+
if (!isGitHostIntegration(integration)) {
|
|
186
|
+
return refusedPage(page, [gitHostOnlySurfaceWarning(options.providerId, undefined, options.connectionId, 'repository discovery')], true);
|
|
187
|
+
}
|
|
188
|
+
const domain = ctx.domainForRead(integration, options.providerId, options.connectionId, options.domain);
|
|
189
|
+
const accountWide = options.org == null;
|
|
190
|
+
const supported = accountWide
|
|
191
|
+
? integration.supportsUserRepositoryDiscovery
|
|
192
|
+
: integration.supportsRepositoryDiscovery;
|
|
193
|
+
if (!supported) {
|
|
194
|
+
// No matching repo-discovery hook — org-scoped (e.g. Bitbucket Data Center) or account-wide (e.g.
|
|
195
|
+
// Bitbucket/Azure, whose repos can only be walked per workspace/org). Report unsupported rather than
|
|
196
|
+
// a silent empty page indistinguishable from "no repos"; for the account-wide case the caller should
|
|
197
|
+
// fan out per org from listOrgs instead.
|
|
198
|
+
return refusedPage(page, [
|
|
199
|
+
otherWarning(options.providerId, domain, options.connectionId, accountWide
|
|
200
|
+
? `Account-wide repository discovery is not supported by '${options.providerId}'; list repositories per org instead.`
|
|
201
|
+
: `Repository discovery is not supported by '${options.providerId}'.`),
|
|
202
|
+
], true);
|
|
203
|
+
}
|
|
204
|
+
const org = options.org;
|
|
205
|
+
const warnOnMissingSession = warnOnMissingSessionForDomain(options.providerId, options.domain);
|
|
206
|
+
const readPage = (cursor) => runCaptured(options.providerId, domain, options.connectionId, () => org == null
|
|
207
|
+
? integration.getRepositoriesForUserResult({ cursor: cursor, connectionId: options.connectionId })
|
|
208
|
+
: integration.getRepositoriesForOrgResult(org, {
|
|
209
|
+
project: options.project,
|
|
210
|
+
cursor: cursor,
|
|
211
|
+
connectionId: options.connectionId,
|
|
212
|
+
}), { warnOnMissingSession: warnOnMissingSession });
|
|
213
|
+
/**
|
|
214
|
+
* Builds one page's result from what the provider returned. Shared by the initial read and by every round of
|
|
215
|
+
* the cursor walk below, so a walked page N is described by exactly the same rules as a directly-requested one
|
|
216
|
+
* (position, continuation, truncation) rather than by a second copy of them.
|
|
217
|
+
*/
|
|
218
|
+
const toResult = ({ value, warning }, requestedPage, suppliedCursor) => {
|
|
219
|
+
const items = value?.values ?? [];
|
|
220
|
+
const warnings = warning != null ? [warning] : [];
|
|
221
|
+
// The repos read core is cursor-only and can't accept a page size, so don't echo the requested
|
|
222
|
+
// `itemsPerPage` as if it were applied — report what the provider returned (its own pageSize when
|
|
223
|
+
// available, else the actual item count).
|
|
224
|
+
const paged = toProviderPageInfo(items.length, value?.paging);
|
|
225
|
+
// Convert the SDK collection metadata into scope-aware warnings + failure/truncation flags, appending
|
|
226
|
+
// them to any captured thrown-error warning without discarding the partial result's items.
|
|
227
|
+
const assessment = mergeAssessmentInto(warnings, options.providerId, domain, options.connectionId, value?.metadata);
|
|
228
|
+
// Whether this read honors a page NUMBER, decided from what the provider actually reported rather than
|
|
229
|
+
// guessed from the absence of a cursor. A numbered-page repos host reports its position (`paging.page`)
|
|
230
|
+
// and/or its successor (`paging.nextPage`) — Bitbucket's workspace walk consumes `page` as a real 1-based
|
|
231
|
+
// page and reports `nextPage` without echoing `currentPage`, so both signals have to count. Every wired
|
|
232
|
+
// cursor-based repos read (GitHub's org/user walks, GitLab's user walk, Bitbucket's cursor read) reports
|
|
233
|
+
// neither. Keying off `paged.cursor == null` instead read the paging layer's "reported another page,
|
|
234
|
+
// handed back no continuation" sentinel as evidence of a numbered host, which is exactly backwards.
|
|
235
|
+
const pageAdvanceable = value?.paging?.page != null || value?.paging?.nextPage != null;
|
|
236
|
+
// Numbered-page hosts that don't echo `currentPage` may still be advanced by the requested `page` (initial
|
|
237
|
+
// read) or by the cursor the caller threaded back. A cursor-only host ignores an UNTHREADED `page`
|
|
238
|
+
// request, so its page-less first page is page 1.
|
|
239
|
+
const currentPage = resolveCurrentPage({
|
|
240
|
+
providerPage: paged.page.currentPage,
|
|
241
|
+
requestedPage: requestedPage,
|
|
242
|
+
suppliedCursor: suppliedCursor,
|
|
243
|
+
pageAdvanceable: pageAdvanceable,
|
|
244
|
+
});
|
|
245
|
+
// Never advertise `hasMore` without a continuation the caller can act on — the same contract
|
|
246
|
+
// `listPullRequestsPage`, `listIssuesPage` and `broadenIssues` hold, via the same helper. A provider that
|
|
247
|
+
// reports another page but hands back neither `endCursor` nor `nextPage` (surfaced as the `'{}'` sentinel,
|
|
248
|
+
// which `toProviderPageInfo` drops) is terminal-but-incomplete: `hasMore: false` + `page.truncated`.
|
|
249
|
+
// Synthesizing a page-number cursor for a cursor-only host instead — which is what this read used to do
|
|
250
|
+
// unconditionally — handed back a continuation the provider ignores, so it answered with its FIRST page
|
|
251
|
+
// again while still reporting `hasMore: true`. A consumer draining until `hasMore` clears (Kepler's repo
|
|
252
|
+
// drain does exactly that) then looped to its own page cap, accumulating a duplicate copy of every repo
|
|
253
|
+
// per round, and never saw a truncation signal.
|
|
254
|
+
const continuation = resolveContinuation(paged, pageAdvanceable ? currentPage + 1 : undefined);
|
|
255
|
+
// The org-hierarchy read can also stop at a defensive backstop with more repos unlisted and no cursor to
|
|
256
|
+
// resume (top-level `truncated`, or `paging.truncated` on a single-page read). Metadata incompleteness and
|
|
257
|
+
// a demoted continuation are two further, independent sources of the same signal.
|
|
258
|
+
const truncated = (value?.truncated ?? false) ||
|
|
259
|
+
(value?.paging?.truncated ?? false) ||
|
|
260
|
+
assessment.truncated ||
|
|
261
|
+
continuation.truncated;
|
|
262
|
+
return {
|
|
263
|
+
// Normalize the raw provider-apis repos to the GitLens-owned shape at the surface boundary.
|
|
264
|
+
items: items.map(toProviderRepositoryShape),
|
|
265
|
+
warnings: warnings,
|
|
266
|
+
page: { ...paged.page, currentPage: currentPage, truncated: truncated || undefined },
|
|
267
|
+
hasMore: continuation.hasMore,
|
|
268
|
+
cursor: continuation.cursor,
|
|
269
|
+
fetchFailed: assessment.fetchFailed || (warning != null && value == null) || undefined,
|
|
270
|
+
};
|
|
271
|
+
};
|
|
272
|
+
const first = await readPage(options.cursor ?? pageToCursor(page));
|
|
273
|
+
const result = toResult(first, page, options.cursor);
|
|
274
|
+
// A numbered-page host honored the synthesized cursor, so this IS page N; a cursor-only host ignored it and
|
|
275
|
+
// answered with page 1, which the walk below advances. Decided from the provider's own paging metadata rather
|
|
276
|
+
// than assumed, hence after the read.
|
|
277
|
+
const pageAdvanceable = first.value?.paging?.page != null || first.value?.paging?.nextPage != null;
|
|
278
|
+
if (options.cursor != null || page === 1 || pageAdvanceable)
|
|
279
|
+
return result;
|
|
280
|
+
// Walk the provider's real continuations to the requested page. Only the last page's items are kept — pages
|
|
281
|
+
// 1..N returned as "page N" would duplicate items for a normal paged consumer — while warnings, truncation,
|
|
282
|
+
// and failure accumulate across the whole walked prefix, since an earlier round's problem still means this
|
|
283
|
+
// result isn't authoritative. The provider read is re-issued per round, but the integration is resolved once:
|
|
284
|
+
// re-entering this function per page would repeat its auth resolution N times for page N.
|
|
285
|
+
const walkedWarnings = [...result.warnings];
|
|
286
|
+
let walkedFetchFailed = result.fetchFailed === true;
|
|
287
|
+
let walkedTruncated = result.page.truncated === true;
|
|
288
|
+
let previous = result;
|
|
289
|
+
for (let currentPage = 2; currentPage <= page; currentPage++) {
|
|
290
|
+
if (!previous.hasMore || previous.cursor == null) {
|
|
291
|
+
// The requested page lies past the provider's terminal cursor: an EMPTY page N, never the last
|
|
292
|
+
// available page relabeled (see ProviderPageInfo.currentPage).
|
|
293
|
+
return {
|
|
294
|
+
items: [],
|
|
295
|
+
warnings: walkedWarnings,
|
|
296
|
+
page: { currentPage: page, itemsPerPage: 0, truncated: walkedTruncated || undefined },
|
|
297
|
+
hasMore: false,
|
|
298
|
+
fetchFailed: walkedFetchFailed || undefined,
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
const suppliedCursor = previous.cursor;
|
|
302
|
+
const requested = toResult(await readPage(suppliedCursor), currentPage, suppliedCursor);
|
|
303
|
+
for (const warning of requested.warnings) {
|
|
304
|
+
appendDedupedWarning(walkedWarnings, warning);
|
|
305
|
+
}
|
|
306
|
+
walkedFetchFailed ||= requested.fetchFailed === true;
|
|
307
|
+
walkedTruncated ||= requested.page.truncated === true;
|
|
308
|
+
if (currentPage === page) {
|
|
309
|
+
return {
|
|
310
|
+
...requested,
|
|
311
|
+
warnings: walkedWarnings,
|
|
312
|
+
page: { ...requested.page, truncated: walkedTruncated || undefined },
|
|
313
|
+
fetchFailed: walkedFetchFailed || undefined,
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
previous = requested;
|
|
317
|
+
}
|
|
318
|
+
return result;
|
|
319
|
+
}
|
|
320
|
+
//# sourceMappingURL=hierarchy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/hierarchy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { ResourceDescriptor } from '../../../git/models/resourceDescriptor.js';
|
|
2
|
+
import type { IntegrationIds } from '../constants.js';
|
|
3
|
+
import type { ProviderOrganization, ProviderResult, ProviderWarning } from '../results.js';
|
|
4
|
+
/**
|
|
5
|
+
* Mapping of a provider's own hierarchy vocabulary onto the single {@link ProviderOrganization} shape the facade
|
|
6
|
+
* publishes.
|
|
7
|
+
*
|
|
8
|
+
* Providers disagree about what sits above a repo or an issue: git hosts have orgs (and Azure DevOps a project
|
|
9
|
+
* tier below that), while issue trackers have "resources" (Jira sites, Linear orgs, Trello workspaces) with
|
|
10
|
+
* projects beneath them. `listOrgs`/`listProjects` unify all of it, so these helpers exist to keep the
|
|
11
|
+
* per-provider shape-guessing — which field is the id, which is the display label, which resource is a
|
|
12
|
+
* project's parent — in one place instead of inline in those reads.
|
|
13
|
+
*
|
|
14
|
+
* Everything here reads through the base {@link ResourceDescriptor} (which only guarantees `key`) and casts to
|
|
15
|
+
* the concrete {@link IssueResourceDescriptor} for the optional `id`/`name`. That cast is why the fallbacks are
|
|
16
|
+
* spelled out rather than assumed.
|
|
17
|
+
*/
|
|
18
|
+
/** The label to show for a resource: its name, else its id, else the key that is always present. */
|
|
19
|
+
export declare function resourceLabel(resource: ResourceDescriptor): string;
|
|
20
|
+
/** Whether `org` addresses this resource by any of the identifiers a caller could reasonably have. */
|
|
21
|
+
export declare function resourceMatchesOrg(resource: ResourceDescriptor, org: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* The id of the RESOURCE a project belongs to, used to look up which account (and therefore which user) that
|
|
24
|
+
* project's issues should be scoped to. Falls back through the project's own identifiers because some providers
|
|
25
|
+
* (and test doubles) return project descriptors without naming their parent.
|
|
26
|
+
*/
|
|
27
|
+
export declare function resourceIdForProject(project: ResourceDescriptor): string | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* A stable identity for one project across facade pages, for the retry/completed bookkeeping an issue-tracker
|
|
30
|
+
* cursor carries. All three identifiers are included rather than one preferred value: two trackers can reuse the
|
|
31
|
+
* same project id, so keying on a single field would collapse them into one entry.
|
|
32
|
+
*/
|
|
33
|
+
export declare function projectKey(project: ResourceDescriptor): string;
|
|
34
|
+
/**
|
|
35
|
+
* Maps an issue-tracker resource descriptor to the unified {@link ProviderOrganization} org shape. `url` is
|
|
36
|
+
* synthesized when the descriptor carries none, rather than widening the shared `ProviderOrganization.url` to
|
|
37
|
+
* optional for the one provider family that may omit it.
|
|
38
|
+
*/
|
|
39
|
+
export declare function resourceToOrg(providerId: IntegrationIds, resource: ResourceDescriptor, org?: string): ProviderOrganization;
|
|
40
|
+
/**
|
|
41
|
+
* The resource a project belongs under, as a display label — the `org` of the project's unified org shape.
|
|
42
|
+
*
|
|
43
|
+
* A project doesn't reliably name its parent, so try each identifier it does carry against the resources that
|
|
44
|
+
* were read alongside it. When none matches but only ONE resource was in scope, that resource is the parent by
|
|
45
|
+
* construction. Trello is excluded: its boards have no enclosing resource to name.
|
|
46
|
+
*/
|
|
47
|
+
export declare function orgForProject(providerId: IntegrationIds, project: ResourceDescriptor, resources: ResourceDescriptor[]): string | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Stamps the provider onto an org the provider's own client produced. A git host's client fills the rest of the
|
|
50
|
+
* shape but doesn't know which integration id it was reached through — and on a self-managed host the same
|
|
51
|
+
* client serves several — so the fan-out attributes it here.
|
|
52
|
+
*/
|
|
53
|
+
export declare function withProviderContext(providerId: IntegrationIds, item: ProviderOrganization): ProviderOrganization;
|
|
54
|
+
/**
|
|
55
|
+
* Merges the per-provider slices of a hierarchy fan-out into one flat result.
|
|
56
|
+
*
|
|
57
|
+
* `ProviderResult` has no page object, so `fetchFailed` is its only non-authoritative signal — any slice that
|
|
58
|
+
* failed or came back incomplete has to set it, or a caller would treat a short list as the whole account.
|
|
59
|
+
* Warnings are deduped because the same account can surface under two ids in one fan-out.
|
|
60
|
+
*/
|
|
61
|
+
export declare function mergeHierarchyResults<T>(results: readonly ({
|
|
62
|
+
items: T[];
|
|
63
|
+
warnings: ProviderWarning[];
|
|
64
|
+
fetchFailed: boolean;
|
|
65
|
+
} | undefined)[]): ProviderResult<T>;
|
|
66
|
+
/**
|
|
67
|
+
* Rejects a hierarchy read whose scoped selectors have no provider to apply to. `connectionId` and `domain`
|
|
68
|
+
* both select among the connections OF a provider, so either one without `providerId` is ambiguous rather than
|
|
69
|
+
* merely redundant — the fan-out would have to guess which provider the caller meant, and silently picking one
|
|
70
|
+
* would read that connection's data under another provider's name.
|
|
71
|
+
*/
|
|
72
|
+
export declare function assertHierarchyReadTarget(method: 'listOrgs' | 'listProjects', options: {
|
|
73
|
+
providerId?: IntegrationIds;
|
|
74
|
+
connectionId?: string;
|
|
75
|
+
domain?: string;
|
|
76
|
+
} | undefined): void;
|
|
77
|
+
//# sourceMappingURL=hierarchy.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchy.utils.d.ts","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/hierarchy.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE7G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAG3F;;;;;;;;;;;;;GAaG;AAEH,oGAAoG;AACpG,wBAAgB,aAAa,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAGlE;AAED,sGAAsG;AACtG,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAGrF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAGpF;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAG9D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,CAAC,EAAE,MAAM,GACV,oBAAoB,CAStB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC5B,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,kBAAkB,EAAE,GAC7B,MAAM,GAAG,SAAS,CAcpB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,GAAG,oBAAoB,CAMhH;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACtC,OAAO,EAAE,SAAS,CAAC;IAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC,EAAE,GACjG,cAAc,CAAC,CAAC,CAAC,CAiBnB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,UAAU,GAAG,cAAc,EACnC,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,cAAc,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAC1F,IAAI,CAIN"}
|