@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
|
@@ -34,114 +34,112 @@ export class GitLabRemoteProvider extends RemoteProvider<GitLabRepositoryDescrip
|
|
|
34
34
|
|
|
35
35
|
private _autolinks: (AutolinkReference | DynamicAutolinkReference)[] | undefined;
|
|
36
36
|
override get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
label: (repo, num) => `GitLab Issue ${repo}#${num}`,
|
|
67
|
-
},
|
|
68
|
-
],
|
|
69
|
-
parse: (text: string, autolinks: Map<string, Autolink>) => {
|
|
70
|
-
let ownerAndRepo: string;
|
|
71
|
-
let num: string;
|
|
72
|
-
|
|
73
|
-
let match;
|
|
74
|
-
do {
|
|
75
|
-
match = autolinkFullIssuesRegex.exec(text);
|
|
76
|
-
if (match == null) break;
|
|
77
|
-
|
|
78
|
-
[, ownerAndRepo, num] = match;
|
|
79
|
-
|
|
80
|
-
const [owner, repo] = ownerAndRepo.split('/', 2);
|
|
81
|
-
autolinks.set(num, {
|
|
82
|
-
provider: this,
|
|
83
|
-
id: num,
|
|
84
|
-
prefix: `${ownerAndRepo}#`,
|
|
85
|
-
url: `${this.protocol}://${this.domain}/${ownerAndRepo}/-/issues/${num}`,
|
|
86
|
-
alphanumeric: false,
|
|
87
|
-
ignoreCase: true,
|
|
88
|
-
title: `Open Issue #<num> from ${ownerAndRepo} on ${this.name}`,
|
|
89
|
-
|
|
90
|
-
type: 'issue',
|
|
91
|
-
description: `${this.name} Issue ${ownerAndRepo}#${num}`,
|
|
92
|
-
descriptor: {
|
|
93
|
-
key: this.remoteKey,
|
|
94
|
-
owner: owner,
|
|
95
|
-
name: repo,
|
|
96
|
-
} satisfies GitLabRepositoryDescriptor,
|
|
97
|
-
});
|
|
98
|
-
} while (true);
|
|
37
|
+
this._autolinks ??= [
|
|
38
|
+
...super.autolinks,
|
|
39
|
+
{
|
|
40
|
+
prefix: '#',
|
|
41
|
+
url: this.issueLinkPattern,
|
|
42
|
+
alphanumeric: false,
|
|
43
|
+
ignoreCase: false,
|
|
44
|
+
title: `Open Issue #<num> on ${this.name}`,
|
|
45
|
+
|
|
46
|
+
type: 'issue',
|
|
47
|
+
description: `${this.name} Issue #<num>`,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
prefix: '!',
|
|
51
|
+
url: `${this.baseUrl}/-/merge_requests/<num>`,
|
|
52
|
+
alphanumeric: false,
|
|
53
|
+
ignoreCase: false,
|
|
54
|
+
title: `Open Merge Request !<num> on ${this.name}`,
|
|
55
|
+
|
|
56
|
+
type: 'pullrequest',
|
|
57
|
+
description: `${this.name} Merge Request !<num>`,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
descriptors: [
|
|
61
|
+
{
|
|
62
|
+
regex: autolinkFullIssuesRegex,
|
|
63
|
+
url: (repo, num) => `${this.protocol}://${this.domain}/${repo}/-/issues/${num}`,
|
|
64
|
+
title: (repo, num) => `Open Issue #${num} from ${repo} on ${this.name}`,
|
|
65
|
+
label: (repo, num) => `GitLab Issue ${repo}#${num}`,
|
|
99
66
|
},
|
|
67
|
+
],
|
|
68
|
+
parse: (text: string, autolinks: Map<string, Autolink>) => {
|
|
69
|
+
let ownerAndRepo: string;
|
|
70
|
+
let num: string;
|
|
71
|
+
|
|
72
|
+
let match;
|
|
73
|
+
do {
|
|
74
|
+
match = autolinkFullIssuesRegex.exec(text);
|
|
75
|
+
if (match == null) break;
|
|
76
|
+
|
|
77
|
+
[, ownerAndRepo, num] = match;
|
|
78
|
+
|
|
79
|
+
const [owner, repo] = ownerAndRepo.split('/', 2);
|
|
80
|
+
autolinks.set(num, {
|
|
81
|
+
provider: this,
|
|
82
|
+
id: num,
|
|
83
|
+
prefix: `${ownerAndRepo}#`,
|
|
84
|
+
url: `${this.protocol}://${this.domain}/${ownerAndRepo}/-/issues/${num}`,
|
|
85
|
+
alphanumeric: false,
|
|
86
|
+
ignoreCase: true,
|
|
87
|
+
title: `Open Issue #<num> from ${ownerAndRepo} on ${this.name}`,
|
|
88
|
+
|
|
89
|
+
type: 'issue',
|
|
90
|
+
description: `${this.name} Issue ${ownerAndRepo}#${num}`,
|
|
91
|
+
descriptor: {
|
|
92
|
+
key: this.remoteKey,
|
|
93
|
+
owner: owner,
|
|
94
|
+
name: repo,
|
|
95
|
+
} satisfies GitLabRepositoryDescriptor,
|
|
96
|
+
});
|
|
97
|
+
} while (true);
|
|
100
98
|
},
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
],
|
|
110
|
-
parse: (text: string, autolinks: Map<string, Autolink>) => {
|
|
111
|
-
let ownerAndRepo: string;
|
|
112
|
-
let num: string;
|
|
113
|
-
|
|
114
|
-
let match;
|
|
115
|
-
do {
|
|
116
|
-
match = autolinkFullMergeRequestsRegex.exec(text);
|
|
117
|
-
if (match == null) break;
|
|
118
|
-
|
|
119
|
-
[, ownerAndRepo, num] = match;
|
|
120
|
-
|
|
121
|
-
const [owner, repo] = ownerAndRepo.split('/', 2);
|
|
122
|
-
autolinks.set(num, {
|
|
123
|
-
provider: this,
|
|
124
|
-
id: num,
|
|
125
|
-
prefix: `${ownerAndRepo}!`,
|
|
126
|
-
url: `${this.protocol}://${this.domain}/${ownerAndRepo}/-/merge_requests/${num}`,
|
|
127
|
-
alphanumeric: false,
|
|
128
|
-
ignoreCase: true,
|
|
129
|
-
title: `Open Merge Request !<num> from ${ownerAndRepo} on ${this.name}`,
|
|
130
|
-
|
|
131
|
-
type: 'pullrequest',
|
|
132
|
-
description: `${this.name} Merge Request !${num} from ${ownerAndRepo}`,
|
|
133
|
-
|
|
134
|
-
descriptor: {
|
|
135
|
-
key: this.remoteKey,
|
|
136
|
-
owner: owner,
|
|
137
|
-
name: repo,
|
|
138
|
-
} satisfies GitLabRepositoryDescriptor,
|
|
139
|
-
});
|
|
140
|
-
} while (true);
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
descriptors: [
|
|
102
|
+
{
|
|
103
|
+
regex: autolinkFullMergeRequestsRegex,
|
|
104
|
+
url: (repo, num) => `${this.protocol}://${this.domain}/${repo}/-/merge_requests/${num}`,
|
|
105
|
+
title: (repo, num) => `Open Merge Request !${num} from ${repo} on ${this.name}`,
|
|
106
|
+
label: (repo, num) => `${this.name} Merge Request ${repo}!${num}`,
|
|
141
107
|
},
|
|
108
|
+
],
|
|
109
|
+
parse: (text: string, autolinks: Map<string, Autolink>) => {
|
|
110
|
+
let ownerAndRepo: string;
|
|
111
|
+
let num: string;
|
|
112
|
+
|
|
113
|
+
let match;
|
|
114
|
+
do {
|
|
115
|
+
match = autolinkFullMergeRequestsRegex.exec(text);
|
|
116
|
+
if (match == null) break;
|
|
117
|
+
|
|
118
|
+
[, ownerAndRepo, num] = match;
|
|
119
|
+
|
|
120
|
+
const [owner, repo] = ownerAndRepo.split('/', 2);
|
|
121
|
+
autolinks.set(num, {
|
|
122
|
+
provider: this,
|
|
123
|
+
id: num,
|
|
124
|
+
prefix: `${ownerAndRepo}!`,
|
|
125
|
+
url: `${this.protocol}://${this.domain}/${ownerAndRepo}/-/merge_requests/${num}`,
|
|
126
|
+
alphanumeric: false,
|
|
127
|
+
ignoreCase: true,
|
|
128
|
+
title: `Open Merge Request !<num> from ${ownerAndRepo} on ${this.name}`,
|
|
129
|
+
|
|
130
|
+
type: 'pullrequest',
|
|
131
|
+
description: `${this.name} Merge Request !${num} from ${ownerAndRepo}`,
|
|
132
|
+
|
|
133
|
+
descriptor: {
|
|
134
|
+
key: this.remoteKey,
|
|
135
|
+
owner: owner,
|
|
136
|
+
name: repo,
|
|
137
|
+
} satisfies GitLabRepositoryDescriptor,
|
|
138
|
+
});
|
|
139
|
+
} while (true);
|
|
142
140
|
},
|
|
143
|
-
|
|
144
|
-
|
|
141
|
+
},
|
|
142
|
+
];
|
|
145
143
|
return this._autolinks;
|
|
146
144
|
}
|
|
147
145
|
|
package/src/git/run.types.ts
CHANGED
|
@@ -1,13 +1,61 @@
|
|
|
1
1
|
import type { CacheController } from '../utils/promiseCache.js';
|
|
2
|
+
import type { GitWarningKey } from './errors.js';
|
|
2
3
|
|
|
3
4
|
export type GitErrorHandling = 'throw' | 'ignore';
|
|
4
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Why a run was aborted. DIAGNOSTIC ONLY — log it, never branch control flow on it. A timeout kill and a
|
|
8
|
+
* caller abort both terminate the process with SIGTERM and surface as the same error, so this is derived
|
|
9
|
+
* from a duration heuristic and can be wrong near the timeout boundary.
|
|
10
|
+
*/
|
|
11
|
+
export type GitRunCancellation = 'aborted' | 'timeout' | 'unknown';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Why a run produced no answer. Every value is structurally distinguishable, so these are safe to branch on.
|
|
15
|
+
*
|
|
16
|
+
* There is deliberately no `untrusted` member: an untrusted workspace is refused before the command is ever
|
|
17
|
+
* attempted, so it REJECTS with `WorkspaceUntrustedError` rather than resolving a result.
|
|
18
|
+
*/
|
|
19
|
+
export type GitRunFailure =
|
|
20
|
+
/** Terminated by a signal other than SIGTERM. Any `stdout` is partial. */
|
|
21
|
+
| 'signal'
|
|
22
|
+
/** No process ever ran — queue rejection, spawn failure (e.g. ENOENT). */
|
|
23
|
+
| 'unstarted';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* How a run ended — the answer to "can I trust `stdout`?", which `exitCode` alone cannot give.
|
|
27
|
+
*
|
|
28
|
+
* A non-zero exit is NOT a failure: `diff --quiet` exits 1 for "differences found", `merge-base
|
|
29
|
+
* --is-ancestor` for "no". Those are answers, and they're `exited`. What callers must not do is read the
|
|
30
|
+
* empty `stdout` of a `warned`/`cancelled`/`failed` run as a real result — which is what a bare
|
|
31
|
+
* `exitCode === 0` check does, since several failure paths report zero.
|
|
32
|
+
*/
|
|
33
|
+
export type GitRunCompletion =
|
|
34
|
+
/** Ran to completion. Interpreting `code` is the caller's business; `stdout` is trustworthy. */
|
|
35
|
+
| { readonly status: 'exited'; readonly code: number }
|
|
36
|
+
/**
|
|
37
|
+
* Exited non-zero, but stderr matched a known-benign pattern, so the error was swallowed and `stdout`
|
|
38
|
+
* is empty. Whether that empty is a real ANSWER (`noCommits` on a fresh repo) or a failure
|
|
39
|
+
* (`notARepository`) depends on `warning` — it is never safe to read as a plain empty result.
|
|
40
|
+
*
|
|
41
|
+
* `warning` is `undefined` for a swallow that matched no table entry; treat that like any warning you
|
|
42
|
+
* haven't explicitly whitelisted, i.e. not an answer. The process did exit, so `exitCode` is present
|
|
43
|
+
* whenever git reported a numeric one.
|
|
44
|
+
*/
|
|
45
|
+
| { readonly status: 'warned'; readonly warning: GitWarningKey | undefined; readonly error: Error }
|
|
46
|
+
| { readonly status: 'cancelled'; readonly reason: GitRunCancellation; readonly error: Error }
|
|
47
|
+
| { readonly status: 'failed'; readonly reason: GitRunFailure; readonly error: Error };
|
|
48
|
+
|
|
5
49
|
export type GitResult<T extends string | Buffer | unknown = string> = {
|
|
6
|
-
|
|
50
|
+
/**
|
|
51
|
+
* The process's exit code. ABSENT when no process exited — see {@link completion}. Deliberately optional:
|
|
52
|
+
* defaulting to `0` made a failed run indistinguishable from a clean success.
|
|
53
|
+
*/
|
|
54
|
+
readonly exitCode?: number;
|
|
7
55
|
readonly stdout: T;
|
|
8
56
|
readonly stderr?: T;
|
|
9
57
|
|
|
10
|
-
readonly
|
|
58
|
+
readonly completion: GitRunCompletion;
|
|
11
59
|
};
|
|
12
60
|
|
|
13
61
|
/**
|
|
@@ -18,8 +66,10 @@ export interface GitResultCache {
|
|
|
18
66
|
getOrCreate(
|
|
19
67
|
repoPath: string,
|
|
20
68
|
key: string,
|
|
21
|
-
|
|
22
|
-
|
|
69
|
+
// `signal` is the aggregate cancellation — it fires only when every current caller has aborted.
|
|
70
|
+
// Bind shared work to it (not any single caller's signal) so one caller's abort can't reject riders.
|
|
71
|
+
factory: (cacheable: CacheController, signal?: AbortSignal) => Promise<GitResult<unknown>>,
|
|
72
|
+
options?: { createTTL?: number; accessTTL?: number; cancellation?: AbortSignal },
|
|
23
73
|
): Promise<GitResult<unknown>>;
|
|
24
74
|
}
|
|
25
75
|
|
|
@@ -3,7 +3,18 @@ import type { GitBranch, GitTrackingUpstream } from '../models/branch.js';
|
|
|
3
3
|
import type { GitBranchReference, GitReference } from '../models/reference.js';
|
|
4
4
|
import { shortenRevision } from './revision.utils.js';
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* The names git uses where a branch name would go when HEAD isn't on a branch — `(HEAD detached
|
|
8
|
+
* at|from <rev>)`, `(no branch)`, `(no branch, rebasing <name>)`, `(no branch, bisect started on
|
|
9
|
+
* <name>)`, and `git status --porcelain=v2`'s `branch.head` token `(detached)` — plus bare `HEAD`
|
|
10
|
+
* and our own {@link formatDetachedHeadName} output (`(<rev>...)`).
|
|
11
|
+
*
|
|
12
|
+
* Deliberately NOT "anything parenthesized": parentheses are legal in ref names, so `(release)`,
|
|
13
|
+
* `v1.0(rc)` and `feat/(wip)` are all real branches a user can be on. Matching those made
|
|
14
|
+
* `GitBranch` rewrite a genuine branch's `name` to the synthesized `(sha…)` label and re-key its
|
|
15
|
+
* `id` by SHA, which corrupts its identity for every downstream consumer.
|
|
16
|
+
*/
|
|
17
|
+
const detachedHEADRegex = /^(?:HEAD|\(detached\)|\(HEAD detached (?:at|from) .+\)|\(no branch.*\)|\(.+\.\.\.\))$/;
|
|
7
18
|
|
|
8
19
|
export function formatDetachedHeadName(sha: string): string {
|
|
9
20
|
return `(${shortenRevision(sha)}...)`;
|
|
@@ -27,10 +27,10 @@ export function calculateContributionScore(
|
|
|
27
27
|
stats: GitCommitStats | undefined,
|
|
28
28
|
timestamp: number,
|
|
29
29
|
options: ContributorScoreOptions = defaultContributorScoreOptions,
|
|
30
|
+
now: number = Date.now(),
|
|
30
31
|
): number {
|
|
31
32
|
if (stats == null) return 0;
|
|
32
33
|
|
|
33
|
-
const now = Date.now();
|
|
34
34
|
const ageInDays = (now - timestamp) / (24 * 3600 * 1000);
|
|
35
35
|
|
|
36
36
|
// Time decay factor (exponential decay)
|
|
@@ -53,3 +53,10 @@ const conflictStatuses = new Set<string>(['U', 'AA', 'AU', 'UA', 'DD', 'DU', 'UD
|
|
|
53
53
|
export function isConflictStatus(status: string | undefined): status is 'U' | GitFileConflictStatus {
|
|
54
54
|
return status != null && conflictStatuses.has(status);
|
|
55
55
|
}
|
|
56
|
+
|
|
57
|
+
/** Repo-relative pathspec entries for a file. Renames/copies need BOTH sides: git applies pathspec limiting
|
|
58
|
+
* before rename detection, so `git diff -- <new>` drops the old path's deletion and the patch reads as a
|
|
59
|
+
* bare add (applying it duplicates the file instead of renaming it). */
|
|
60
|
+
export function getFileDiffPathspecs(file: { path: string; originalPath?: string }): string[] {
|
|
61
|
+
return file.originalPath ? [file.path, file.originalPath] : [file.path];
|
|
62
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { GitGraphRow } from '../models/graph.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Cursor-anchored concatenation of an accumulated rows window with a freshly-paged set — the SAME
|
|
5
|
+
* cursor-anchored append the graph webview's reducer performs: keep prior rows up to and including the
|
|
6
|
+
* cursor sha (trimming anything below it), then append the page; a cursor missing from the prior rows
|
|
7
|
+
* appends after all of them (the reducer's fallthrough).
|
|
8
|
+
*
|
|
9
|
+
* Owns the canonical cursor-trim rule for the provider-side accumulated window (`GitGraphSession.window`)
|
|
10
|
+
* and the host's rows mirror. Its ledger analogue (`appendRowsLedger` in the graph webview's
|
|
11
|
+
* `graphRowsSplice.ts`) MUST stay in lockstep with this so the row mirror and its fingerprint ledger
|
|
12
|
+
* can't drift.
|
|
13
|
+
*/
|
|
14
|
+
export function appendRowsAtCursor(
|
|
15
|
+
prior: readonly GitGraphRow[],
|
|
16
|
+
startingCursor: string,
|
|
17
|
+
page: readonly GitGraphRow[],
|
|
18
|
+
): GitGraphRow[] {
|
|
19
|
+
const cursorIndex = prior.findIndex(r => r.sha === startingCursor);
|
|
20
|
+
const keep = cursorIndex >= 0 ? cursorIndex + 1 : prior.length;
|
|
21
|
+
// Single-pass copy: preallocate the exact length, copy the kept prefix, then append the page — avoids
|
|
22
|
+
// the intermediate array a `slice` + double-spread allocates.
|
|
23
|
+
const result = new Array<GitGraphRow>(keep + page.length);
|
|
24
|
+
for (let i = 0; i < keep; i++) {
|
|
25
|
+
result[i] = prior[i];
|
|
26
|
+
}
|
|
27
|
+
for (let i = 0; i < page.length; i++) {
|
|
28
|
+
result[keep + i] = page[i];
|
|
29
|
+
}
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Write-once cross-generation avatar merge: carry a prior graph generation's resolved avatar URLs forward into
|
|
35
|
+
* a fresh generation's map WITHOUT overwriting its own entries. Resolved URLs are cheap to keep across a
|
|
36
|
+
* rebuild/page and the fresh map's entries always win, so a stale carry-forward can never clobber current data.
|
|
37
|
+
*/
|
|
38
|
+
export function mergeAvatarsForward(prior: ReadonlyMap<string, string>, incoming: Map<string, string>): void {
|
|
39
|
+
if (prior.size === 0) return;
|
|
40
|
+
|
|
41
|
+
for (const [email, url] of prior) {
|
|
42
|
+
if (!incoming.has(email)) {
|
|
43
|
+
incoming.set(email, url);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -92,7 +92,9 @@ export function serializePullRequest(value: PullRequest): PullRequestShape {
|
|
|
92
92
|
},
|
|
93
93
|
id: value.id,
|
|
94
94
|
nodeId: value.nodeId,
|
|
95
|
+
number: value.number,
|
|
95
96
|
title: value.title,
|
|
97
|
+
body: value.body,
|
|
96
98
|
url: value.url,
|
|
97
99
|
createdDate: value.createdDate,
|
|
98
100
|
updatedDate: value.updatedDate,
|
|
@@ -116,6 +118,9 @@ export function serializePullRequest(value: PullRequest): PullRequestShape {
|
|
|
116
118
|
sha: value.refs.head.sha,
|
|
117
119
|
branch: value.refs.head.branch,
|
|
118
120
|
url: value.refs.head.url,
|
|
121
|
+
cloneHttps: value.refs.head.cloneHttps,
|
|
122
|
+
cloneSsh: value.refs.head.cloneSsh,
|
|
123
|
+
isFork: value.refs.head.isFork,
|
|
119
124
|
},
|
|
120
125
|
base: {
|
|
121
126
|
exists: value.refs.base.exists,
|
|
@@ -124,6 +129,9 @@ export function serializePullRequest(value: PullRequest): PullRequestShape {
|
|
|
124
129
|
sha: value.refs.base.sha,
|
|
125
130
|
branch: value.refs.base.branch,
|
|
126
131
|
url: value.refs.base.url,
|
|
132
|
+
cloneHttps: value.refs.base.cloneHttps,
|
|
133
|
+
cloneSsh: value.refs.base.cloneSsh,
|
|
134
|
+
isFork: value.refs.base.isFork,
|
|
127
135
|
},
|
|
128
136
|
isCrossRepository: value.refs.isCrossRepository,
|
|
129
137
|
}
|
|
@@ -136,6 +144,7 @@ export function serializePullRequest(value: PullRequest): PullRequestShape {
|
|
|
136
144
|
reviewDecision: value.reviewDecision,
|
|
137
145
|
reviewRequests: value.reviewRequests,
|
|
138
146
|
assignees: value.assignees,
|
|
147
|
+
authoredByMe: value.authoredByMe,
|
|
139
148
|
project: value.project
|
|
140
149
|
? {
|
|
141
150
|
id: value.project.id,
|
|
@@ -1,17 +1,62 @@
|
|
|
1
1
|
import { base64, fromBase64 } from '../../utils/base64.js';
|
|
2
|
-
import type { GraphReachabilityTable } from '../models/graph.js';
|
|
2
|
+
import type { GraphContext, GraphReachabilityTable } from '../models/graph.js';
|
|
3
|
+
import { GitGraphRowContextFlags } from '../models/graph.js';
|
|
3
4
|
import type { GitCommitReachability } from '../providers/commits.js';
|
|
4
5
|
|
|
5
6
|
type ReachableRef = GitCommitReachability['refs'][number];
|
|
6
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Computes the compact {@link GitGraphRowContextFlags} bitfield for a commit row from its reachable-ref
|
|
10
|
+
* set and the walk's HEAD-derived sets. Single-sourced so the host row processor
|
|
11
|
+
* (`GlGraphRowProcessor`), the R6b incremental fast path, and the equivalence harness all compute
|
|
12
|
+
* byte-identical flags (no manual mirrors that can drift). Stash rows carry no flags — callers skip this
|
|
13
|
+
* for `stash-node` rows. See {@link GitGraphRowContextFlags} for the per-bit semantics.
|
|
14
|
+
*/
|
|
15
|
+
export function computeGraphRowContextFlags(
|
|
16
|
+
sha: string,
|
|
17
|
+
reachableRefs: Iterable<ReachableRef> | undefined,
|
|
18
|
+
ctx: Pick<
|
|
19
|
+
GraphContext,
|
|
20
|
+
'reachableFromHEAD' | 'rewriteableFromHEAD' | 'tipShasWithChildren' | 'reachableFromHeadUpstream'
|
|
21
|
+
>,
|
|
22
|
+
): GitGraphRowContextFlags {
|
|
23
|
+
// Allocation-free "exactly one local branch reachable" check → `+unique`.
|
|
24
|
+
let localBranches = 0;
|
|
25
|
+
if (reachableRefs != null) {
|
|
26
|
+
for (const r of reachableRefs) {
|
|
27
|
+
if (r.refType === 'branch' && !r.remote && ++localBranches > 1) break;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Unpublished (ahead) = reachable from HEAD but not from HEAD's upstream tip. Unpulled (behind) is its
|
|
31
|
+
// exact mirror over the same two sets: on the upstream tip but not on HEAD, i.e. `HEAD..@{u}`. Both are
|
|
32
|
+
// derived from `reachableFromHeadUpstream`, which is undefined when HEAD has no upstream — so neither
|
|
33
|
+
// is ever flagged in that case, and the two can never both be set for one sha.
|
|
34
|
+
const upstream = ctx.reachableFromHeadUpstream;
|
|
35
|
+
const reachableFromHead = ctx.reachableFromHEAD.has(sha);
|
|
36
|
+
const onUpstream = upstream?.has(sha) ?? false;
|
|
37
|
+
const isUnpublished = upstream != null && reachableFromHead && !onUpstream;
|
|
38
|
+
const isUnpulled = onUpstream && !reachableFromHead;
|
|
39
|
+
return (
|
|
40
|
+
(reachableFromHead ? GitGraphRowContextFlags.ReachableFromHead : 0) |
|
|
41
|
+
(ctx.rewriteableFromHEAD.has(sha) ? GitGraphRowContextFlags.RewriteableFromHead : 0) |
|
|
42
|
+
(localBranches === 1 ? GitGraphRowContextFlags.UniqueToBranch : 0) |
|
|
43
|
+
(ctx.tipShasWithChildren.has(sha) ? GitGraphRowContextFlags.HasChildren : 0) |
|
|
44
|
+
(isUnpublished ? GitGraphRowContextFlags.Unpublished : 0) |
|
|
45
|
+
(isUnpulled ? GitGraphRowContextFlags.Unpulled : 0)
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
7
49
|
/**
|
|
8
50
|
* Canonical dictionary key for a reachable ref. The `r`/`l` discriminator keeps a remote branch from
|
|
9
51
|
* colliding with a local branch of the same name; the `refType` prefix separates tags from branches.
|
|
52
|
+
* `current` is part of the key so a builder SEEDED from a prior generation's table can't hand back a
|
|
53
|
+
* stale dictionary entry after the checked-out branch changes — the updated ref interns as a new
|
|
54
|
+
* entry instead (within a single walk `current` can't change, so the wider key is behavior-neutral).
|
|
10
55
|
* Single-sourced here so the encoder ({@link createReachabilityTableBuilder}) and any future consumer
|
|
11
56
|
* can't drift on the convention.
|
|
12
57
|
*/
|
|
13
58
|
export function reachableRefKey(ref: ReachableRef): string {
|
|
14
|
-
return `${ref.refType}:${ref.refType === 'branch' && ref.remote ? 'r' : 'l'}:${ref.name}`;
|
|
59
|
+
return `${ref.refType}:${ref.refType === 'branch' && ref.remote ? 'r' : 'l'}:${ref.current ? 'c' : 'n'}:${ref.name}`;
|
|
15
60
|
}
|
|
16
61
|
|
|
17
62
|
// Monotonic generation counter — each builder (i.e. each fresh graph walk) gets a distinct id, while a
|
|
@@ -28,16 +73,29 @@ let nextReachabilityTableId = 0;
|
|
|
28
73
|
*
|
|
29
74
|
* Append-only by construction: an index, once assigned, is never reused — so a builder kept alive
|
|
30
75
|
* across paginated loads accumulates a table whose existing indices stay valid as it grows.
|
|
76
|
+
*
|
|
77
|
+
* Pass a prior generation's table as `seed` to CONTINUE it: identical ref sets re-intern to their
|
|
78
|
+
* seeded indices and the table keeps the seed's `id`, so rows retained across a rebuild keep valid
|
|
79
|
+
* `reachabilityIndex` values and the host's same-id delta shipping applies (only appended entries go
|
|
80
|
+
* over the wire). Entries the new walk never re-interns stay in the table unreferenced — harmless,
|
|
81
|
+
* and bounded by per-session ref churn.
|
|
31
82
|
*/
|
|
32
|
-
export function createReachabilityTableBuilder(): {
|
|
83
|
+
export function createReachabilityTableBuilder(seed?: GraphReachabilityTable): {
|
|
33
84
|
intern: (refs: Iterable<ReachableRef> | undefined) => number | undefined;
|
|
34
85
|
build: () => GraphReachabilityTable | undefined;
|
|
35
86
|
} {
|
|
36
|
-
const id = ++nextReachabilityTableId;
|
|
37
|
-
const dictionary: GitCommitReachability['refs'] = [];
|
|
38
|
-
const refKeyToIndex = new Map<string, number>();
|
|
39
|
-
const sets: string[] = [];
|
|
40
|
-
const setKeyToIndex = new Map<string, number>();
|
|
87
|
+
const id = seed?.id ?? ++nextReachabilityTableId;
|
|
88
|
+
const dictionary: GitCommitReachability['refs'] = seed != null ? [...seed.dictionary] : [];
|
|
89
|
+
const refKeyToIndex = new Map<string, number>(dictionary.map((ref, i) => [reachableRefKey(ref), i]));
|
|
90
|
+
const sets: string[] = seed != null ? [...seed.sets] : [];
|
|
91
|
+
const setKeyToIndex = new Map<string, number>(sets.map((encoded, i) => [encoded, i]));
|
|
92
|
+
|
|
93
|
+
// Reachability is monotone, so a graph walk interns long runs of IDENTICAL sets (thousands of
|
|
94
|
+
// consecutive trunk rows share one set). Remembering the previous call's indices skips the
|
|
95
|
+
// bitmap-pack + base64 for those runs; a same-membership-different-order call just falls through
|
|
96
|
+
// to the (still correct) slow path.
|
|
97
|
+
let lastIndices: number[] | undefined;
|
|
98
|
+
let lastSetIndex: number | undefined;
|
|
41
99
|
|
|
42
100
|
return {
|
|
43
101
|
/** Interns a ref set, returning its index into `sets`, or undefined when the set is empty. */
|
|
@@ -61,6 +119,17 @@ export function createReachabilityTableBuilder(): {
|
|
|
61
119
|
}
|
|
62
120
|
if (indices.length === 0) return undefined;
|
|
63
121
|
|
|
122
|
+
if (lastIndices != null && indices.length === lastIndices.length) {
|
|
123
|
+
let same = true;
|
|
124
|
+
for (let i = 0; i < indices.length; i++) {
|
|
125
|
+
if (indices[i] !== lastIndices[i]) {
|
|
126
|
+
same = false;
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (same) return lastSetIndex;
|
|
131
|
+
}
|
|
132
|
+
|
|
64
133
|
// Pack into a bitset sized to this set's high-water dictionary index, then intern by base64.
|
|
65
134
|
const bytes = new Uint8Array((maxIndex >> 3) + 1);
|
|
66
135
|
for (const index of indices) {
|
|
@@ -73,6 +142,8 @@ export function createReachabilityTableBuilder(): {
|
|
|
73
142
|
setKeyToIndex.set(encoded, setIndex);
|
|
74
143
|
sets.push(encoded);
|
|
75
144
|
}
|
|
145
|
+
lastIndices = indices;
|
|
146
|
+
lastSetIndex = setIndex;
|
|
76
147
|
return setIndex;
|
|
77
148
|
},
|
|
78
149
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Strict allowlist of OpenSSH public-key types valid in an `allowed_signers`/`.pub` entry, including security-key
|
|
2
|
+
// (`sk-`) and certificate (`-cert-v01@openssh.com`) variants. Used to reject attacker-controllable key types embedded
|
|
3
|
+
// in commit SSH signatures (or returned by a provider) before they're written to a trust-sensitive file.
|
|
4
|
+
const sshKeyTypeRegex =
|
|
5
|
+
/^(?:sk-)?(?:ssh-ed25519|ssh-rsa|ssh-dss|ecdsa-sha2-nistp(?:256|384|521))(?:-cert-v01)?(?:@openssh\.com)?$/;
|
|
6
|
+
|
|
7
|
+
// A base64 blob with no embedded whitespace/newlines (length must be a multiple of 4, standard base64 alphabet).
|
|
8
|
+
const base64Regex = /^[A-Za-z0-9+/]+={0,2}$/;
|
|
9
|
+
|
|
10
|
+
// A principal safe to write as the first token of an `allowed_signers` line. Beyond whitespace/control characters
|
|
11
|
+
// (which would inject extra tokens or whole lines), it also rejects the principal-list meta-characters `,` (separator),
|
|
12
|
+
// `*`/`?` (wildcards), `!` (negation), and `"`/`\` (quoting) — any of which could broaden a single identity into a
|
|
13
|
+
// list or pattern that matches signers it shouldn't.
|
|
14
|
+
// eslint-disable-next-line no-control-regex
|
|
15
|
+
const principalRegex = /^[^\s\x00-\x1f\x7f,*?!"\\]+$/;
|
|
16
|
+
|
|
17
|
+
/** Whether `keyType` is a recognized OpenSSH public-key type (strict allowlist, not a prefix match). */
|
|
18
|
+
export function isValidSshKeyType(keyType: string): boolean {
|
|
19
|
+
return sshKeyTypeRegex.test(keyType);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** Whether `keyData` is a well-formed base64 public-key blob with no embedded whitespace or newlines. */
|
|
23
|
+
export function isValidSshKeyData(keyData: string): boolean {
|
|
24
|
+
return keyData.length % 4 === 0 && base64Regex.test(keyData);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** Whether `principal` is safe to write as an `allowed_signers` principal (non-empty, no whitespace/control chars). */
|
|
28
|
+
export function isValidAllowedSignerPrincipal(principal: string): boolean {
|
|
29
|
+
return principalRegex.test(principal);
|
|
30
|
+
}
|
|
@@ -69,6 +69,13 @@ export class RepositoryWatchService implements UnifiedDisposable {
|
|
|
69
69
|
return this._onDidChangeRepository.event;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
private readonly _onDidChangeWorkingTree = new Emitter<string>();
|
|
73
|
+
/** Global multiplexed working-tree change event (repo path) for ALL watched repos. Fires once per
|
|
74
|
+
* debounced flush per session — the single point that drives the cache's status clock for working-tree edits. */
|
|
75
|
+
get onDidChangeWorkingTree(): Event<string> {
|
|
76
|
+
return this._onDidChangeWorkingTree.event;
|
|
77
|
+
}
|
|
78
|
+
|
|
72
79
|
private readonly defaultRepoDelayMs?: number;
|
|
73
80
|
private readonly defaultWorkingTreeDelayMs?: number;
|
|
74
81
|
private readonly getIgnoreFilter?: (repoPath: string, gitDirPath: string) => GitIgnoreFilter | undefined;
|
|
@@ -113,6 +120,7 @@ export class RepositoryWatchService implements UnifiedDisposable {
|
|
|
113
120
|
this.wtWatchers.clear();
|
|
114
121
|
|
|
115
122
|
this._onDidChangeRepository.dispose();
|
|
123
|
+
this._onDidChangeWorkingTree.dispose();
|
|
116
124
|
}
|
|
117
125
|
|
|
118
126
|
/**
|
|
@@ -164,6 +172,9 @@ export class RepositoryWatchService implements UnifiedDisposable {
|
|
|
164
172
|
onDidFireRepoChange: (event): void => {
|
|
165
173
|
this._onDidChangeRepository.fire(event);
|
|
166
174
|
},
|
|
175
|
+
onDidFireWorkingTreeChange: (repoPath): void => {
|
|
176
|
+
this._onDidChangeWorkingTree.fire(repoPath);
|
|
177
|
+
},
|
|
167
178
|
});
|
|
168
179
|
|
|
169
180
|
const watchHooksSet = new Set<WatchHooks>();
|
|
@@ -331,7 +342,11 @@ export class RepositoryWatchService implements UnifiedDisposable {
|
|
|
331
342
|
for (const h of watchHooks) {
|
|
332
343
|
h.onGitIgnoreChanged?.(repoPath);
|
|
333
344
|
}
|
|
334
|
-
//
|
|
345
|
+
// Route the ignore-rule change through the repo channel as an `ignores` change (like `info/exclude`),
|
|
346
|
+
// so it reaches EVERY session subscriber — including a closed secondary worktree's `watch()` `repoSub`,
|
|
347
|
+
// which has no `onGitIgnoreChanged` hook and would otherwise keep a stale untracked-file list. Coalesces
|
|
348
|
+
// with any hook-fired `ignores` above, so open repos don't double. (.gitignore itself is not a WT change.)
|
|
349
|
+
session.pushRepoChanges(['ignores']);
|
|
335
350
|
return;
|
|
336
351
|
}
|
|
337
352
|
|