@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
package/src/git/errors.ts
CHANGED
|
@@ -1,6 +1,37 @@
|
|
|
1
1
|
import { pluralize } from '../utils/string.js';
|
|
2
2
|
import type { GitPausedOperationStatus } from './models/pausedOperationStatus.js';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* stderr patterns git emits that are EXPECTED rather than exceptional — an empty repo, a path that doesn't
|
|
6
|
+
* exist at a revision, a branch with no upstream. The exec layer matches these to decide a command "warned"
|
|
7
|
+
* rather than failed.
|
|
8
|
+
*
|
|
9
|
+
* Matching one does NOT mean the empty output is a valid answer: `noCommits` on a fresh repo genuinely means
|
|
10
|
+
* "no commits", while `notARepository` means the read never happened. Callers must branch on which key
|
|
11
|
+
* matched — see `GitRunCompletion`. Pure patterns with no environment dependency, so this lives here rather
|
|
12
|
+
* than in the CLI provider, where the shared run contract couldn't reference it.
|
|
13
|
+
*/
|
|
14
|
+
export const GitWarnings = {
|
|
15
|
+
notARepository: /Not a git repository/i,
|
|
16
|
+
outsideRepository: /is outside repository/i,
|
|
17
|
+
noPath: /no such path/i,
|
|
18
|
+
noCommits: /does not have any commits/i,
|
|
19
|
+
notFound: /Path '.*?' does not exist in/i,
|
|
20
|
+
foundButNotInRevision: /Path '.*?' exists on disk, but not in/i,
|
|
21
|
+
headNotABranch: /HEAD does not point to a branch/i,
|
|
22
|
+
noUpstream: /no upstream configured for branch '(.*?)'/i,
|
|
23
|
+
unknownRevision:
|
|
24
|
+
/ambiguous argument '.*?': unknown revision or path not in the working tree|not stored as a remote-tracking branch/i,
|
|
25
|
+
mustRunInWorkTree: /this operation must be run in a work tree/i,
|
|
26
|
+
patchWithConflicts: /Applied patch to '.*?' with conflicts/i,
|
|
27
|
+
noRemoteRepositorySpecified: /No remote repository specified\./i,
|
|
28
|
+
remoteConnectionError: /Could not read from remote repository/i,
|
|
29
|
+
notAGitCommand: /'.+' is not a git command/i,
|
|
30
|
+
tipBehind: /tip of your current branch is behind/i,
|
|
31
|
+
} as const;
|
|
32
|
+
|
|
33
|
+
export type GitWarningKey = keyof typeof GitWarnings;
|
|
34
|
+
|
|
4
35
|
export interface GitCommandContext {
|
|
5
36
|
readonly repoPath: string;
|
|
6
37
|
readonly args: readonly (string | undefined)[];
|
|
@@ -925,9 +956,11 @@ export class WorktreeCreateError extends GitCommandError<WorktreeCreateErrorDeta
|
|
|
925
956
|
}
|
|
926
957
|
}
|
|
927
958
|
|
|
928
|
-
export type WorktreeDeleteErrorReason = 'defaultWorkingTree' | 'directoryNotEmpty' | 'uncommittedChanges';
|
|
959
|
+
export type WorktreeDeleteErrorReason = 'defaultWorkingTree' | 'directoryNotEmpty' | 'locked' | 'uncommittedChanges';
|
|
929
960
|
interface WorktreeDeleteErrorDetails {
|
|
930
961
|
reason?: WorktreeDeleteErrorReason;
|
|
962
|
+
/** The reason the worktree was locked, when known and provided by the locker */
|
|
963
|
+
lockReason?: string;
|
|
931
964
|
gitCommand?: GitCommandContext;
|
|
932
965
|
}
|
|
933
966
|
|
|
@@ -951,6 +984,8 @@ export class WorktreeDeleteError extends GitCommandError<WorktreeDeleteErrorDeta
|
|
|
951
984
|
return 'Cannot delete worktree because it is the default working tree';
|
|
952
985
|
case 'directoryNotEmpty':
|
|
953
986
|
return 'Unable to delete worktree because the directory is not empty';
|
|
987
|
+
case 'locked':
|
|
988
|
+
return 'Unable to delete worktree because it is locked';
|
|
954
989
|
case 'uncommittedChanges':
|
|
955
990
|
return 'Unable to delete worktree because there are uncommitted changes';
|
|
956
991
|
default:
|
package/src/git/models/commit.ts
CHANGED
|
@@ -479,7 +479,7 @@ export class GitCommit implements GitRevisionReference {
|
|
|
479
479
|
}
|
|
480
480
|
|
|
481
481
|
protected getChangedValue<T>(change: T | null | undefined, original: T | undefined): T | undefined {
|
|
482
|
-
return change === undefined ? original : change
|
|
482
|
+
return change === undefined ? original : (change ?? undefined);
|
|
483
483
|
}
|
|
484
484
|
|
|
485
485
|
@memoize({ resolver: (...args) => `${args[0]}|${args[1]}` })
|
package/src/git/models/graph.ts
CHANGED
|
@@ -28,6 +28,8 @@ export interface GitGraphRowHead {
|
|
|
28
28
|
* Producers MUST set this whenever they set `worktree`; do not read it from GitLens code,
|
|
29
29
|
* read `worktree.id` instead. */
|
|
30
30
|
worktreeId?: string;
|
|
31
|
+
/** True when this head is the repository's default branch. */
|
|
32
|
+
isDefault?: boolean;
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
export interface GitGraphRowRemoteHead {
|
|
@@ -38,6 +40,9 @@ export interface GitGraphRowRemoteHead {
|
|
|
38
40
|
avatarUrl?: string;
|
|
39
41
|
context?: string | object;
|
|
40
42
|
current?: boolean;
|
|
43
|
+
/** True when this remote ref IS the repository's default branch and no local branch tracks it (no
|
|
44
|
+
* local checkout) — so the default-branch tier still applies for remote-only defaults. */
|
|
45
|
+
isDefault?: boolean;
|
|
41
46
|
hostingServiceType?: GkProviderId;
|
|
42
47
|
}
|
|
43
48
|
|
|
@@ -61,6 +66,9 @@ export interface GitGraphRowTag {
|
|
|
61
66
|
* the first merge commit, so a plain (non-`--rebase-merges`) interactive rebase can safely rewrite it;
|
|
62
67
|
* gates squash/drop/reword/modify. Strictly narrower than `+current` (reachable-from-HEAD includes a
|
|
63
68
|
* merge's other-parent ancestry, which is NOT safely rewriteable).
|
|
69
|
+
* Bit 5: unpulled/behind-the-upstream — the exact mirror of bit 3: on HEAD's upstream tip but NOT on HEAD
|
|
70
|
+
* (i.e. `HEAD..@{u}`). Drives the graph's read-only unpulled indicator; it has no `webviewItem` segment
|
|
71
|
+
* (no command gates on it). Mutually exclusive with `Unpublished` by construction.
|
|
64
72
|
* (`+HEAD` derives from `row.heads[].isCurrentHead`; contributor `+current` from `row.isCurrentUser`.)
|
|
65
73
|
*/
|
|
66
74
|
export const enum GitGraphRowContextFlags {
|
|
@@ -70,6 +78,7 @@ export const enum GitGraphRowContextFlags {
|
|
|
70
78
|
HasChildren = 1 << 2,
|
|
71
79
|
Unpublished = 1 << 3,
|
|
72
80
|
RewriteableFromHead = 1 << 4,
|
|
81
|
+
Unpulled = 1 << 5,
|
|
73
82
|
}
|
|
74
83
|
|
|
75
84
|
/**
|
|
@@ -167,6 +176,36 @@ export interface GitGraph {
|
|
|
167
176
|
/** SHAs reachable from HEAD (for enrichment: marking commits on the current branch) */
|
|
168
177
|
readonly reachableFromHEAD?: ReadonlySet<string>;
|
|
169
178
|
|
|
179
|
+
/**
|
|
180
|
+
* Ref tips as of this walk: canonical refname (`refs/heads/…`, `refs/remotes/…`, `refs/tags/…`) →
|
|
181
|
+
* PEELED tip sha (annotated tags map to the commit their badge sits on). Captured so the host can seed
|
|
182
|
+
* the NEXT rebuild's {@link GraphIncrementalSeed.tips} — the map the R6b fast path diffs against to find
|
|
183
|
+
* the structural changes that force a full fallback. The CLI provider populates it on both paths (full
|
|
184
|
+
* walk + fast path); the GitHub provider leaves it undefined.
|
|
185
|
+
*/
|
|
186
|
+
readonly refTips?: ReadonlyMap<string, string>;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Fingerprint of every SIDE INPUT row construction embeds into row decorations as of this walk —
|
|
190
|
+
* default branch, per-branch upstreams, HEAD's upstream, remote urls/providers, worktree assignments,
|
|
191
|
+
* and the current user. These can all change WITHOUT moving any ref tip (`git remote set-head`,
|
|
192
|
+
* `branch --set-upstream-to`, `worktree add`, remote/user config edits), and the R6b fast path reuses
|
|
193
|
+
* prior rows wholesale (only flags/reachability are re-derived) — so it must compare this against the
|
|
194
|
+
* seed's and fall back to a full walk on ANY change. The CLI provider populates it on both paths; the
|
|
195
|
+
* GitHub provider leaves it undefined.
|
|
196
|
+
*/
|
|
197
|
+
readonly decorationFingerprint?: string;
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Whether the repo was a SHALLOW clone (a `$GIT_DIR/shallow` file was present) as of this walk. Captured
|
|
201
|
+
* so the host can seed the NEXT rebuild's {@link GraphIncrementalSeed.shallow}: an un-shallow (or
|
|
202
|
+
* re-shallow) while the graph is closed passes every ref-tip gate — the branch tips don't move — yet
|
|
203
|
+
* changes what history exists BELOW the loaded window, so a stale-false `hasMore` would hide the newly
|
|
204
|
+
* deepened commits. The R6b fast path falls back on any change. The CLI provider populates it on both
|
|
205
|
+
* paths (full walk + fast path); the GitHub provider leaves it undefined.
|
|
206
|
+
*/
|
|
207
|
+
readonly shallow?: boolean;
|
|
208
|
+
|
|
170
209
|
/**
|
|
171
210
|
* SHAs on the first-parent chain from HEAD up to (excluding) the first merge commit — i.e. the
|
|
172
211
|
* commits a plain interactive rebase can safely rewrite. Empty when HEAD itself is a merge. Used by
|
|
@@ -238,6 +277,114 @@ export interface GitGraph {
|
|
|
238
277
|
|
|
239
278
|
export type GitGraphRowsStats = Map<string, GitGraphRowStats>;
|
|
240
279
|
|
|
280
|
+
/**
|
|
281
|
+
* Seed for the R6b incremental head-walk fast path. Carries the prior generation's walk artifacts so a
|
|
282
|
+
* repo-change rebuild can walk ONLY the changed head region, stitch the cached tail, and re-derive
|
|
283
|
+
* flags/reachability in memory — instead of re-walking every loaded row.
|
|
284
|
+
*
|
|
285
|
+
* R6a status: the Node provider ACCEPTS this option but IGNORES it, falling through to the full ordered
|
|
286
|
+
* walk (so a seeded rebuild is byte-equivalent to an unseeded one). It is threaded now purely so the
|
|
287
|
+
* equivalence harness can pin the shape and R6b can light up the fast path without an interface change.
|
|
288
|
+
* The GitHub provider ignores it structurally (it never lists the option).
|
|
289
|
+
*/
|
|
290
|
+
export interface GraphIncrementalSeed {
|
|
291
|
+
/**
|
|
292
|
+
* Prior generation's emitted rows, in walk order. R6b stitches the unchanged tail from these once the
|
|
293
|
+
* streamed head region CONVERGES with them (K consecutive shas aligned at a stable offset), and reads
|
|
294
|
+
* their parent lists to re-derive reachability/flags in memory (no git) over the stitched window.
|
|
295
|
+
*/
|
|
296
|
+
readonly rows: readonly GitGraphRow[];
|
|
297
|
+
/**
|
|
298
|
+
* Ref tips as of the prior walk: canonical refname (e.g. `refs/heads/main`, `refs/remotes/origin/main`,
|
|
299
|
+
* `refs/tags/v1`) → tip sha. R6b enumerates the new commits via `git log --all --not <these shas>`
|
|
300
|
+
* (cheap, exact) and diffs this map against the current tips to detect the structural changes that force
|
|
301
|
+
* a full fallback: any ref DELETION (key gone) or a NON-fast-forward move (old tip not an ancestor of the
|
|
302
|
+
* new tip).
|
|
303
|
+
*/
|
|
304
|
+
readonly tips: ReadonlyMap<string, string>;
|
|
305
|
+
/**
|
|
306
|
+
* Ordering the prior rows were walked in. The convergence + date-boundary reasoning R6b relies on is only
|
|
307
|
+
* sound for `date` order in v1; a seed whose ordering is `author-date`/`topo`, or that disagrees with the
|
|
308
|
+
* current walk's ordering, is discarded (full fallback).
|
|
309
|
+
*/
|
|
310
|
+
readonly ordering: 'date' | 'author-date' | 'topo';
|
|
311
|
+
/**
|
|
312
|
+
* Prior generation's reachability table, to CONTINUE (same role as the sub-provider's `reachabilitySeed`)
|
|
313
|
+
* so rows retained across the rebuild keep stable {@link GitGraphRowContexts.reachabilityIndex} values and
|
|
314
|
+
* only appended entries ship. R6b decides whether the stitched window extends this builder or needs a
|
|
315
|
+
* fresh generation; see `createReachabilityTableBuilder`.
|
|
316
|
+
*/
|
|
317
|
+
readonly reachability?: GraphReachabilityTable;
|
|
318
|
+
/**
|
|
319
|
+
* Prior generation's per-sha stats (immutable per sha), so the deferred stats query recomputes only the
|
|
320
|
+
* new shas — same role as `rowsStatsSeed`.
|
|
321
|
+
*/
|
|
322
|
+
readonly rowsStats?: GitGraphRowsStats;
|
|
323
|
+
/**
|
|
324
|
+
* Whether the prior generation had more rows below its loaded window (`paging.hasMore`). The fast path
|
|
325
|
+
* can only reconstruct rows the seed carries; when the seed was a partial (paged) load and no new commit
|
|
326
|
+
* pushes the window past its limit, `hasMore` must still be reported so the caller keeps paging. Absent ⇒
|
|
327
|
+
* treated as `false` (the seed loaded the full history).
|
|
328
|
+
*/
|
|
329
|
+
readonly hasMore?: boolean;
|
|
330
|
+
/**
|
|
331
|
+
* The `graph.onlyFollowFirstParent` setting the prior rows were walked under. When first-parent is on the
|
|
332
|
+
* emitted rows carry sliced (first-parent-only) parents, which the in-memory re-derivation can't expand
|
|
333
|
+
* back to the full parent set the walk propagates reachability through — so a seed built under (or a
|
|
334
|
+
* current config of) first-parent forces a full fallback. Absent ⇒ treated as `false`.
|
|
335
|
+
*/
|
|
336
|
+
readonly onlyFollowFirstParent?: boolean;
|
|
337
|
+
/**
|
|
338
|
+
* Whether the repo was a SHALLOW clone when the prior rows were walked. R6b falls back to a full walk on
|
|
339
|
+
* ANY change vs. the current state (shallow→unshallowed, unshallowed→shallow): an un-shallow deepens
|
|
340
|
+
* history below the loaded window while every branch tip stays put, so the cached tail / stale-false
|
|
341
|
+
* `hasMore` would hide the newly deepened commits. Absent ⇒ treated as `false` (not shallow).
|
|
342
|
+
*/
|
|
343
|
+
readonly shallow?: boolean;
|
|
344
|
+
/**
|
|
345
|
+
* {@link GitGraph.decorationFingerprint} of the prior walk. R6b falls back to a full walk on ANY change:
|
|
346
|
+
* reused rows keep their embedded decorations (upstream/worktree/default/remote/user metadata), so a
|
|
347
|
+
* metadata-only change — one that moves no ref tip — would otherwise ship stale pills indefinitely.
|
|
348
|
+
* Absent (e.g. an old persisted snapshot) ⇒ never matches ⇒ safe full fallback.
|
|
349
|
+
*/
|
|
350
|
+
readonly decorationFingerprint?: string;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Which path a seeded {@link GitGraphSubProvider.getGraph} call took: the R6b incremental head-walk fast
|
|
355
|
+
* path, or a full ordered walk (with the gate/boundary `reason` that forced it). Reported via the
|
|
356
|
+
* `onIncrementalResult` option so the host can log it and the equivalence harness can assert it. Purely
|
|
357
|
+
* observational — it never changes the returned graph.
|
|
358
|
+
*/
|
|
359
|
+
export interface IncrementalGraphOutcome {
|
|
360
|
+
readonly path: 'fast' | 'fallback';
|
|
361
|
+
readonly reason?: IncrementalGraphFallbackReason;
|
|
362
|
+
/** Fast path only: how many NEW commit rows the incremental enumeration added at the head. */
|
|
363
|
+
readonly added?: number;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
export type IncrementalGraphFallbackReason =
|
|
367
|
+
| 'no-row-processor'
|
|
368
|
+
| 'ordering-not-date'
|
|
369
|
+
| 'rev-outside-seed'
|
|
370
|
+
| 'first-parent'
|
|
371
|
+
| 'limit-exceeds-seed'
|
|
372
|
+
| 'ref-deleted'
|
|
373
|
+
| 'ref-non-fast-forward'
|
|
374
|
+
| 'replace-refs-changed'
|
|
375
|
+
| 'shallow-changed'
|
|
376
|
+
| 'stash-changed'
|
|
377
|
+
| 'stash-window-conflict'
|
|
378
|
+
| 'date-boundary'
|
|
379
|
+
// A decoration side input changed without moving any ref tip (default branch, an upstream, a worktree
|
|
380
|
+
// assignment, a remote's url/provider, the current user) — reused rows would keep stale embedded
|
|
381
|
+
// decorations, so the walk must rebuild them. See `GitGraph.decorationFingerprint`.
|
|
382
|
+
| 'metadata-changed'
|
|
383
|
+
// The fast path threw (spawn/arg limits on huge ref sets, queue overflow, transient git errors) —
|
|
384
|
+
// never an eligibility gate. The fast path must never fail where the full walk it accelerates
|
|
385
|
+
// would succeed, so any unexpected error degrades to the full walk (cancellation still propagates).
|
|
386
|
+
| 'error';
|
|
387
|
+
|
|
241
388
|
/**
|
|
242
389
|
* Processes a single graph row — mutates the row in place.
|
|
243
390
|
*
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
GitGraph,
|
|
3
|
+
GitGraphRow,
|
|
4
|
+
GitGraphRowStats,
|
|
5
|
+
GraphReachabilityTable,
|
|
6
|
+
IncrementalGraphFallbackReason,
|
|
7
|
+
} from './graph.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A provider-owned, stateful graph window for a single repo. It is the canonical accumulated window and
|
|
11
|
+
* the single builder of the incremental rebuild seed — the host no longer mirrors loaded rows, stamps
|
|
12
|
+
* ref tips, or hand-assembles the {@link GraphIncrementalSeed}; the session owns its own walk shape and
|
|
13
|
+
* cannot be handed a lying seed.
|
|
14
|
+
*
|
|
15
|
+
* R7a is a behavior-neutral ownership move: {@link refresh} is a facade over the provider's existing
|
|
16
|
+
* `getGraph` incremental machinery (it internally builds the seed from the accumulated window, tips, and
|
|
17
|
+
* prior artifacts, with the same shape gating), {@link more} delegates to the prior result's `more()`,
|
|
18
|
+
* and {@link current} mirrors today's `GitGraph` result shape so the publisher/wire semantics stay
|
|
19
|
+
* byte-identical. R7b (refresh-result-driven channel marking) and R7c (restart persistence) extend this
|
|
20
|
+
* without breaking — {@link refresh} returns a result object, never a bare `GitGraph`.
|
|
21
|
+
*/
|
|
22
|
+
export interface GitGraphSession {
|
|
23
|
+
readonly repoPath: string;
|
|
24
|
+
|
|
25
|
+
/** Canonical accumulated window (the FULL loaded rows, never page-scoped after pagination). */
|
|
26
|
+
readonly window: readonly GitGraphRow[];
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Last-operation view mirroring today's `GitGraph` result shape: page-scoped `rows` after a
|
|
30
|
+
* {@link more}, the full window after a {@link refresh}. Keeps the publisher's `getRows`/`getPaging`
|
|
31
|
+
* and every graph-level read (`branches`, `remotes`, `stashes`, `ids`, `avatars`, `rowsStats`, …)
|
|
32
|
+
* exactly as they read `_graph` today.
|
|
33
|
+
*/
|
|
34
|
+
readonly current: GitGraph;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Re-walk the repo, accumulating the fresh full window. Internally seeds the incremental head-walk
|
|
38
|
+
* fast path from the prior window/tips/artifacts (same shape gating as the host did) and falls back
|
|
39
|
+
* to a full walk on any structural change; the result surfaces which path ran so a later stage can
|
|
40
|
+
* mark channels precisely.
|
|
41
|
+
*/
|
|
42
|
+
refresh(options?: GitGraphSessionRefreshOptions, cancellation?: AbortSignal): Promise<GitGraphSessionRefreshResult>;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Page more rows into the window (accumulates; `current` becomes the page view). Returns `false` when
|
|
46
|
+
* there was nothing to add or a concurrent {@link refresh} superseded the page.
|
|
47
|
+
*/
|
|
48
|
+
more(limit?: number, targetId?: string, cancellation?: AbortSignal): Promise<boolean>;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Snapshot the canonical window for restart persistence, or `undefined` when there's nothing worth
|
|
52
|
+
* persisting — an empty window, or a provider without an incremental restore path (e.g. GitHub, which
|
|
53
|
+
* stamps no ref tips for the restore's tip-diff gate). The host writes this into the repo's own git dir
|
|
54
|
+
* (`<commonGitDir>/gitlens/graph/` — a repo-derived cache, like git's commit-graph file) on an idle
|
|
55
|
+
* debounce / dispose; a later {@link GitGraphSubProvider.openGraphSession} `restore` reconstructs +
|
|
56
|
+
* refreshes it. Never trusted over git — restore always re-refreshes (see {@link GitGraphSessionSnapshot}).
|
|
57
|
+
*/
|
|
58
|
+
serialize(): GitGraphSessionSnapshot | undefined;
|
|
59
|
+
|
|
60
|
+
dispose(): void;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Schema version for {@link GitGraphSessionSnapshot}. Bump on ANY shape change (field add/remove/rename or a
|
|
65
|
+
* semantics change): a restore whose snapshot version doesn't match this EXACTLY is discarded (a normal
|
|
66
|
+
* initial walk), so an old-shaped cache written by a prior extension version can never be misread.
|
|
67
|
+
*/
|
|
68
|
+
export const graphSessionSnapshotVersion = 3;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Restart-persistence snapshot of a {@link GitGraphSession}'s canonical window — everything a restore needs
|
|
72
|
+
* to reconstruct the session's prior generation as an R6 incremental SEED, so a cold open on an unchanged
|
|
73
|
+
* repo is ≈ deserialize + one enumeration instead of a full walk.
|
|
74
|
+
*
|
|
75
|
+
* NEVER trusted over git: on restore the session reconstructs this as its window/tips/builders WITHOUT any
|
|
76
|
+
* git, then IMMEDIATELY {@link GitGraphSession.refresh | refreshes} — the same enumeration + tip-diff + FF +
|
|
77
|
+
* stash gates reconcile a stale snapshot (fast when unchanged, a full walk on any structural change), and any
|
|
78
|
+
* parse/validation failure discards it entirely for a normal initial walk.
|
|
79
|
+
*
|
|
80
|
+
* Rows are persisted as-is: they're already the JSON-safe wire shapes (strings/numbers/plain objects — the
|
|
81
|
+
* graph's Maps live at the graph level, not on rows, and the transient per-row `reachability` is stripped
|
|
82
|
+
* before a row is emitted). Maps are persisted as entry arrays.
|
|
83
|
+
*/
|
|
84
|
+
export interface GitGraphSessionSnapshot {
|
|
85
|
+
/** Must equal {@link graphSessionSnapshotVersion}; any mismatch discards the snapshot. */
|
|
86
|
+
readonly v: number;
|
|
87
|
+
readonly repoPath: string;
|
|
88
|
+
/** Walk shape the window was produced under (`${ordering}|${onlyFollowFirstParent}`). A restore is
|
|
89
|
+
* discarded when this disagrees with the current config's shape — the cached rows can't be reused. */
|
|
90
|
+
readonly buildShape: string;
|
|
91
|
+
readonly ordering: 'date' | 'author-date' | 'topo';
|
|
92
|
+
readonly onlyFollowFirstParent: boolean;
|
|
93
|
+
/** The persisted window rows, in walk order — a TOP slice capped at a bounded row count (see the host
|
|
94
|
+
* store); a longer window persists its top slice with {@link hasMore} forced true so the bottom re-pages. */
|
|
95
|
+
readonly rows: GitGraphRow[];
|
|
96
|
+
/** Ref tips as of the persisted walk: `[canonical refname, peeled tip sha]` entries — the map the restore
|
|
97
|
+
* refresh diffs against current git to find the structural changes that force a full fallback. */
|
|
98
|
+
readonly refTips: [string, string][];
|
|
99
|
+
/** {@link GitGraph.decorationFingerprint} as of the persisted walk — the restore refresh diffs it against
|
|
100
|
+
* current git so a metadata-only change while closed (upstream/default/worktree/remote/user) still forces
|
|
101
|
+
* the full fallback that rebuilds row decorations. Absent ⇒ never matches ⇒ safe full fallback. */
|
|
102
|
+
readonly decorationFingerprint?: string;
|
|
103
|
+
/** Shared reachability table for the window (the primary reachability representation — rows carry only a
|
|
104
|
+
* `contexts.reachabilityIndex` into its `sets`). The restore refresh CONTINUES it (stable indices). */
|
|
105
|
+
readonly reachability?: GraphReachabilityTable;
|
|
106
|
+
/** Per-sha immutable stats `[sha, stats]` entries for the persisted rows (present only when stats were
|
|
107
|
+
* included in the walk). */
|
|
108
|
+
readonly rowsStats?: [string, GitGraphRowStats][];
|
|
109
|
+
/** Downstreams `[upstream name, tracking branch names]` entries (for the refresh's change diffing). */
|
|
110
|
+
readonly downstreams: [string, string[]][];
|
|
111
|
+
/** Whether the persisted window had more rows below it — genuinely paged OR truncated by the cap. */
|
|
112
|
+
readonly hasMore: boolean;
|
|
113
|
+
/** Whether the persisted walk included per-row stats. */
|
|
114
|
+
readonly includesStats: boolean;
|
|
115
|
+
/** Whether the repo was a shallow clone when the window was walked. The restore refresh diffs this
|
|
116
|
+
* against current git — an un-shallow (or re-shallow) while closed forces a full fallback. */
|
|
117
|
+
readonly shallow: boolean;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/** Why a restore discarded its snapshot (reported via {@link GraphSessionRestoreResult.reason}). */
|
|
121
|
+
export type GraphSessionRestoreDiscardReason =
|
|
122
|
+
| 'schema'
|
|
123
|
+
| 'repo-path'
|
|
124
|
+
| 'shape'
|
|
125
|
+
| 'empty'
|
|
126
|
+
| 'tips'
|
|
127
|
+
| 'rows'
|
|
128
|
+
| 'reachability'
|
|
129
|
+
| 'downstreams'
|
|
130
|
+
| 'rowsStats'
|
|
131
|
+
// A throw past structural validation (e.g. the restore refresh's enumerate chokes on a garbage rev).
|
|
132
|
+
| 'corrupt';
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Outcome of a restore attempt, reported via the {@link GitGraphSubProvider.openGraphSession} `onRestore`
|
|
136
|
+
* callback so the host can emit its single, assertable INFO line. `restored` is true only when the snapshot
|
|
137
|
+
* validated and seeded the (always-run) refresh — `refresh` then carries that refresh's path so the host can
|
|
138
|
+
* distinguish `→ refresh fast (+M)` from `→ refresh full (<reason>)`.
|
|
139
|
+
*/
|
|
140
|
+
export interface GraphSessionRestoreResult {
|
|
141
|
+
readonly restored: boolean;
|
|
142
|
+
/** Present when `!restored`: why the snapshot was discarded; the host logs `miss (<reason>)`. */
|
|
143
|
+
readonly reason?: GraphSessionRestoreDiscardReason;
|
|
144
|
+
/** Present when `restored`: how many window rows the snapshot carried. */
|
|
145
|
+
readonly rows?: number;
|
|
146
|
+
/** Present when `restored`: the post-restore refresh outcome (a restore ALWAYS refreshes to current truth). */
|
|
147
|
+
readonly refresh?: GitGraphSessionRefreshResult;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export interface GitGraphSessionRefreshOptions {
|
|
151
|
+
/** Rebuild anchor / find target — the loaded window's bottom sha (pins the walk's bottom boundary),
|
|
152
|
+
* or a selection/centering hint. Mirrors the `rev` the host passed to `getGraph` today. */
|
|
153
|
+
rev?: string;
|
|
154
|
+
limit?: number;
|
|
155
|
+
include?: { stats?: boolean };
|
|
156
|
+
/**
|
|
157
|
+
* Force a FULL walk (skip the incremental seed) so every row's decorations — including the
|
|
158
|
+
* host-serialized webview-item contexts reused rows otherwise keep — are rebuilt from fresh inputs.
|
|
159
|
+
* For host-known invalidations the provider can't observe (pinned-ref changes, integration
|
|
160
|
+
* connections); rare events, so the full-walk cost is acceptable.
|
|
161
|
+
*/
|
|
162
|
+
rebuild?: boolean;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Outcome of a {@link GitGraphSession.refresh}. `path` is `'fast'` only when the incremental head-walk
|
|
167
|
+
* fast path ran; a seeded fallback and an unseeded full walk both report `'full'` — a seeded fallback
|
|
168
|
+
* additionally carries `reason` (an unseeded full walk carries none), so a consumer can distinguish the
|
|
169
|
+
* two exactly as the host's `[graph] incremental walk` log did (log on `'fast'` or a `reason`, silent
|
|
170
|
+
* otherwise).
|
|
171
|
+
*/
|
|
172
|
+
export interface GitGraphSessionRefreshResult {
|
|
173
|
+
readonly path: 'fast' | 'full';
|
|
174
|
+
/** Present only on a SEEDED refresh that fell back to the full walk — the gate/boundary that forced it. */
|
|
175
|
+
readonly reason?: IncrementalGraphFallbackReason;
|
|
176
|
+
/** Fast path only: how many NEW commit rows the incremental enumeration added at the head. */
|
|
177
|
+
readonly added?: number;
|
|
178
|
+
/**
|
|
179
|
+
* Which rows-plane channels this refresh actually changed, so the host marks the publisher precisely
|
|
180
|
+
* instead of dirtying all six on every refresh. Filled by BOTH paths: the full path reports every
|
|
181
|
+
* channel changed (a fresh walk replaces all); the fast path derives each honestly from its own work.
|
|
182
|
+
* Correctness rule: a false negative is data loss, so a channel is reported `false` only when it
|
|
183
|
+
* PROVABLY didn't change — never merely when uncertain. Excludes `refsMetadata`, which the session
|
|
184
|
+
* doesn't produce (the host marks it via its own dedicated enrichment path).
|
|
185
|
+
*/
|
|
186
|
+
readonly changed: GitGraphSessionChangedChannels;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/** Per-channel change flags a {@link GitGraphSession.refresh} reports (see {@link GitGraphSessionRefreshResult.changed}). */
|
|
190
|
+
export interface GitGraphSessionChangedChannels {
|
|
191
|
+
/** The loaded rows window — always `true` on a refresh (a head-walk reshapes it; the publisher's ledger
|
|
192
|
+
* diff derives the precise splice, including reused-row flag/reachability-index changes). */
|
|
193
|
+
readonly rows: boolean;
|
|
194
|
+
/** The shared reachability table grew (new dictionary/set entries appended) or started a new generation. */
|
|
195
|
+
readonly reachability: boolean;
|
|
196
|
+
/** New commit shas were introduced whose stats will be (re)queried. */
|
|
197
|
+
readonly rowsStats: boolean;
|
|
198
|
+
/** Full fallbacks that rewrite parents (unshallow / replace-ref change) recompute stats whose
|
|
199
|
+
* values may differ for already-shipped shas — the host must resend, not just append. */
|
|
200
|
+
readonly rowsStatsRecomputed?: boolean;
|
|
201
|
+
/** New avatar emails appeared in the map (value replacements ride the host's dedicated avatar path). */
|
|
202
|
+
readonly avatars: boolean;
|
|
203
|
+
/** The downstreams map (upstream name → tracking branch names) changed. */
|
|
204
|
+
readonly downstreams: boolean;
|
|
205
|
+
}
|
package/src/git/models/issue.ts
CHANGED
|
@@ -4,6 +4,9 @@ import type { IssueOrPullRequest, IssueOrPullRequestState } from './issueOrPullR
|
|
|
4
4
|
import type { ProviderReference } from './remoteProvider.js';
|
|
5
5
|
import type { RepositoryIdentityDescriptor } from './repositoryIdentities.js';
|
|
6
6
|
|
|
7
|
+
/** Selects which issue states a read should include. `all` covers open + closed. */
|
|
8
|
+
export type IssueStateFilter = 'open' | 'closed' | 'all';
|
|
9
|
+
|
|
7
10
|
export interface IssueShape extends IssueOrPullRequest {
|
|
8
11
|
author: IssueMember;
|
|
9
12
|
assignees: IssueMember[];
|
|
@@ -11,6 +14,7 @@ export interface IssueShape extends IssueOrPullRequest {
|
|
|
11
14
|
labels?: IssueLabel[];
|
|
12
15
|
body?: string;
|
|
13
16
|
project?: IssueProject;
|
|
17
|
+
issueType?: string;
|
|
14
18
|
}
|
|
15
19
|
|
|
16
20
|
@loggable(i => i.id)
|
|
@@ -37,6 +41,7 @@ export class Issue implements IssueShape {
|
|
|
37
41
|
public readonly body?: string,
|
|
38
42
|
public readonly project?: IssueProject,
|
|
39
43
|
public readonly number?: string,
|
|
44
|
+
public readonly issueType?: string,
|
|
40
45
|
) {}
|
|
41
46
|
|
|
42
47
|
static is(issue: unknown): issue is Issue {
|
|
@@ -60,7 +65,13 @@ export interface IssueLabel {
|
|
|
60
65
|
|
|
61
66
|
export interface IssueMember {
|
|
62
67
|
id: string;
|
|
63
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Absent when the provider exposes no display name for the member. Optional on purpose: a fallback string
|
|
70
|
+
* invented here (`'unknown'`, `''`) can't be told apart from a real name downstream, so it can't be undone by a
|
|
71
|
+
* consumer that needs to render something else — or nothing at all, as when the member feeds an AI prompt.
|
|
72
|
+
* Each consumer picks its own presentation.
|
|
73
|
+
*/
|
|
74
|
+
name?: string;
|
|
64
75
|
avatarUrl?: string;
|
|
65
76
|
url?: string;
|
|
66
77
|
}
|
|
@@ -11,6 +11,13 @@ export type { PullRequestState };
|
|
|
11
11
|
|
|
12
12
|
export interface PullRequestShape extends IssueOrPullRequest {
|
|
13
13
|
readonly author: PullRequestMember;
|
|
14
|
+
readonly body?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Canonical base-repository identity returned by the provider. Some providers
|
|
17
|
+
* scope pull-request ids to a repository, so consumers must not have to infer
|
|
18
|
+
* identity from optional refs or URLs.
|
|
19
|
+
*/
|
|
20
|
+
readonly repository?: IssueRepository;
|
|
14
21
|
readonly mergedDate?: Date;
|
|
15
22
|
readonly refs?: PullRequestRefs;
|
|
16
23
|
readonly isDraft?: boolean;
|
|
@@ -21,6 +28,8 @@ export interface PullRequestShape extends IssueOrPullRequest {
|
|
|
21
28
|
readonly reviewRequests?: PullRequestReviewer[];
|
|
22
29
|
readonly assignees?: PullRequestMember[];
|
|
23
30
|
readonly project?: IssueProject;
|
|
31
|
+
readonly number?: number;
|
|
32
|
+
readonly authoredByMe?: boolean;
|
|
24
33
|
}
|
|
25
34
|
|
|
26
35
|
@loggable(i => i.id)
|
|
@@ -56,6 +65,9 @@ export class PullRequest implements PullRequestShape {
|
|
|
56
65
|
public readonly statusCheckRollupState?: PullRequestStatusCheckRollupState,
|
|
57
66
|
public readonly project?: IssueProject,
|
|
58
67
|
public readonly version?: number,
|
|
68
|
+
public readonly body?: string,
|
|
69
|
+
public readonly number?: number,
|
|
70
|
+
public readonly authoredByMe?: boolean,
|
|
59
71
|
) {}
|
|
60
72
|
|
|
61
73
|
get closed(): boolean {
|
|
@@ -127,11 +139,19 @@ export interface PullRequestComparisonRefs {
|
|
|
127
139
|
|
|
128
140
|
export interface PullRequestMember {
|
|
129
141
|
id: string;
|
|
130
|
-
|
|
142
|
+
/**
|
|
143
|
+
* Absent when the provider exposes no display name for the member — same contract as `IssueMember.name`: a
|
|
144
|
+
* fallback invented here can't be told apart from a real name downstream, so each consumer picks its own
|
|
145
|
+
* presentation.
|
|
146
|
+
*/
|
|
147
|
+
name?: string;
|
|
131
148
|
avatarUrl?: string;
|
|
132
149
|
url?: string;
|
|
133
150
|
}
|
|
134
151
|
|
|
152
|
+
/** Selects which pull request states a read should include. `all` covers open + closed + merged. */
|
|
153
|
+
export type PullRequestStateFilter = 'open' | 'closed' | 'merged' | 'all';
|
|
154
|
+
|
|
135
155
|
export interface PullRequestRef {
|
|
136
156
|
owner: string;
|
|
137
157
|
repo: string;
|
|
@@ -139,6 +159,12 @@ export interface PullRequestRef {
|
|
|
139
159
|
sha: string;
|
|
140
160
|
exists: boolean;
|
|
141
161
|
url: string;
|
|
162
|
+
/** HTTPS clone URL of the ref's repository, when the provider exposes it. */
|
|
163
|
+
cloneHttps?: string;
|
|
164
|
+
/** SSH clone URL of the ref's repository, when the provider exposes it. */
|
|
165
|
+
cloneSsh?: string;
|
|
166
|
+
/** Best-effort flag: whether the ref's repository is a fork. `undefined` when the provider can't tell. */
|
|
167
|
+
isFork?: boolean;
|
|
142
168
|
}
|
|
143
169
|
|
|
144
170
|
export interface PullRequestRefs {
|
|
@@ -74,6 +74,27 @@ export const repositoryChanges = exhaustiveArray<RepositoryChange>()([
|
|
|
74
74
|
'lastFetched',
|
|
75
75
|
]);
|
|
76
76
|
|
|
77
|
+
/**
|
|
78
|
+
* The only changes {@link Repository.fireChange} accepts with `force` — delivered straight to the repository's
|
|
79
|
+
* emitter, bypassing the watch session, so they still arrive while it's suspended or when there's no watch handle
|
|
80
|
+
* at all (a repo being opened, or closed, or a virtual repo that never had one).
|
|
81
|
+
*
|
|
82
|
+
* These have nothing intrinsic in common — being forced IS the shared property, which is why this is keyed off
|
|
83
|
+
* `force` rather than some category of change.
|
|
84
|
+
*
|
|
85
|
+
* It's the partition consumers need: everything NOT listed here goes through the session, which does its
|
|
86
|
+
* pre-notification work (e.g. advancing a cache's status clock) exactly once, before it notifies anyone. Nothing
|
|
87
|
+
* runs upstream of a forced change, so a consumer bridging repository changes into a cache must handle these
|
|
88
|
+
* itself. Forcing a change that isn't listed is a compile error — and consumers gate on this same array, so
|
|
89
|
+
* listing one wires it up for free.
|
|
90
|
+
*/
|
|
91
|
+
export const forcedRepositoryChanges = [
|
|
92
|
+
'opened',
|
|
93
|
+
'closed',
|
|
94
|
+
'lastFetched',
|
|
95
|
+
] as const satisfies readonly RepositoryChange[];
|
|
96
|
+
export type ForcedRepositoryChange = (typeof forcedRepositoryChanges)[number];
|
|
97
|
+
|
|
77
98
|
export interface RepositoryInit {
|
|
78
99
|
readonly id: string;
|
|
79
100
|
readonly path: string;
|
|
@@ -318,7 +339,9 @@ export class Repository {
|
|
|
318
339
|
}
|
|
319
340
|
|
|
320
341
|
protected fireChange(...changes: RepositoryChange[]): void;
|
|
321
|
-
|
|
342
|
+
/** Force-fire: delivered straight to the emitter, bypassing the watch session — see
|
|
343
|
+
* {@link forcedRepositoryChanges}, which is the only set this accepts. */
|
|
344
|
+
protected fireChange(change: ForcedRepositoryChange, force: true): void;
|
|
322
345
|
@trace()
|
|
323
346
|
protected fireChange(...args: RepositoryChange[] | [RepositoryChange, boolean]): void {
|
|
324
347
|
const lastArg = args.at(-1);
|
|
@@ -9,3 +9,20 @@ export type RepositoryDescriptor = ResourceDescriptor & {
|
|
|
9
9
|
owner: string;
|
|
10
10
|
name: string;
|
|
11
11
|
};
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A normalized read scope that unifies the three provider scoping representations (repo-level
|
|
15
|
+
* `ProviderReposInput`, per-provider `PagingMode`, and org/project `ResourceDescriptor`s). Consumers pass
|
|
16
|
+
* this single shape; the integration resolves it to the provider-appropriate inputs. At least one field
|
|
17
|
+
* should be set:
|
|
18
|
+
* - `org`: GitHub login / Bitbucket workspace / Azure organization / GitLab namespace
|
|
19
|
+
* - `project`: Azure project / Jira project key
|
|
20
|
+
* - `resourceId`: Jira/Azure resource id
|
|
21
|
+
* - `repos`: explicit repositories to scope to
|
|
22
|
+
*/
|
|
23
|
+
export type ProviderScope = {
|
|
24
|
+
org?: string;
|
|
25
|
+
project?: string;
|
|
26
|
+
resourceId?: string;
|
|
27
|
+
repos?: RepositoryDescriptor[];
|
|
28
|
+
};
|
|
@@ -27,3 +27,19 @@ export interface ValidationResult {
|
|
|
27
27
|
valid: boolean;
|
|
28
28
|
error?: string;
|
|
29
29
|
}
|
|
30
|
+
|
|
31
|
+
export interface SshPublicKey {
|
|
32
|
+
/** The SSH key type, e.g. `ssh-ed25519`, `ssh-rsa`, `ecdsa-sha2-nistp256`. */
|
|
33
|
+
keyType: string;
|
|
34
|
+
/** The base64-encoded public-key blob, as it appears after the key type in an `allowed_signers`/`.pub` entry. */
|
|
35
|
+
keyData: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface SshSignedCommit {
|
|
39
|
+
/** The signer's full SSH public key, extracted from the commit's SSH signature. */
|
|
40
|
+
key: SshPublicKey;
|
|
41
|
+
/** The committer's name from the commit object (the signing identity). */
|
|
42
|
+
name: string | undefined;
|
|
43
|
+
/** The committer's raw email from the commit object — the principal Git verifies the signature against. */
|
|
44
|
+
email: string | undefined;
|
|
45
|
+
}
|