@gitkraken/core-gitlens 0.6.0 → 0.7.0
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 +15 -1
- package/README.md +9 -2
- package/dist/_virtual/@oxc-project+runtime/helpers/esm/decorate.js +9 -0
- package/dist/_virtual/@oxc-project+runtime/helpers/esm/usingCtx.js +57 -0
- package/dist/git/cache.d.ts +297 -297
- package/dist/git/cache.js +948 -1276
- package/dist/git/cache.js.map +1 -1
- package/dist/git/context.d.ts +202 -197
- package/dist/git/context.js +12 -8
- package/dist/git/context.js.map +1 -1
- package/dist/git/errors.d.ts +268 -281
- package/dist/git/errors.js +928 -706
- package/dist/git/errors.js.map +1 -1
- package/dist/git/features.d.ts +3 -2
- package/dist/git/features.js +34 -55
- package/dist/git/features.js.map +1 -1
- package/dist/git/gitHealth.d.ts +88 -81
- package/dist/git/gitHealth.js +259 -329
- package/dist/git/gitHealth.js.map +1 -1
- package/dist/git/models/author.d.ts +12 -10
- package/dist/git/models/author.js +0 -2
- package/dist/git/models/autolink.d.ts +36 -37
- package/dist/git/models/autolink.js +0 -2
- package/dist/git/models/blame.d.ts +25 -23
- package/dist/git/models/blame.js +0 -2
- package/dist/git/models/branch.d.ts +74 -72
- package/dist/git/models/branch.js +132 -171
- package/dist/git/models/branch.js.map +1 -1
- package/dist/git/models/commit.d.ts +135 -133
- package/dist/git/models/commit.js +381 -484
- package/dist/git/models/commit.js.map +1 -1
- package/dist/git/models/contributor.d.ts +30 -29
- package/dist/git/models/contributor.js +56 -64
- package/dist/git/models/contributor.js.map +1 -1
- package/dist/git/models/defaultBranch.d.ts +5 -3
- package/dist/git/models/defaultBranch.js +0 -2
- package/dist/git/models/diff.d.ts +49 -47
- package/dist/git/models/diff.js +0 -2
- package/dist/git/models/file.d.ts +20 -18
- package/dist/git/models/file.js +0 -2
- package/dist/git/models/fileChange.d.ts +45 -43
- package/dist/git/models/fileChange.js +60 -66
- package/dist/git/models/fileChange.js.map +1 -1
- package/dist/git/models/fileStatus.d.ts +25 -23
- package/dist/git/models/fileStatus.js +30 -26
- package/dist/git/models/fileStatus.js.map +1 -1
- package/dist/git/models/graph.d.ts +328 -320
- package/dist/git/models/graph.js +31 -27
- package/dist/git/models/graph.js.map +1 -1
- package/dist/git/models/graphSearch.d.ts +37 -35
- package/dist/git/models/graphSearch.js +0 -2
- package/dist/git/models/graphSession.d.ts +158 -66
- package/dist/git/models/graphSession.js +72 -1
- package/dist/git/models/graphSession.js.map +1 -1
- package/dist/git/models/issue.d.ts +171 -150
- package/dist/git/models/issue.js +86 -88
- package/dist/git/models/issue.js.map +1 -1
- package/dist/git/models/issueOrPullRequest.d.ts +16 -14
- package/dist/git/models/issueOrPullRequest.js +0 -2
- package/dist/git/models/lineRange.d.ts +6 -4
- package/dist/git/models/lineRange.js +0 -2
- package/dist/git/models/log.d.ts +18 -16
- package/dist/git/models/log.js +0 -2
- package/dist/git/models/mergeConflicts.d.ts +17 -15
- package/dist/git/models/mergeConflicts.js +0 -2
- package/dist/git/models/patch.d.ts +14 -12
- package/dist/git/models/patch.js +0 -2
- package/dist/git/models/pausedOperationStatus.d.ts +42 -40
- package/dist/git/models/pausedOperationStatus.js +0 -2
- package/dist/git/models/pullRequest.d.ts +238 -236
- package/dist/git/models/pullRequest.js +151 -163
- package/dist/git/models/pullRequest.js.map +1 -1
- package/dist/git/models/rebase.d.ts +30 -28
- package/dist/git/models/rebase.js +0 -2
- package/dist/git/models/reference.d.ts +57 -55
- package/dist/git/models/reference.js +0 -2
- package/dist/git/models/reflog.d.ts +29 -27
- package/dist/git/models/reflog.js +63 -82
- package/dist/git/models/reflog.js.map +1 -1
- package/dist/git/models/remote.d.ts +34 -32
- package/dist/git/models/remote.js +74 -95
- package/dist/git/models/remote.js.map +1 -1
- package/dist/git/models/remoteProvider.d.ts +86 -84
- package/dist/git/models/remoteProvider.js +145 -150
- package/dist/git/models/remoteProvider.js.map +1 -1
- package/dist/git/models/remoteResource.d.ts +58 -56
- package/dist/git/models/remoteResource.js +15 -12
- package/dist/git/models/remoteResource.js.map +1 -1
- package/dist/git/models/repository.d.ts +144 -142
- package/dist/git/models/repository.js +358 -406
- package/dist/git/models/repository.js.map +1 -1
- package/dist/git/models/repositoryChangeEvent.d.ts +8 -6
- package/dist/git/models/repositoryChangeEvent.js +26 -24
- package/dist/git/models/repositoryChangeEvent.js.map +1 -1
- package/dist/git/models/repositoryIdentities.d.ts +50 -46
- package/dist/git/models/repositoryIdentities.js +7 -5
- package/dist/git/models/repositoryIdentities.js.map +1 -1
- package/dist/git/models/repositoryMetadata.d.ts +9 -7
- package/dist/git/models/repositoryMetadata.js +0 -2
- package/dist/git/models/resourceDescriptor.d.ts +11 -9
- package/dist/git/models/resourceDescriptor.js +0 -2
- package/dist/git/models/revision.d.ts +2 -0
- package/dist/git/models/revision.js +8 -5
- package/dist/git/models/revision.js.map +1 -1
- package/dist/git/models/search.d.ts +48 -47
- package/dist/git/models/search.js +53 -49
- package/dist/git/models/search.js.map +1 -1
- package/dist/git/models/shortlog.d.ts +5 -3
- package/dist/git/models/shortlog.js +0 -2
- package/dist/git/models/signature.d.ts +28 -26
- package/dist/git/models/signature.js +0 -2
- package/dist/git/models/staging.d.ts +18 -16
- package/dist/git/models/staging.js +0 -2
- package/dist/git/models/stash.d.ts +5 -3
- package/dist/git/models/stash.js +0 -2
- package/dist/git/models/status.d.ts +51 -49
- package/dist/git/models/status.js +172 -205
- package/dist/git/models/status.js.map +1 -1
- package/dist/git/models/statusFile.d.ts +35 -34
- package/dist/git/models/statusFile.js +112 -125
- package/dist/git/models/statusFile.js.map +1 -1
- package/dist/git/models/tag.d.ts +34 -32
- package/dist/git/models/tag.js +64 -77
- package/dist/git/models/tag.js.map +1 -1
- package/dist/git/models/tree.d.ts +8 -6
- package/dist/git/models/tree.js +0 -2
- package/dist/git/models/user.d.ts +6 -4
- package/dist/git/models/user.js +0 -2
- package/dist/git/models/worktree.d.ts +50 -48
- package/dist/git/models/worktree.js +102 -133
- package/dist/git/models/worktree.js.map +1 -1
- package/dist/git/parsers/diffParser.d.ts +7 -5
- package/dist/git/parsers/diffParser.js +438 -587
- package/dist/git/parsers/diffParser.js.map +1 -1
- package/dist/git/parsers/rebaseTodoParser.d.ts +3 -1
- package/dist/git/parsers/rebaseTodoParser.js +165 -208
- package/dist/git/parsers/rebaseTodoParser.js.map +1 -1
- package/dist/git/providers/blame.d.ts +12 -10
- package/dist/git/providers/blame.js +0 -2
- package/dist/git/providers/branches.d.ts +96 -94
- package/dist/git/providers/branches.js +0 -2
- package/dist/git/providers/commits.d.ts +105 -104
- package/dist/git/providers/commits.js +0 -2
- package/dist/git/providers/config.d.ts +80 -78
- package/dist/git/providers/config.js +0 -2
- package/dist/git/providers/contributors.d.ts +23 -21
- package/dist/git/providers/contributors.js +0 -2
- package/dist/git/providers/diff.d.ts +68 -66
- package/dist/git/providers/diff.js +0 -2
- package/dist/git/providers/graph.d.ts +73 -62
- package/dist/git/providers/graph.js +0 -2
- package/dist/git/providers/maintenance.d.ts +180 -178
- package/dist/git/providers/maintenance.js +0 -20
- package/dist/git/providers/operations.d.ts +114 -112
- package/dist/git/providers/operations.js +0 -2
- package/dist/git/providers/patch.d.ts +26 -24
- package/dist/git/providers/patch.js +0 -2
- package/dist/git/providers/pausedOperations.d.ts +19 -17
- package/dist/git/providers/pausedOperations.js +0 -2
- package/dist/git/providers/provider.d.ts +52 -50
- package/dist/git/providers/provider.js +0 -2
- package/dist/git/providers/refs.d.ts +42 -40
- package/dist/git/providers/refs.js +0 -2
- package/dist/git/providers/remotes.d.ts +24 -22
- package/dist/git/providers/remotes.js +0 -2
- package/dist/git/providers/revision.d.ts +25 -23
- package/dist/git/providers/revision.js +0 -2
- package/dist/git/providers/shared/remotes.d.ts +24 -22
- package/dist/git/providers/shared/remotes.js +52 -77
- package/dist/git/providers/shared/remotes.js.map +1 -1
- package/dist/git/providers/staging.d.ts +37 -35
- package/dist/git/providers/staging.js +0 -2
- package/dist/git/providers/stash.d.ts +38 -36
- package/dist/git/providers/stash.js +0 -2
- package/dist/git/providers/status.d.ts +32 -30
- package/dist/git/providers/status.js +0 -2
- package/dist/git/providers/tags.d.ts +20 -18
- package/dist/git/providers/tags.js +0 -2
- package/dist/git/providers/types.d.ts +19 -17
- package/dist/git/providers/types.js +0 -2
- package/dist/git/providers/worktrees.d.ts +26 -24
- package/dist/git/providers/worktrees.js +0 -2
- package/dist/git/remotes/azure-devops.d.ts +46 -45
- package/dist/git/remotes/azure-devops.js +252 -257
- package/dist/git/remotes/azure-devops.js.map +1 -1
- package/dist/git/remotes/bitbucket-server.d.ts +30 -29
- package/dist/git/remotes/bitbucket-server.js +141 -142
- package/dist/git/remotes/bitbucket-server.js.map +1 -1
- package/dist/git/remotes/bitbucket.d.ts +27 -26
- package/dist/git/remotes/bitbucket.js +114 -111
- package/dist/git/remotes/bitbucket.js.map +1 -1
- package/dist/git/remotes/custom.d.ts +26 -25
- package/dist/git/remotes/custom.js +130 -130
- package/dist/git/remotes/custom.js.map +1 -1
- package/dist/git/remotes/gerrit.d.ts +29 -28
- package/dist/git/remotes/gerrit.js +140 -143
- package/dist/git/remotes/gerrit.js.map +1 -1
- package/dist/git/remotes/gitea.d.ts +28 -27
- package/dist/git/remotes/gitea.js +141 -145
- package/dist/git/remotes/gitea.js.map +1 -1
- package/dist/git/remotes/github.d.ts +35 -34
- package/dist/git/remotes/github.js +196 -190
- package/dist/git/remotes/github.js.map +1 -1
- package/dist/git/remotes/gitlab.d.ts +31 -30
- package/dist/git/remotes/gitlab.js +245 -227
- package/dist/git/remotes/gitlab.js.map +1 -1
- package/dist/git/remotes/google-source.d.ts +16 -14
- package/dist/git/remotes/google-source.js +33 -31
- package/dist/git/remotes/google-source.js.map +1 -1
- package/dist/git/remotes/matcher.d.ts +16 -14
- package/dist/git/remotes/matcher.js +141 -124
- package/dist/git/remotes/matcher.js.map +1 -1
- package/dist/git/repositoryService.d.ts +47 -47
- package/dist/git/repositoryService.js +47 -44
- package/dist/git/repositoryService.js.map +1 -1
- package/dist/git/run.types.d.ts +91 -76
- package/dist/git/run.types.js +0 -2
- package/dist/git/service.d.ts +73 -71
- package/dist/git/service.js +286 -302
- package/dist/git/service.js.map +1 -1
- package/dist/git/utils/autolink.utils.d.ts +4 -2
- package/dist/git/utils/autolink.utils.js +103 -139
- package/dist/git/utils/autolink.utils.js.map +1 -1
- package/dist/git/utils/blame.utils.d.ts +22 -20
- package/dist/git/utils/blame.utils.js +196 -230
- package/dist/git/utils/blame.utils.js.map +1 -1
- package/dist/git/utils/branch.utils.d.ts +7 -9
- package/dist/git/utils/branch.utils.js +89 -115
- package/dist/git/utils/branch.utils.js.map +1 -1
- package/dist/git/utils/commit.utils.d.ts +10 -16
- package/dist/git/utils/commit.utils.js +28 -47
- package/dist/git/utils/commit.utils.js.map +1 -1
- package/dist/git/utils/config.utils.d.ts +2 -0
- package/dist/git/utils/config.utils.js +14 -5
- package/dist/git/utils/config.utils.js.map +1 -1
- package/dist/git/utils/conflictResolution.utils.d.ts +16 -13
- package/dist/git/utils/conflictResolution.utils.js +116 -113
- package/dist/git/utils/conflictResolution.utils.js.map +1 -1
- package/dist/git/utils/contributor.utils.d.ts +10 -8
- package/dist/git/utils/contributor.utils.js +47 -69
- package/dist/git/utils/contributor.utils.js.map +1 -1
- package/dist/git/utils/fetch.utils.d.ts +2 -0
- package/dist/git/utils/fetch.utils.js +33 -44
- package/dist/git/utils/fetch.utils.js.map +1 -1
- package/dist/git/utils/fileStatus.utils.d.ts +22 -21
- package/dist/git/utils/fileStatus.utils.js +59 -45
- package/dist/git/utils/fileStatus.utils.js.map +1 -1
- package/dist/git/utils/graph.utils.d.ts +19 -1
- package/dist/git/utils/graph.utils.js +60 -35
- package/dist/git/utils/graph.utils.js.map +1 -1
- package/dist/git/utils/issue.utils.d.ts +3 -1
- package/dist/git/utils/issue.utils.js +154 -158
- package/dist/git/utils/issue.utils.js.map +1 -1
- package/dist/git/utils/issueOrPullRequest.utils.d.ts +3 -1
- package/dist/git/utils/issueOrPullRequest.utils.js +23 -20
- package/dist/git/utils/issueOrPullRequest.utils.js.map +1 -1
- package/dist/git/utils/mergeConflicts.utils.d.ts +4 -1
- package/dist/git/utils/mergeConflicts.utils.js +28 -15
- package/dist/git/utils/mergeConflicts.utils.js.map +1 -1
- package/dist/git/utils/pausedOperationStatus.utils.d.ts +7 -42
- package/dist/git/utils/pausedOperationStatus.utils.js +83 -146
- package/dist/git/utils/pausedOperationStatus.utils.js.map +1 -1
- package/dist/git/utils/pullRequest.utils.d.ts +7 -5
- package/dist/git/utils/pullRequest.utils.js +180 -187
- package/dist/git/utils/pullRequest.utils.js.map +1 -1
- package/dist/git/utils/reachability.utils.d.ts +6 -6
- package/dist/git/utils/reachability.utils.js +120 -147
- package/dist/git/utils/reachability.utils.js.map +1 -1
- package/dist/git/utils/rebase.utils.d.ts +3 -1
- package/dist/git/utils/rebase.utils.js +87 -71
- package/dist/git/utils/rebase.utils.js.map +1 -1
- package/dist/git/utils/reference.utils.d.ts +33 -32
- package/dist/git/utils/reference.utils.js +152 -179
- package/dist/git/utils/reference.utils.js.map +1 -1
- package/dist/git/utils/remote.utils.d.ts +5 -3
- package/dist/git/utils/remote.utils.js +77 -116
- package/dist/git/utils/remote.utils.js.map +1 -1
- package/dist/git/utils/repository.utils.d.ts +3 -1
- package/dist/git/utils/repository.utils.js +12 -11
- package/dist/git/utils/repository.utils.js.map +1 -1
- package/dist/git/utils/resourceDescriptor.utils.d.ts +3 -1
- package/dist/git/utils/resourceDescriptor.utils.js +8 -14
- package/dist/git/utils/resourceDescriptor.utils.js.map +1 -1
- package/dist/git/utils/revision.utils.d.ts +11 -10
- package/dist/git/utils/revision.utils.js +69 -83
- package/dist/git/utils/revision.utils.js.map +1 -1
- package/dist/git/utils/search.utils.d.ts +5 -3
- package/dist/git/utils/search.utils.js +383 -522
- package/dist/git/utils/search.utils.js.map +1 -1
- package/dist/git/utils/sorting.d.ts +22 -20
- package/dist/git/utils/sorting.js +133 -227
- package/dist/git/utils/sorting.js.map +1 -1
- package/dist/git/utils/sshKey.utils.d.ts +2 -0
- package/dist/git/utils/sshKey.utils.js +10 -15
- package/dist/git/utils/sshKey.utils.js.map +1 -1
- package/dist/git/utils/status.utils.d.ts +20 -15
- package/dist/git/utils/status.utils.js +93 -79
- package/dist/git/utils/status.utils.js.map +1 -1
- package/dist/git/utils/statusFile.utils.d.ts +6 -4
- package/dist/git/utils/statusFile.utils.js +71 -72
- package/dist/git/utils/statusFile.utils.js.map +1 -1
- package/dist/git/utils/tag.utils.d.ts +4 -2
- package/dist/git/utils/tag.utils.js +10 -8
- package/dist/git/utils/tag.utils.js.map +1 -1
- package/dist/git/utils/tooltip.utils.d.ts +5 -2
- package/dist/git/utils/tooltip.utils.js +49 -24
- package/dist/git/utils/tooltip.utils.js.map +1 -1
- package/dist/git/utils/uriAuthority.d.ts +9 -7
- package/dist/git/utils/uriAuthority.js +19 -16
- package/dist/git/utils/uriAuthority.js.map +1 -1
- package/dist/git/utils/user.utils.d.ts +3 -1
- package/dist/git/utils/user.utils.js +6 -10
- package/dist/git/utils/user.utils.js.map +1 -1
- package/dist/git/utils/worktree.utils.d.ts +5 -3
- package/dist/git/utils/worktree.utils.js +14 -12
- package/dist/git/utils/worktree.utils.js.map +1 -1
- package/dist/git/watching/changeEvent.d.ts +38 -36
- package/dist/git/watching/changeEvent.js +60 -67
- package/dist/git/watching/changeEvent.js.map +1 -1
- package/dist/git/watching/classifyChange.d.ts +3 -1
- package/dist/git/watching/classifyChange.js +50 -79
- package/dist/git/watching/classifyChange.js.map +1 -1
- package/dist/git/watching/gitIgnoreFilter.d.ts +43 -41
- package/dist/git/watching/gitIgnoreFilter.js +92 -107
- package/dist/git/watching/gitIgnoreFilter.js.map +1 -1
- package/dist/git/watching/initWatcher.d.ts +22 -20
- package/dist/git/watching/initWatcher.js +58 -57
- package/dist/git/watching/initWatcher.js.map +1 -1
- package/dist/git/watching/provider.d.ts +8 -7
- package/dist/git/watching/provider.js +0 -2
- package/dist/git/watching/watchGroup.d.ts +29 -28
- package/dist/git/watching/watchGroup.js +105 -137
- package/dist/git/watching/watchGroup.js.map +1 -1
- package/dist/git/watching/watchService.d.ts +70 -68
- package/dist/git/watching/watchService.js +275 -339
- package/dist/git/watching/watchService.js.map +1 -1
- package/dist/git/watching/watchSession.d.ts +112 -111
- package/dist/git/watching/watchSession.js +260 -314
- package/dist/git/watching/watchSession.js.map +1 -1
- package/dist/git/watching/watcherPatterns.d.ts +4 -2
- package/dist/git/watching/watcherPatterns.js +21 -24
- package/dist/git/watching/watcherPatterns.js.map +1 -1
- package/dist/git-cli/cliGitProvider.d.ts +117 -114
- package/dist/git-cli/cliGitProvider.js +261 -283
- package/dist/git-cli/cliGitProvider.js.map +1 -1
- package/dist/git-cli/exec/eventLoopMonitor.d.ts +26 -0
- package/dist/git-cli/exec/eventLoopMonitor.js +61 -0
- package/dist/git-cli/exec/eventLoopMonitor.js.map +1 -0
- package/dist/git-cli/exec/exec.d.ts +3 -4
- package/dist/git-cli/exec/exec.errors.d.ts +2 -2
- package/dist/git-cli/exec/exec.errors.js +2 -2
- package/dist/git-cli/exec/exec.js +3 -3
- package/dist/git-cli/exec/exec.types.d.ts +2 -2
- package/dist/git-cli/exec/exec.types.js +0 -2
- package/dist/git-cli/exec/features.d.ts +2 -3
- package/dist/git-cli/exec/features.js +2 -2
- package/dist/git-cli/exec/git.d.ts +224 -205
- package/dist/git-cli/exec/git.js +834 -1042
- package/dist/git-cli/exec/git.js.map +1 -1
- package/dist/git-cli/exec/gitQueue.d.ts +51 -48
- package/dist/git-cli/exec/gitQueue.js +225 -260
- package/dist/git-cli/exec/gitQueue.js.map +1 -1
- package/dist/git-cli/exec/locator.d.ts +8 -6
- package/dist/git-cli/exec/locator.js +95 -121
- package/dist/git-cli/exec/locator.js.map +1 -1
- package/dist/git-cli/parsers/blameParser.d.ts +22 -20
- package/dist/git-cli/parsers/blameParser.js +238 -332
- package/dist/git-cli/parsers/blameParser.js.map +1 -1
- package/dist/git-cli/parsers/indexParser.d.ts +3 -1
- package/dist/git-cli/parsers/indexParser.js +146 -221
- package/dist/git-cli/parsers/indexParser.js.map +1 -1
- package/dist/git-cli/parsers/logParser.d.ts +103 -110
- package/dist/git-cli/parsers/logParser.js +998 -1199
- package/dist/git-cli/parsers/logParser.js.map +1 -1
- package/dist/git-cli/parsers/mergeTreeParser.d.ts +5 -3
- package/dist/git-cli/parsers/mergeTreeParser.js +28 -72
- package/dist/git-cli/parsers/mergeTreeParser.js.map +1 -1
- package/dist/git-cli/parsers/refParser.d.ts +5 -4
- package/dist/git-cli/parsers/refParser.js +92 -137
- package/dist/git-cli/parsers/refParser.js.map +1 -1
- package/dist/git-cli/parsers/reflogParser.d.ts +7 -6
- package/dist/git-cli/parsers/reflogParser.js +100 -173
- package/dist/git-cli/parsers/reflogParser.js.map +1 -1
- package/dist/git-cli/parsers/remoteParser.d.ts +4 -2
- package/dist/git-cli/parsers/remoteParser.js +74 -126
- package/dist/git-cli/parsers/remoteParser.js.map +1 -1
- package/dist/git-cli/parsers/shortlogParser.d.ts +4 -2
- package/dist/git-cli/parsers/shortlogParser.js +44 -49
- package/dist/git-cli/parsers/shortlogParser.js.map +1 -1
- package/dist/git-cli/parsers/signatureParser.d.ts +3 -1
- package/dist/git-cli/parsers/signatureParser.js +82 -124
- package/dist/git-cli/parsers/signatureParser.js.map +1 -1
- package/dist/git-cli/parsers/sshSignatureParser.d.ts +5 -3
- package/dist/git-cli/parsers/sshSignatureParser.js +55 -64
- package/dist/git-cli/parsers/sshSignatureParser.js.map +1 -1
- package/dist/git-cli/parsers/statusParser.d.ts +4 -2
- package/dist/git-cli/parsers/statusParser.js +148 -205
- package/dist/git-cli/parsers/statusParser.js.map +1 -1
- package/dist/git-cli/parsers/treeParser.d.ts +3 -1
- package/dist/git-cli/parsers/treeParser.js +57 -108
- package/dist/git-cli/parsers/treeParser.js.map +1 -1
- package/dist/git-cli/parsers/worktreeParser.d.ts +4 -3
- package/dist/git-cli/parsers/worktreeParser.js +76 -132
- package/dist/git-cli/parsers/worktreeParser.js.map +1 -1
- package/dist/git-cli/providers/blame.d.ts +25 -23
- package/dist/git-cli/providers/blame.js +404 -413
- package/dist/git-cli/providers/blame.js.map +1 -1
- package/dist/git-cli/providers/branches.d.ts +117 -116
- package/dist/git-cli/providers/branches.js +1132 -1468
- package/dist/git-cli/providers/branches.js.map +1 -1
- package/dist/git-cli/providers/commitFilesetUtils.d.ts +4 -2
- package/dist/git-cli/providers/commitFilesetUtils.js +36 -18
- package/dist/git-cli/providers/commitFilesetUtils.js.map +1 -1
- package/dist/git-cli/providers/commits.d.ts +58 -56
- package/dist/git-cli/providers/commits.js +1084 -1423
- package/dist/git-cli/providers/commits.js.map +1 -1
- package/dist/git-cli/providers/config.d.ts +129 -127
- package/dist/git-cli/providers/config.js +612 -831
- package/dist/git-cli/providers/config.js.map +1 -1
- package/dist/git-cli/providers/contributors.d.ts +29 -28
- package/dist/git-cli/providers/contributors.js +246 -351
- package/dist/git-cli/providers/contributors.js.map +1 -1
- package/dist/git-cli/providers/diff.d.ts +97 -94
- package/dist/git-cli/providers/diff.js +638 -845
- package/dist/git-cli/providers/diff.js.map +1 -1
- package/dist/git-cli/providers/graph.d.ts +66 -68
- package/dist/git-cli/providers/graph.js +1400 -1848
- package/dist/git-cli/providers/graph.js.map +1 -1
- package/dist/git-cli/providers/maintenance.d.ts +305 -303
- package/dist/git-cli/providers/maintenance.js +1526 -2078
- package/dist/git-cli/providers/maintenance.js.map +1 -1
- package/dist/git-cli/providers/operations.d.ts +96 -94
- package/dist/git-cli/providers/operations.js +664 -724
- package/dist/git-cli/providers/operations.js.map +1 -1
- package/dist/git-cli/providers/patch.d.ts +37 -35
- package/dist/git-cli/providers/patch.js +206 -307
- package/dist/git-cli/providers/patch.js.map +1 -1
- package/dist/git-cli/providers/pausedOperations.d.ts +30 -28
- package/dist/git-cli/providers/pausedOperations.js +475 -506
- package/dist/git-cli/providers/pausedOperations.js.map +1 -1
- package/dist/git-cli/providers/refs.d.ts +50 -48
- package/dist/git-cli/providers/refs.js +335 -479
- package/dist/git-cli/providers/refs.js.map +1 -1
- package/dist/git-cli/providers/remotes.d.ts +23 -21
- package/dist/git-cli/providers/remotes.js +71 -92
- package/dist/git-cli/providers/remotes.js.map +1 -1
- package/dist/git-cli/providers/revision.d.ts +27 -25
- package/dist/git-cli/providers/revision.js +288 -304
- package/dist/git-cli/providers/revision.js.map +1 -1
- package/dist/git-cli/providers/staging.d.ts +31 -29
- package/dist/git-cli/providers/staging.js +140 -189
- package/dist/git-cli/providers/staging.js.map +1 -1
- package/dist/git-cli/providers/stash.d.ts +44 -42
- package/dist/git-cli/providers/stash.js +288 -387
- package/dist/git-cli/providers/stash.js.map +1 -1
- package/dist/git-cli/providers/status.d.ts +61 -59
- package/dist/git-cli/providers/status.js +332 -453
- package/dist/git-cli/providers/status.js.map +1 -1
- package/dist/git-cli/providers/tags.d.ts +31 -29
- package/dist/git-cli/providers/tags.js +158 -215
- package/dist/git-cli/providers/tags.js.map +1 -1
- package/dist/git-cli/providers/worktrees.d.ts +35 -33
- package/dist/git-cli/providers/worktrees.js +178 -203
- package/dist/git-cli/providers/worktrees.js.map +1 -1
- package/dist/git-cli/service.d.ts +28 -26
- package/dist/git-cli/service.js +38 -40
- package/dist/git-cli/service.js.map +1 -1
- package/dist/ipc/discovery.d.ts +19 -17
- package/dist/ipc/discovery.js +104 -128
- package/dist/ipc/discovery.js.map +1 -1
- package/dist/ipc/ipcServer.d.ts +16 -14
- package/dist/ipc/ipcServer.js +139 -160
- package/dist/ipc/ipcServer.js.map +1 -1
- package/dist/plus/agents/agentCapabilities.d.ts +50 -37
- package/dist/plus/agents/agentCapabilities.js +138 -173
- package/dist/plus/agents/agentCapabilities.js.map +1 -1
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts +153 -151
- package/dist/plus/agents/providers/claudeCodeTranscript.js +605 -679
- package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -1
- package/dist/plus/agents/providers/gkAgentProvider.d.ts +237 -240
- package/dist/plus/agents/providers/gkAgentProvider.js +2162 -3334
- package/dist/plus/agents/providers/gkAgentProvider.js.map +1 -1
- package/dist/plus/agents/sanitizePrompt.d.ts +2 -0
- package/dist/plus/agents/sanitizePrompt.js +58 -91
- package/dist/plus/agents/sanitizePrompt.js.map +1 -1
- package/dist/plus/agents/stateMachine.d.ts +7 -5
- package/dist/plus/agents/stateMachine.js +135 -163
- package/dist/plus/agents/stateMachine.js.map +1 -1
- package/dist/plus/agents/types.d.ts +333 -336
- package/dist/plus/agents/types.js +48 -48
- package/dist/plus/agents/types.js.map +1 -1
- package/dist/plus/ai/constants.d.ts +3 -1
- package/dist/plus/ai/constants.js +88 -84
- package/dist/plus/ai/constants.js.map +1 -1
- package/dist/plus/ai/errors.d.ts +22 -18
- package/dist/plus/ai/errors.js +158 -138
- package/dist/plus/ai/errors.js.map +1 -1
- package/dist/plus/ai/models/conversation.d.ts +11 -9
- package/dist/plus/ai/models/conversation.js +30 -26
- package/dist/plus/ai/models/conversation.js.map +1 -1
- package/dist/plus/ai/models/model.d.ts +29 -27
- package/dist/plus/ai/models/model.js +663 -471
- package/dist/plus/ai/models/model.js.map +1 -1
- package/dist/plus/ai/models/promptTemplates.d.ts +56 -55
- package/dist/plus/ai/models/promptTemplates.js +0 -2
- package/dist/plus/ai/models/provider.d.ts +79 -77
- package/dist/plus/ai/models/provider.js +0 -2
- package/dist/plus/ai/models/results.d.ts +27 -21
- package/dist/plus/ai/models/results.js +0 -2
- package/dist/plus/ai/prompts.d.ts +4 -2
- package/dist/plus/ai/prompts.js +301 -190
- package/dist/plus/ai/prompts.js.map +1 -1
- package/dist/plus/ai/providers/anthropicProvider.d.ts +33 -32
- package/dist/plus/ai/providers/anthropicProvider.js +484 -381
- package/dist/plus/ai/providers/anthropicProvider.js.map +1 -1
- package/dist/plus/ai/providers/azureProvider.d.ts +18 -16
- package/dist/plus/ai/providers/azureProvider.js +53 -53
- package/dist/plus/ai/providers/azureProvider.js.map +1 -1
- package/dist/plus/ai/providers/context.d.ts +23 -20
- package/dist/plus/ai/providers/context.js +0 -2
- package/dist/plus/ai/providers/deepSeekProvider.d.ts +17 -15
- package/dist/plus/ai/providers/deepSeekProvider.js +45 -39
- package/dist/plus/ai/providers/deepSeekProvider.js.map +1 -1
- package/dist/plus/ai/providers/geminiProvider.d.ts +16 -14
- package/dist/plus/ai/providers/geminiProvider.js +316 -230
- package/dist/plus/ai/providers/geminiProvider.js.map +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.d.ts +22 -20
- package/dist/plus/ai/providers/gitkrakenProvider.js +165 -260
- package/dist/plus/ai/providers/gitkrakenProvider.js.map +1 -1
- package/dist/plus/ai/providers/huggingFaceProvider.d.ts +16 -14
- package/dist/plus/ai/providers/huggingFaceProvider.js +45 -46
- package/dist/plus/ai/providers/huggingFaceProvider.js.map +1 -1
- package/dist/plus/ai/providers/mistralProvider.d.ts +22 -20
- package/dist/plus/ai/providers/mistralProvider.js +263 -195
- package/dist/plus/ai/providers/mistralProvider.js.map +1 -1
- package/dist/plus/ai/providers/ollamaProvider.d.ts +26 -24
- package/dist/plus/ai/providers/ollamaProvider.js +156 -189
- package/dist/plus/ai/providers/ollamaProvider.js.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProvider.d.ts +18 -16
- package/dist/plus/ai/providers/openAICompatibleProvider.js +50 -50
- package/dist/plus/ai/providers/openAICompatibleProvider.js.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts +187 -185
- package/dist/plus/ai/providers/openAICompatibleProviderBase.js +356 -475
- package/dist/plus/ai/providers/openAICompatibleProviderBase.js.map +1 -1
- package/dist/plus/ai/providers/openRouterProvider.d.ts +20 -19
- package/dist/plus/ai/providers/openRouterProvider.js +60 -65
- package/dist/plus/ai/providers/openRouterProvider.js.map +1 -1
- package/dist/plus/ai/providers/openaiProvider.d.ts +17 -15
- package/dist/plus/ai/providers/openaiProvider.js +35 -34
- package/dist/plus/ai/providers/openaiProvider.js.map +1 -1
- package/dist/plus/ai/providers/responseFormatCache.d.ts +4 -2
- package/dist/plus/ai/providers/responseFormatCache.js +21 -17
- package/dist/plus/ai/providers/responseFormatCache.js.map +1 -1
- package/dist/plus/ai/providers/xaiProvider.d.ts +16 -14
- package/dist/plus/ai/providers/xaiProvider.js +61 -46
- package/dist/plus/ai/providers/xaiProvider.js.map +1 -1
- package/dist/plus/ai/utils/ai.utils.d.ts +4 -2
- package/dist/plus/ai/utils/ai.utils.js +50 -77
- package/dist/plus/ai/utils/ai.utils.js.map +1 -1
- package/dist/plus/ai/utils/results.utils.d.ts +7 -5
- package/dist/plus/ai/utils/results.utils.js +235 -269
- package/dist/plus/ai/utils/results.utils.js.map +1 -1
- package/dist/plus/ai/utils/truncation.utils.d.ts +3 -2
- package/dist/plus/ai/utils/truncation.utils.js +242 -205
- package/dist/plus/ai/utils/truncation.utils.js.map +1 -1
- package/dist/plus/git-github/api/config.d.ts +58 -56
- package/dist/plus/git-github/api/config.js +15 -11
- package/dist/plus/git-github/api/config.js.map +1 -1
- package/dist/plus/git-github/api/github.d.ts +500 -497
- package/dist/plus/git-github/api/github.js +2326 -3121
- package/dist/plus/git-github/api/github.js.map +1 -1
- package/dist/plus/git-github/api/github.utils.d.ts +5 -3
- package/dist/plus/git-github/api/github.utils.js +24 -19
- package/dist/plus/git-github/api/github.utils.js.map +1 -1
- package/dist/plus/git-github/api/issueSearchQuery.d.ts +5 -3
- package/dist/plus/git-github/api/issueSearchQuery.js +204 -221
- package/dist/plus/git-github/api/issueSearchQuery.js.map +1 -1
- package/dist/plus/git-github/api/pullRequestSearchQuery.d.ts +6 -5
- package/dist/plus/git-github/api/pullRequestSearchQuery.js +89 -116
- package/dist/plus/git-github/api/pullRequestSearchQuery.js.map +1 -1
- package/dist/plus/git-github/api/token.d.ts +10 -8
- package/dist/plus/git-github/api/token.js +0 -2
- package/dist/plus/git-github/api/tokenUtils.d.ts +4 -2
- package/dist/plus/git-github/api/tokenUtils.js +14 -10
- package/dist/plus/git-github/api/tokenUtils.js.map +1 -1
- package/dist/plus/git-github/api/types.d.ts +94 -92
- package/dist/plus/git-github/api/types.js +0 -2
- package/dist/plus/git-github/context.d.ts +65 -63
- package/dist/plus/git-github/context.js +13 -9
- package/dist/plus/git-github/context.js.map +1 -1
- package/dist/plus/git-github/models.d.ts +182 -182
- package/dist/plus/git-github/models.js +199 -265
- package/dist/plus/git-github/models.js.map +1 -1
- package/dist/plus/git-github/providers/github/blame.d.ts +32 -31
- package/dist/plus/git-github/providers/github/blame.js +137 -150
- package/dist/plus/git-github/providers/github/blame.js.map +1 -1
- package/dist/plus/git-github/providers/github/branches.d.ts +42 -40
- package/dist/plus/git-github/providers/github/branches.js +199 -274
- package/dist/plus/git-github/providers/github/branches.js.map +1 -1
- package/dist/plus/git-github/providers/github/commits.d.ts +35 -33
- package/dist/plus/git-github/providers/github/commits.js +527 -606
- package/dist/plus/git-github/providers/github/commits.js.map +1 -1
- package/dist/plus/git-github/providers/github/config.d.ts +10 -8
- package/dist/plus/git-github/providers/github/config.js +35 -45
- package/dist/plus/git-github/providers/github/config.js.map +1 -1
- package/dist/plus/git-github/providers/github/contributors.d.ts +25 -24
- package/dist/plus/git-github/providers/github/contributors.js +174 -216
- package/dist/plus/git-github/providers/github/contributors.js.map +1 -1
- package/dist/plus/git-github/providers/github/diff.d.ts +34 -32
- package/dist/plus/git-github/providers/github/diff.js +154 -194
- package/dist/plus/git-github/providers/github/diff.js.map +1 -1
- package/dist/plus/git-github/providers/github/graph.d.ts +33 -31
- package/dist/plus/git-github/providers/github/graph.js +400 -452
- package/dist/plus/git-github/providers/github/graph.js.map +1 -1
- package/dist/plus/git-github/providers/github/refs.d.ts +33 -31
- package/dist/plus/git-github/providers/github/refs.js +97 -131
- package/dist/plus/git-github/providers/github/refs.js.map +1 -1
- package/dist/plus/git-github/providers/github/remotes.d.ts +8 -6
- package/dist/plus/git-github/providers/github/remotes.js +30 -35
- package/dist/plus/git-github/providers/github/remotes.js.map +1 -1
- package/dist/plus/git-github/providers/github/revision.d.ts +13 -11
- package/dist/plus/git-github/providers/github/revision.js +106 -129
- package/dist/plus/git-github/providers/github/revision.js.map +1 -1
- package/dist/plus/git-github/providers/github/status.d.ts +24 -22
- package/dist/plus/git-github/providers/github/status.js +49 -47
- package/dist/plus/git-github/providers/github/status.js.map +1 -1
- package/dist/plus/git-github/providers/github/tags.d.ts +21 -19
- package/dist/plus/git-github/providers/github/tags.js +78 -103
- package/dist/plus/git-github/providers/github/tags.js.map +1 -1
- package/dist/plus/git-github/providers/githubGitProvider.d.ts +67 -64
- package/dist/plus/git-github/providers/githubGitProvider.js +131 -128
- package/dist/plus/git-github/providers/githubGitProvider.js.map +1 -1
- package/dist/plus/git-github/providers/githubProvider.d.ts +46 -44
- package/dist/plus/git-github/providers/githubProvider.js +0 -2
- package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts +29 -27
- package/dist/plus/integrations/authentication/cloudIntegrationService.js +173 -208
- package/dist/plus/integrations/authentication/cloudIntegrationService.js.map +1 -1
- package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts +126 -107
- package/dist/plus/integrations/authentication/configuredIntegrationService.js +399 -497
- package/dist/plus/integrations/authentication/configuredIntegrationService.js.map +1 -1
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts +73 -72
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js +153 -232
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js.map +1 -1
- package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts +61 -59
- package/dist/plus/integrations/authentication/integrationAuthenticationService.js +100 -124
- package/dist/plus/integrations/authentication/integrationAuthenticationService.js.map +1 -1
- package/dist/plus/integrations/authentication/manualTokenProvider.d.ts +14 -12
- package/dist/plus/integrations/authentication/manualTokenProvider.js +26 -51
- package/dist/plus/integrations/authentication/manualTokenProvider.js.map +1 -1
- package/dist/plus/integrations/authentication/models.d.ts +102 -85
- package/dist/plus/integrations/authentication/models.js +55 -54
- package/dist/plus/integrations/authentication/models.js.map +1 -1
- package/dist/plus/integrations/authentication/rejectedTokenTracker.d.ts +19 -17
- package/dist/plus/integrations/authentication/rejectedTokenTracker.js +53 -51
- package/dist/plus/integrations/authentication/rejectedTokenTracker.js.map +1 -1
- package/dist/plus/integrations/collectionMetadata.d.ts +12 -10
- package/dist/plus/integrations/collectionMetadata.js +204 -254
- package/dist/plus/integrations/collectionMetadata.js.map +1 -1
- package/dist/plus/integrations/constants.d.ts +60 -34
- package/dist/plus/integrations/constants.js +157 -132
- package/dist/plus/integrations/constants.js.map +1 -1
- package/dist/plus/integrations/context.d.ts +253 -252
- package/dist/plus/integrations/context.js +0 -2
- package/dist/plus/integrations/errors.d.ts +26 -25
- package/dist/plus/integrations/errors.js +116 -140
- package/dist/plus/integrations/errors.js.map +1 -1
- package/dist/plus/integrations/index.d.ts +36 -40
- package/dist/plus/integrations/index.js +46 -57
- package/dist/plus/integrations/index.js.map +1 -1
- package/dist/plus/integrations/integrationService.d.ts +445 -440
- package/dist/plus/integrations/integrationService.js +1054 -1324
- package/dist/plus/integrations/integrationService.js.map +1 -1
- package/dist/plus/integrations/lite.d.ts +33 -31
- package/dist/plus/integrations/lite.js +84 -122
- package/dist/plus/integrations/lite.js.map +1 -1
- package/dist/plus/integrations/manager.d.ts +592 -580
- package/dist/plus/integrations/manager.js +0 -2
- package/dist/plus/integrations/models/gitHostIntegration.d.ts +420 -415
- package/dist/plus/integrations/models/gitHostIntegration.js +1180 -1293
- package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -1
- package/dist/plus/integrations/models/integration.d.ts +200 -190
- package/dist/plus/integrations/models/integration.js +577 -722
- package/dist/plus/integrations/models/integration.js.map +1 -1
- package/dist/plus/integrations/models/issueCache.d.ts +15 -13
- package/dist/plus/integrations/models/issueCache.js +9 -7
- package/dist/plus/integrations/models/issueCache.js.map +1 -1
- package/dist/plus/integrations/models/issueReads.d.ts +108 -85
- package/dist/plus/integrations/models/issueReads.js +0 -2
- package/dist/plus/integrations/models/issuesIntegration.d.ts +72 -71
- package/dist/plus/integrations/models/issuesIntegration.js +160 -186
- package/dist/plus/integrations/models/issuesIntegration.js.map +1 -1
- package/dist/plus/integrations/models/pullRequestReads.d.ts +9 -7
- package/dist/plus/integrations/models/pullRequestReads.js +0 -2
- package/dist/plus/integrations/providerFilters.d.ts +8 -20
- package/dist/plus/integrations/providerFilters.js +11 -7
- package/dist/plus/integrations/providerFilters.js.map +1 -1
- package/dist/plus/integrations/providers/accounts.d.ts +7 -5
- package/dist/plus/integrations/providers/accounts.js +21 -31
- package/dist/plus/integrations/providers/accounts.js.map +1 -1
- package/dist/plus/integrations/providers/apiClients.d.ts +13 -10
- package/dist/plus/integrations/providers/apiClients.js +51 -36
- package/dist/plus/integrations/providers/apiClients.js.map +1 -1
- package/dist/plus/integrations/providers/apiConfig.d.ts +31 -29
- package/dist/plus/integrations/providers/apiConfig.js +18 -16
- package/dist/plus/integrations/providers/apiConfig.js.map +1 -1
- package/dist/plus/integrations/providers/azure/azure.d.ts +69 -67
- package/dist/plus/integrations/providers/azure/azure.js +452 -577
- package/dist/plus/integrations/providers/azure/azure.js.map +1 -1
- package/dist/plus/integrations/providers/azure/models.d.ts +228 -226
- package/dist/plus/integrations/providers/azure/models.js +223 -251
- package/dist/plus/integrations/providers/azure/models.js.map +1 -1
- package/dist/plus/integrations/providers/azureDevOps.d.ts +132 -131
- package/dist/plus/integrations/providers/azureDevOps.js +773 -931
- package/dist/plus/integrations/providers/azureDevOps.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts +50 -48
- package/dist/plus/integrations/providers/bitbucket/bitbucket.js +417 -585
- package/dist/plus/integrations/providers/bitbucket/bitbucket.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket/models.d.ts +179 -179
- package/dist/plus/integrations/providers/bitbucket/models.js +96 -144
- package/dist/plus/integrations/providers/bitbucket/models.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket-server/models.d.ts +111 -109
- package/dist/plus/integrations/providers/bitbucket-server/models.js +102 -121
- package/dist/plus/integrations/providers/bitbucket-server/models.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket-server.d.ts +79 -79
- package/dist/plus/integrations/providers/bitbucket-server.js +205 -241
- package/dist/plus/integrations/providers/bitbucket-server.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket.d.ts +80 -79
- package/dist/plus/integrations/providers/bitbucket.js +390 -477
- package/dist/plus/integrations/providers/bitbucket.js.map +1 -1
- package/dist/plus/integrations/providers/github/github.d.ts +5 -3
- package/dist/plus/integrations/providers/github/github.js +38 -45
- package/dist/plus/integrations/providers/github/github.js.map +1 -1
- package/dist/plus/integrations/providers/github/github.utils.d.ts +8 -5
- package/dist/plus/integrations/providers/github/github.utils.js +7 -4
- package/dist/plus/integrations/providers/github/github.utils.js.map +1 -1
- package/dist/plus/integrations/providers/github/models.d.ts +2 -3
- package/dist/plus/integrations/providers/github/models.js +2 -2
- package/dist/plus/integrations/providers/github.d.ts +174 -172
- package/dist/plus/integrations/providers/github.js +431 -523
- package/dist/plus/integrations/providers/github.js.map +1 -1
- package/dist/plus/integrations/providers/gitlab/gitlab.d.ts +67 -66
- package/dist/plus/integrations/providers/gitlab/gitlab.js +546 -757
- package/dist/plus/integrations/providers/gitlab/gitlab.js.map +1 -1
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts +7 -5
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.js +45 -46
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.js.map +1 -1
- package/dist/plus/integrations/providers/gitlab/models.d.ts +109 -107
- package/dist/plus/integrations/providers/gitlab/models.js +74 -89
- package/dist/plus/integrations/providers/gitlab/models.js.map +1 -1
- package/dist/plus/integrations/providers/gitlab.d.ts +115 -114
- package/dist/plus/integrations/providers/gitlab.js +440 -528
- package/dist/plus/integrations/providers/gitlab.js.map +1 -1
- package/dist/plus/integrations/providers/issueSorts.d.ts +3 -1
- package/dist/plus/integrations/providers/issueSorts.js +66 -62
- package/dist/plus/integrations/providers/issueSorts.js.map +1 -1
- package/dist/plus/integrations/providers/jira-server.d.ts +90 -0
- package/dist/plus/integrations/providers/jira-server.js +322 -0
- package/dist/plus/integrations/providers/jira-server.js.map +1 -0
- package/dist/plus/integrations/providers/jira.d.ts +41 -39
- package/dist/plus/integrations/providers/jira.js +378 -440
- package/dist/plus/integrations/providers/jira.js.map +1 -1
- package/dist/plus/integrations/providers/jiraIssueByKey.d.ts +3 -1
- package/dist/plus/integrations/providers/jiraIssueByKey.js +85 -89
- package/dist/plus/integrations/providers/jiraIssueByKey.js.map +1 -1
- package/dist/plus/integrations/providers/linear.d.ts +63 -62
- package/dist/plus/integrations/providers/linear.js +315 -358
- package/dist/plus/integrations/providers/linear.js.map +1 -1
- package/dist/plus/integrations/providers/models.d.ts +514 -503
- package/dist/plus/integrations/providers/models.js +816 -865
- package/dist/plus/integrations/providers/models.js.map +1 -1
- package/dist/plus/integrations/providers/providerErrors.d.ts +35 -2
- package/dist/plus/integrations/providers/providerErrors.js +120 -81
- package/dist/plus/integrations/providers/providerErrors.js.map +1 -1
- package/dist/plus/integrations/providers/providersApi.d.ts +299 -271
- package/dist/plus/integrations/providers/providersApi.js +1048 -1001
- package/dist/plus/integrations/providers/providersApi.js.map +1 -1
- package/dist/plus/integrations/providers/pullRequestReviews.d.ts +21 -21
- package/dist/plus/integrations/providers/pullRequestReviews.js +64 -90
- package/dist/plus/integrations/providers/pullRequestReviews.js.map +1 -1
- package/dist/plus/integrations/providers/trello.d.ts +35 -34
- package/dist/plus/integrations/providers/trello.js +136 -143
- package/dist/plus/integrations/providers/trello.js.map +1 -1
- package/dist/plus/integrations/providers/utils/providerPaging.d.ts +4 -2
- package/dist/plus/integrations/providers/utils/providerPaging.js +131 -156
- package/dist/plus/integrations/providers/utils/providerPaging.js.map +1 -1
- package/dist/plus/integrations/providers/utils.d.ts +51 -50
- package/dist/plus/integrations/providers/utils.js +185 -296
- package/dist/plus/integrations/providers/utils.js.map +1 -1
- package/dist/plus/integrations/reads/broaden.d.ts +10 -8
- package/dist/plus/integrations/reads/broaden.js +320 -439
- package/dist/plus/integrations/reads/broaden.js.map +1 -1
- package/dist/plus/integrations/reads/context.d.ts +47 -45
- package/dist/plus/integrations/reads/context.js +0 -2
- package/dist/plus/integrations/reads/counts.d.ts +74 -72
- package/dist/plus/integrations/reads/counts.js +233 -314
- package/dist/plus/integrations/reads/counts.js.map +1 -1
- package/dist/plus/integrations/reads/cursors.d.ts +26 -24
- package/dist/plus/integrations/reads/cursors.js +80 -115
- package/dist/plus/integrations/reads/cursors.js.map +1 -1
- package/dist/plus/integrations/reads/drains.d.ts +24 -23
- package/dist/plus/integrations/reads/drains.js +225 -298
- package/dist/plus/integrations/reads/drains.js.map +1 -1
- package/dist/plus/integrations/reads/filters.d.ts +84 -80
- package/dist/plus/integrations/reads/filters.js +326 -414
- package/dist/plus/integrations/reads/filters.js.map +1 -1
- package/dist/plus/integrations/reads/hierarchy.d.ts +14 -12
- package/dist/plus/integrations/reads/hierarchy.js +248 -332
- package/dist/plus/integrations/reads/hierarchy.js.map +1 -1
- package/dist/plus/integrations/reads/hierarchy.utils.d.ts +11 -9
- package/dist/plus/integrations/reads/hierarchy.utils.js +109 -108
- package/dist/plus/integrations/reads/hierarchy.utils.js.map +1 -1
- package/dist/plus/integrations/reads/issueBatch.d.ts +28 -26
- package/dist/plus/integrations/reads/issueBatch.js +83 -85
- package/dist/plus/integrations/reads/issueBatch.js.map +1 -1
- package/dist/plus/integrations/reads/issueTracker.d.ts +42 -33
- package/dist/plus/integrations/reads/issueTracker.js +265 -386
- package/dist/plus/integrations/reads/issueTracker.js.map +1 -1
- package/dist/plus/integrations/reads/issues.d.ts +50 -47
- package/dist/plus/integrations/reads/issues.js +202 -331
- package/dist/plus/integrations/reads/issues.js.map +1 -1
- package/dist/plus/integrations/reads/ordering.d.ts +32 -30
- package/dist/plus/integrations/reads/ordering.js +47 -43
- package/dist/plus/integrations/reads/ordering.js.map +1 -1
- package/dist/plus/integrations/reads/paging.d.ts +59 -57
- package/dist/plus/integrations/reads/paging.js +244 -261
- package/dist/plus/integrations/reads/paging.js.map +1 -1
- package/dist/plus/integrations/reads/pullRequests.d.ts +37 -35
- package/dist/plus/integrations/reads/pullRequests.js +95 -148
- package/dist/plus/integrations/reads/pullRequests.js.map +1 -1
- package/dist/plus/integrations/reads/resolveRepository.d.ts +15 -13
- package/dist/plus/integrations/reads/resolveRepository.js +147 -231
- package/dist/plus/integrations/reads/resolveRepository.js.map +1 -1
- package/dist/plus/integrations/reads/searchIssues.d.ts +29 -27
- package/dist/plus/integrations/reads/searchIssues.js +104 -153
- package/dist/plus/integrations/reads/searchIssues.js.map +1 -1
- package/dist/plus/integrations/reads/searchPullRequests.d.ts +20 -18
- package/dist/plus/integrations/reads/searchPullRequests.js +91 -113
- package/dist/plus/integrations/reads/searchPullRequests.js.map +1 -1
- package/dist/plus/integrations/reads/sweeps.d.ts +6 -4
- package/dist/plus/integrations/reads/sweeps.js +143 -178
- package/dist/plus/integrations/reads/sweeps.js.map +1 -1
- package/dist/plus/integrations/reads/trackerIssue.d.ts +24 -16
- package/dist/plus/integrations/reads/trackerIssue.js +52 -49
- package/dist/plus/integrations/reads/trackerIssue.js.map +1 -1
- package/dist/plus/integrations/reads/warnings.d.ts +10 -7
- package/dist/plus/integrations/reads/warnings.js +264 -291
- package/dist/plus/integrations/reads/warnings.js.map +1 -1
- package/dist/plus/integrations/results.d.ts +201 -199
- package/dist/plus/integrations/results.js +105 -119
- package/dist/plus/integrations/results.js.map +1 -1
- package/dist/plus/integrations/telemetry.d.ts +7 -5
- package/dist/plus/integrations/telemetry.js +9 -9
- package/dist/plus/integrations/telemetry.js.map +1 -1
- package/dist/plus/integrations/utils/domain.utils.d.ts +21 -0
- package/dist/plus/integrations/utils/domain.utils.js +55 -22
- package/dist/plus/integrations/utils/domain.utils.js.map +1 -1
- package/dist/plus/integrations/utils/integration.utils.d.ts +30 -6
- package/dist/plus/integrations/utils/integration.utils.js +154 -161
- package/dist/plus/integrations/utils/integration.utils.js.map +1 -1
- package/dist/utils/array.d.ts +9 -7
- package/dist/utils/array.js +110 -126
- package/dist/utils/array.js.map +1 -1
- package/dist/utils/base64.d.ts +2 -2
- package/dist/utils/base64.js +2 -2
- package/dist/utils/brand.d.ts +4 -3
- package/dist/utils/brand.js +0 -2
- package/dist/utils/cancellation.d.ts +24 -24
- package/dist/utils/cancellation.js +152 -167
- package/dist/utils/cancellation.js.map +1 -1
- package/dist/utils/charCode.d.ts +31 -37
- package/dist/utils/charCode.js +41 -37
- package/dist/utils/charCode.js.map +1 -1
- package/dist/utils/coalescedRun.d.ts +10 -8
- package/dist/utils/coalescedRun.js +39 -41
- package/dist/utils/coalescedRun.js.map +1 -1
- package/dist/utils/color.d.ts +137 -135
- package/dist/utils/color.js +535 -660
- package/dist/utils/color.js.map +1 -1
- package/dist/utils/counter.d.ts +5 -3
- package/dist/utils/counter.js +19 -17
- package/dist/utils/counter.js.map +1 -1
- package/dist/utils/crypto.d.ts +2 -2
- package/dist/utils/crypto.js +2 -2
- package/dist/utils/date.d.ts +10 -9
- package/dist/utils/date.js +312 -350
- package/dist/utils/date.js.map +1 -1
- package/dist/utils/debounce.d.ts +45 -43
- package/dist/utils/debounce.js +175 -206
- package/dist/utils/debounce.js.map +1 -1
- package/dist/utils/decorators/debounce.d.ts +3 -1
- package/dist/utils/decorators/debounce.js +16 -19
- package/dist/utils/decorators/debounce.js.map +1 -1
- package/dist/utils/decorators/gate.d.ts +13 -11
- package/dist/utils/decorators/gate.js +97 -124
- package/dist/utils/decorators/gate.js.map +1 -1
- package/dist/utils/decorators/log.d.ts +25 -24
- package/dist/utils/decorators/log.js +166 -227
- package/dist/utils/decorators/log.js.map +1 -1
- package/dist/utils/decorators/memoize.d.ts +10 -8
- package/dist/utils/decorators/memoize.js +49 -57
- package/dist/utils/decorators/memoize.js.map +1 -1
- package/dist/utils/decorators/resolver.d.ts +2 -0
- package/dist/utils/decorators/resolver.js +64 -75
- package/dist/utils/decorators/resolver.js.map +1 -1
- package/dist/utils/decorators/sequentialize.d.ts +15 -14
- package/dist/utils/decorators/sequentialize.js +61 -80
- package/dist/utils/decorators/sequentialize.js.map +1 -1
- package/dist/utils/decorators/serializable.d.ts +2 -0
- package/dist/utils/decorators/serializable.js +30 -39
- package/dist/utils/decorators/serializable.js.map +1 -1
- package/dist/utils/dedupedAsyncCache.d.ts +23 -21
- package/dist/utils/dedupedAsyncCache.js +63 -66
- package/dist/utils/dedupedAsyncCache.js.map +1 -1
- package/dist/utils/diff.d.ts +2 -0
- package/dist/utils/diff.js +41 -51
- package/dist/utils/diff.js.map +1 -1
- package/dist/utils/disposable.d.ts +15 -13
- package/dist/utils/disposable.js +71 -80
- package/dist/utils/disposable.js.map +1 -1
- package/dist/utils/dom.d.ts +45 -0
- package/dist/utils/dom.js +106 -0
- package/dist/utils/dom.js.map +1 -0
- package/dist/utils/encoding.d.ts +2 -0
- package/dist/utils/encoding.js +7 -5
- package/dist/utils/encoding.js.map +1 -1
- package/dist/utils/env/browser/base64.d.ts +2 -0
- package/dist/utils/env/browser/base64.js +32 -34
- package/dist/utils/env/browser/base64.js.map +1 -1
- package/dist/utils/env/browser/crypto.d.ts +2 -0
- package/dist/utils/env/browser/crypto.js +17 -13
- package/dist/utils/env/browser/crypto.js.map +1 -1
- package/dist/utils/env/browser/fs.d.ts +2 -0
- package/dist/utils/env/browser/fs.js +6 -2
- package/dist/utils/env/browser/fs.js.map +1 -1
- package/dist/utils/env/browser/hex.d.ts +2 -0
- package/dist/utils/env/browser/hex.js +271 -29
- package/dist/utils/env/browser/hex.js.map +1 -1
- package/dist/utils/env/browser/hrtime.d.ts +2 -0
- package/dist/utils/env/browser/hrtime.js +17 -13
- package/dist/utils/env/browser/hrtime.js.map +1 -1
- package/dist/utils/env/browser/logScope.d.ts +3 -1
- package/dist/utils/env/browser/logScope.js +39 -43
- package/dist/utils/env/browser/logScope.js.map +1 -1
- package/dist/utils/env/browser/md5.d.ts +2 -0
- package/dist/utils/env/browser/md5.js +211 -184
- package/dist/utils/env/browser/md5.js.map +1 -1
- package/dist/utils/env/browser/platform.d.ts +3 -0
- package/dist/utils/env/browser/platform.js +11 -4
- package/dist/utils/env/browser/platform.js.map +1 -1
- package/dist/utils/env/node/base64.d.ts +2 -0
- package/dist/utils/env/node/base64.js +13 -11
- package/dist/utils/env/node/base64.js.map +1 -1
- package/dist/utils/env/node/crypto.d.ts +2 -0
- package/dist/utils/env/node/crypto.js +13 -9
- package/dist/utils/env/node/crypto.js.map +1 -1
- package/dist/utils/env/node/exec.d.ts +66 -65
- package/dist/utils/env/node/exec.js +255 -267
- package/dist/utils/env/node/exec.js.map +1 -1
- package/dist/utils/env/node/fs.d.ts +2 -0
- package/dist/utils/env/node/fs.js +7 -3
- package/dist/utils/env/node/fs.js.map +1 -1
- package/dist/utils/env/node/hex.d.ts +2 -0
- package/dist/utils/env/node/hex.js +10 -6
- package/dist/utils/env/node/hex.js.map +1 -1
- package/dist/utils/env/node/hrtime.d.ts +2 -2
- package/dist/utils/env/node/hrtime.js +2 -2
- package/dist/utils/env/node/logScope.d.ts +3 -1
- package/dist/utils/env/node/logScope.js +52 -42
- package/dist/utils/env/node/logScope.js.map +1 -1
- package/dist/utils/env/node/platform.d.ts +3 -0
- package/dist/utils/env/node/platform.js +11 -4
- package/dist/utils/env/node/platform.js.map +1 -1
- package/dist/utils/error.d.ts +8 -6
- package/dist/utils/error.js +16 -14
- package/dist/utils/error.js.map +1 -1
- package/dist/utils/event.d.ts +27 -25
- package/dist/utils/event.js +141 -170
- package/dist/utils/event.js.map +1 -1
- package/dist/utils/formatter.d.ts +15 -14
- package/dist/utils/formatter.js +96 -129
- package/dist/utils/formatter.js.map +1 -1
- package/dist/utils/fs.d.ts +2 -2
- package/dist/utils/fs.js +2 -2
- package/dist/utils/function.d.ts +5 -6
- package/dist/utils/function.js +73 -90
- package/dist/utils/function.js.map +1 -1
- package/dist/utils/fuzzy.d.ts +18 -16
- package/dist/utils/fuzzy.js +121 -127
- package/dist/utils/fuzzy.js.map +1 -1
- package/dist/utils/gitRefs.d.ts +11 -0
- package/dist/utils/gitRefs.js +21 -0
- package/dist/utils/gitRefs.js.map +1 -0
- package/dist/utils/hash.d.ts +2 -0
- package/dist/utils/hash.js +49 -47
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/hex.d.ts +2 -2
- package/dist/utils/hex.js +2 -2
- package/dist/utils/hostingServiceType.d.ts +8 -0
- package/dist/utils/hostingServiceType.js +0 -0
- package/dist/utils/hrtime.d.ts +4 -2
- package/dist/utils/hrtime.js +8 -5
- package/dist/utils/hrtime.js.map +1 -1
- package/dist/utils/iterable.d.ts +3 -1
- package/dist/utils/iterable.js +591 -616
- package/dist/utils/iterable.js.map +1 -1
- package/dist/utils/keys/chord.d.ts +27 -25
- package/dist/utils/keys/chord.js +108 -122
- package/dist/utils/keys/chord.js.map +1 -1
- package/dist/utils/keys/keybinding.d.ts +98 -22
- package/dist/utils/keys/keybinding.js +151 -53
- package/dist/utils/keys/keybinding.js.map +1 -1
- package/dist/utils/keys/keymapDispatcher.d.ts +66 -0
- package/dist/utils/keys/keymapDispatcher.js +187 -0
- package/dist/utils/keys/keymapDispatcher.js.map +1 -0
- package/dist/utils/lazy.d.ts +14 -12
- package/dist/utils/lazy.js +35 -36
- package/dist/utils/lazy.js.map +1 -1
- package/dist/utils/loggable.d.ts +3 -1
- package/dist/utils/loggable.js +6 -2
- package/dist/utils/loggable.js.map +1 -1
- package/dist/utils/logger.d.ts +48 -46
- package/dist/utils/logger.js +219 -304
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/logger.scoped.d.ts +30 -28
- package/dist/utils/logger.scoped.js +133 -147
- package/dist/utils/logger.scoped.js.map +1 -1
- package/dist/utils/lruMap.d.ts +34 -32
- package/dist/utils/lruMap.js +97 -101
- package/dist/utils/lruMap.js.map +1 -1
- package/dist/utils/markdown.d.ts +5 -3
- package/dist/utils/markdown.js +52 -88
- package/dist/utils/markdown.js.map +1 -1
- package/dist/utils/mru.d.ts +13 -11
- package/dist/utils/mru.js +57 -62
- package/dist/utils/mru.js.map +1 -1
- package/dist/utils/object.d.ts +9 -34
- package/dist/utils/object.js +132 -191
- package/dist/utils/object.js.map +1 -1
- package/dist/utils/paging.d.ts +36 -34
- package/dist/utils/paging.js +42 -45
- package/dist/utils/paging.js.map +1 -1
- package/dist/utils/path.d.ts +4 -1
- package/dist/utils/path.js +129 -162
- package/dist/utils/path.js.map +1 -1
- package/dist/utils/pausedOperation.d.ts +42 -0
- package/dist/utils/pausedOperation.js +62 -0
- package/dist/utils/pausedOperation.js.map +1 -0
- package/dist/utils/platform.d.ts +2 -2
- package/dist/utils/platform.js +2 -2
- package/dist/utils/plural.d.ts +21 -0
- package/dist/utils/plural.js +136 -0
- package/dist/utils/plural.js.map +1 -0
- package/dist/utils/promise.d.ts +19 -18
- package/dist/utils/promise.js +323 -360
- package/dist/utils/promise.js.map +1 -1
- package/dist/utils/promiseCache.d.ts +331 -330
- package/dist/utils/promiseCache.js +602 -717
- package/dist/utils/promiseCache.js.map +1 -1
- package/dist/utils/resourceUsage.d.ts +2 -0
- package/dist/utils/resourceUsage.js +0 -2
- package/dist/utils/searchTree.d.ts +51 -49
- package/dist/utils/searchTree.js +306 -396
- package/dist/utils/searchTree.js.map +1 -1
- package/dist/utils/stopwatch.d.ts +33 -32
- package/dist/utils/stopwatch.js +67 -81
- package/dist/utils/stopwatch.js.map +1 -1
- package/dist/utils/string.d.ts +17 -24
- package/dist/utils/string.js +787 -803
- package/dist/utils/string.js.map +1 -1
- package/dist/utils/subscriptionManager.d.ts +15 -14
- package/dist/utils/subscriptionManager.js +36 -33
- package/dist/utils/subscriptionManager.js.map +1 -1
- package/dist/utils/trie.d.ts +64 -62
- package/dist/utils/trie.js +438 -580
- package/dist/utils/trie.js.map +1 -1
- package/dist/utils/types.d.ts +8 -16
- package/dist/utils/types.js +0 -2
- package/dist/utils/uri.d.ts +27 -25
- package/dist/utils/uri.js +42 -42
- package/dist/utils/uri.js.map +1 -1
- package/dist/utils/validation.d.ts +13 -12
- package/dist/utils/validation.js +17 -23
- package/dist/utils/validation.js.map +1 -1
- package/dist/utils/version.d.ts +6 -5
- package/dist/utils/version.js +77 -104
- package/dist/utils/version.js.map +1 -1
- package/docs/integrations.md +70 -26
- package/package.json +18 -8
- package/dist/git/cache.d.ts.map +0 -1
- package/dist/git/context.d.ts.map +0 -1
- package/dist/git/errors.d.ts.map +0 -1
- package/dist/git/features.d.ts.map +0 -1
- package/dist/git/gitHealth.d.ts.map +0 -1
- package/dist/git/models/author.d.ts.map +0 -1
- package/dist/git/models/author.js.map +0 -1
- package/dist/git/models/autolink.d.ts.map +0 -1
- package/dist/git/models/autolink.js.map +0 -1
- package/dist/git/models/blame.d.ts.map +0 -1
- package/dist/git/models/blame.js.map +0 -1
- package/dist/git/models/branch.d.ts.map +0 -1
- package/dist/git/models/commit.d.ts.map +0 -1
- package/dist/git/models/contributor.d.ts.map +0 -1
- package/dist/git/models/defaultBranch.d.ts.map +0 -1
- package/dist/git/models/defaultBranch.js.map +0 -1
- package/dist/git/models/diff.d.ts.map +0 -1
- package/dist/git/models/diff.js.map +0 -1
- package/dist/git/models/file.d.ts.map +0 -1
- package/dist/git/models/file.js.map +0 -1
- package/dist/git/models/fileChange.d.ts.map +0 -1
- package/dist/git/models/fileStatus.d.ts.map +0 -1
- package/dist/git/models/graph.d.ts.map +0 -1
- package/dist/git/models/graphSearch.d.ts.map +0 -1
- package/dist/git/models/graphSearch.js.map +0 -1
- package/dist/git/models/graphSession.d.ts.map +0 -1
- package/dist/git/models/issue.d.ts.map +0 -1
- package/dist/git/models/issueOrPullRequest.d.ts.map +0 -1
- package/dist/git/models/issueOrPullRequest.js.map +0 -1
- package/dist/git/models/lineRange.d.ts.map +0 -1
- package/dist/git/models/lineRange.js.map +0 -1
- package/dist/git/models/log.d.ts.map +0 -1
- package/dist/git/models/log.js.map +0 -1
- package/dist/git/models/mergeConflicts.d.ts.map +0 -1
- package/dist/git/models/mergeConflicts.js.map +0 -1
- package/dist/git/models/patch.d.ts.map +0 -1
- package/dist/git/models/patch.js.map +0 -1
- package/dist/git/models/pausedOperationStatus.d.ts.map +0 -1
- package/dist/git/models/pausedOperationStatus.js.map +0 -1
- package/dist/git/models/pullRequest.d.ts.map +0 -1
- package/dist/git/models/rebase.d.ts.map +0 -1
- package/dist/git/models/rebase.js.map +0 -1
- package/dist/git/models/reference.d.ts.map +0 -1
- package/dist/git/models/reference.js.map +0 -1
- package/dist/git/models/reflog.d.ts.map +0 -1
- package/dist/git/models/remote.d.ts.map +0 -1
- package/dist/git/models/remoteProvider.d.ts.map +0 -1
- package/dist/git/models/remoteResource.d.ts.map +0 -1
- package/dist/git/models/repository.d.ts.map +0 -1
- package/dist/git/models/repositoryChangeEvent.d.ts.map +0 -1
- package/dist/git/models/repositoryIdentities.d.ts.map +0 -1
- package/dist/git/models/repositoryMetadata.d.ts.map +0 -1
- package/dist/git/models/repositoryMetadata.js.map +0 -1
- package/dist/git/models/resourceDescriptor.d.ts.map +0 -1
- package/dist/git/models/resourceDescriptor.js.map +0 -1
- package/dist/git/models/revision.d.ts.map +0 -1
- package/dist/git/models/search.d.ts.map +0 -1
- package/dist/git/models/shortlog.d.ts.map +0 -1
- package/dist/git/models/shortlog.js.map +0 -1
- package/dist/git/models/signature.d.ts.map +0 -1
- package/dist/git/models/signature.js.map +0 -1
- package/dist/git/models/staging.d.ts.map +0 -1
- package/dist/git/models/staging.js.map +0 -1
- package/dist/git/models/stash.d.ts.map +0 -1
- package/dist/git/models/stash.js.map +0 -1
- package/dist/git/models/status.d.ts.map +0 -1
- package/dist/git/models/statusFile.d.ts.map +0 -1
- package/dist/git/models/tag.d.ts.map +0 -1
- package/dist/git/models/tree.d.ts.map +0 -1
- package/dist/git/models/tree.js.map +0 -1
- package/dist/git/models/user.d.ts.map +0 -1
- package/dist/git/models/user.js.map +0 -1
- package/dist/git/models/worktree.d.ts.map +0 -1
- package/dist/git/parsers/diffParser.d.ts.map +0 -1
- package/dist/git/parsers/rebaseTodoParser.d.ts.map +0 -1
- package/dist/git/providers/blame.d.ts.map +0 -1
- package/dist/git/providers/blame.js.map +0 -1
- package/dist/git/providers/branches.d.ts.map +0 -1
- package/dist/git/providers/branches.js.map +0 -1
- package/dist/git/providers/commits.d.ts.map +0 -1
- package/dist/git/providers/commits.js.map +0 -1
- package/dist/git/providers/config.d.ts.map +0 -1
- package/dist/git/providers/config.js.map +0 -1
- package/dist/git/providers/contributors.d.ts.map +0 -1
- package/dist/git/providers/contributors.js.map +0 -1
- package/dist/git/providers/diff.d.ts.map +0 -1
- package/dist/git/providers/diff.js.map +0 -1
- package/dist/git/providers/graph.d.ts.map +0 -1
- package/dist/git/providers/graph.js.map +0 -1
- package/dist/git/providers/maintenance.d.ts.map +0 -1
- package/dist/git/providers/maintenance.js.map +0 -1
- package/dist/git/providers/operations.d.ts.map +0 -1
- package/dist/git/providers/operations.js.map +0 -1
- package/dist/git/providers/patch.d.ts.map +0 -1
- package/dist/git/providers/patch.js.map +0 -1
- package/dist/git/providers/pausedOperations.d.ts.map +0 -1
- package/dist/git/providers/pausedOperations.js.map +0 -1
- package/dist/git/providers/provider.d.ts.map +0 -1
- package/dist/git/providers/provider.js.map +0 -1
- package/dist/git/providers/refs.d.ts.map +0 -1
- package/dist/git/providers/refs.js.map +0 -1
- package/dist/git/providers/remotes.d.ts.map +0 -1
- package/dist/git/providers/remotes.js.map +0 -1
- package/dist/git/providers/revision.d.ts.map +0 -1
- package/dist/git/providers/revision.js.map +0 -1
- package/dist/git/providers/shared/remotes.d.ts.map +0 -1
- package/dist/git/providers/staging.d.ts.map +0 -1
- package/dist/git/providers/staging.js.map +0 -1
- package/dist/git/providers/stash.d.ts.map +0 -1
- package/dist/git/providers/stash.js.map +0 -1
- package/dist/git/providers/status.d.ts.map +0 -1
- package/dist/git/providers/status.js.map +0 -1
- package/dist/git/providers/tags.d.ts.map +0 -1
- package/dist/git/providers/tags.js.map +0 -1
- package/dist/git/providers/types.d.ts.map +0 -1
- package/dist/git/providers/types.js.map +0 -1
- package/dist/git/providers/worktrees.d.ts.map +0 -1
- package/dist/git/providers/worktrees.js.map +0 -1
- package/dist/git/remotes/azure-devops.d.ts.map +0 -1
- package/dist/git/remotes/bitbucket-server.d.ts.map +0 -1
- package/dist/git/remotes/bitbucket.d.ts.map +0 -1
- package/dist/git/remotes/custom.d.ts.map +0 -1
- package/dist/git/remotes/gerrit.d.ts.map +0 -1
- package/dist/git/remotes/gitea.d.ts.map +0 -1
- package/dist/git/remotes/github.d.ts.map +0 -1
- package/dist/git/remotes/gitlab.d.ts.map +0 -1
- package/dist/git/remotes/google-source.d.ts.map +0 -1
- package/dist/git/remotes/matcher.d.ts.map +0 -1
- package/dist/git/repositoryService.d.ts.map +0 -1
- package/dist/git/run.types.d.ts.map +0 -1
- package/dist/git/run.types.js.map +0 -1
- package/dist/git/service.d.ts.map +0 -1
- package/dist/git/utils/autolink.utils.d.ts.map +0 -1
- package/dist/git/utils/blame.utils.d.ts.map +0 -1
- package/dist/git/utils/branch.utils.d.ts.map +0 -1
- package/dist/git/utils/commit.utils.d.ts.map +0 -1
- package/dist/git/utils/config.utils.d.ts.map +0 -1
- package/dist/git/utils/conflictResolution.utils.d.ts.map +0 -1
- package/dist/git/utils/contributor.utils.d.ts.map +0 -1
- package/dist/git/utils/fetch.utils.d.ts.map +0 -1
- package/dist/git/utils/fileStatus.utils.d.ts.map +0 -1
- package/dist/git/utils/graph.utils.d.ts.map +0 -1
- package/dist/git/utils/issue.utils.d.ts.map +0 -1
- package/dist/git/utils/issueOrPullRequest.utils.d.ts.map +0 -1
- package/dist/git/utils/mergeConflicts.utils.d.ts.map +0 -1
- package/dist/git/utils/pausedOperationStatus.utils.d.ts.map +0 -1
- package/dist/git/utils/pullRequest.utils.d.ts.map +0 -1
- package/dist/git/utils/reachability.utils.d.ts.map +0 -1
- package/dist/git/utils/rebase.utils.d.ts.map +0 -1
- package/dist/git/utils/reference.utils.d.ts.map +0 -1
- package/dist/git/utils/remote.utils.d.ts.map +0 -1
- package/dist/git/utils/repository.utils.d.ts.map +0 -1
- package/dist/git/utils/resourceDescriptor.utils.d.ts.map +0 -1
- package/dist/git/utils/revision.utils.d.ts.map +0 -1
- package/dist/git/utils/search.utils.d.ts.map +0 -1
- package/dist/git/utils/sorting.d.ts.map +0 -1
- package/dist/git/utils/sshKey.utils.d.ts.map +0 -1
- package/dist/git/utils/status.utils.d.ts.map +0 -1
- package/dist/git/utils/statusFile.utils.d.ts.map +0 -1
- package/dist/git/utils/tag.utils.d.ts.map +0 -1
- package/dist/git/utils/tooltip.utils.d.ts.map +0 -1
- package/dist/git/utils/uriAuthority.d.ts.map +0 -1
- package/dist/git/utils/user.utils.d.ts.map +0 -1
- package/dist/git/utils/worktree.utils.d.ts.map +0 -1
- package/dist/git/watching/changeEvent.d.ts.map +0 -1
- package/dist/git/watching/classifyChange.d.ts.map +0 -1
- package/dist/git/watching/gitIgnoreFilter.d.ts.map +0 -1
- package/dist/git/watching/initWatcher.d.ts.map +0 -1
- package/dist/git/watching/provider.d.ts.map +0 -1
- package/dist/git/watching/provider.js.map +0 -1
- package/dist/git/watching/watchGroup.d.ts.map +0 -1
- package/dist/git/watching/watchService.d.ts.map +0 -1
- package/dist/git/watching/watchSession.d.ts.map +0 -1
- package/dist/git/watching/watcherPatterns.d.ts.map +0 -1
- package/dist/git-cli/cliGitProvider.d.ts.map +0 -1
- package/dist/git-cli/exec/exec.d.ts.map +0 -1
- package/dist/git-cli/exec/exec.errors.d.ts.map +0 -1
- package/dist/git-cli/exec/exec.errors.js.map +0 -1
- package/dist/git-cli/exec/exec.js.map +0 -1
- package/dist/git-cli/exec/exec.types.d.ts.map +0 -1
- package/dist/git-cli/exec/exec.types.js.map +0 -1
- package/dist/git-cli/exec/features.d.ts.map +0 -1
- package/dist/git-cli/exec/features.js.map +0 -1
- package/dist/git-cli/exec/git.d.ts.map +0 -1
- package/dist/git-cli/exec/gitQueue.d.ts.map +0 -1
- package/dist/git-cli/exec/locator.d.ts.map +0 -1
- package/dist/git-cli/parsers/blameParser.d.ts.map +0 -1
- package/dist/git-cli/parsers/indexParser.d.ts.map +0 -1
- package/dist/git-cli/parsers/logParser.d.ts.map +0 -1
- package/dist/git-cli/parsers/mergeTreeParser.d.ts.map +0 -1
- package/dist/git-cli/parsers/refParser.d.ts.map +0 -1
- package/dist/git-cli/parsers/reflogParser.d.ts.map +0 -1
- package/dist/git-cli/parsers/remoteParser.d.ts.map +0 -1
- package/dist/git-cli/parsers/shortlogParser.d.ts.map +0 -1
- package/dist/git-cli/parsers/signatureParser.d.ts.map +0 -1
- package/dist/git-cli/parsers/sshSignatureParser.d.ts.map +0 -1
- package/dist/git-cli/parsers/statusParser.d.ts.map +0 -1
- package/dist/git-cli/parsers/treeParser.d.ts.map +0 -1
- package/dist/git-cli/parsers/worktreeParser.d.ts.map +0 -1
- package/dist/git-cli/providers/blame.d.ts.map +0 -1
- package/dist/git-cli/providers/branches.d.ts.map +0 -1
- package/dist/git-cli/providers/commitFilesetUtils.d.ts.map +0 -1
- package/dist/git-cli/providers/commits.d.ts.map +0 -1
- package/dist/git-cli/providers/config.d.ts.map +0 -1
- package/dist/git-cli/providers/contributors.d.ts.map +0 -1
- package/dist/git-cli/providers/diff.d.ts.map +0 -1
- package/dist/git-cli/providers/graph.d.ts.map +0 -1
- package/dist/git-cli/providers/maintenance.d.ts.map +0 -1
- package/dist/git-cli/providers/operations.d.ts.map +0 -1
- package/dist/git-cli/providers/patch.d.ts.map +0 -1
- package/dist/git-cli/providers/pausedOperations.d.ts.map +0 -1
- package/dist/git-cli/providers/refs.d.ts.map +0 -1
- package/dist/git-cli/providers/remotes.d.ts.map +0 -1
- package/dist/git-cli/providers/revision.d.ts.map +0 -1
- package/dist/git-cli/providers/staging.d.ts.map +0 -1
- package/dist/git-cli/providers/stash.d.ts.map +0 -1
- package/dist/git-cli/providers/status.d.ts.map +0 -1
- package/dist/git-cli/providers/tags.d.ts.map +0 -1
- package/dist/git-cli/providers/worktrees.d.ts.map +0 -1
- package/dist/git-cli/service.d.ts.map +0 -1
- package/dist/ipc/discovery.d.ts.map +0 -1
- package/dist/ipc/ipcServer.d.ts.map +0 -1
- package/dist/plus/agents/agentCapabilities.d.ts.map +0 -1
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts.map +0 -1
- package/dist/plus/agents/providers/gkAgentProvider.d.ts.map +0 -1
- package/dist/plus/agents/sanitizePrompt.d.ts.map +0 -1
- package/dist/plus/agents/stateMachine.d.ts.map +0 -1
- package/dist/plus/agents/types.d.ts.map +0 -1
- package/dist/plus/ai/constants.d.ts.map +0 -1
- package/dist/plus/ai/errors.d.ts.map +0 -1
- package/dist/plus/ai/models/conversation.d.ts.map +0 -1
- package/dist/plus/ai/models/model.d.ts.map +0 -1
- package/dist/plus/ai/models/promptTemplates.d.ts.map +0 -1
- package/dist/plus/ai/models/promptTemplates.js.map +0 -1
- package/dist/plus/ai/models/provider.d.ts.map +0 -1
- package/dist/plus/ai/models/provider.js.map +0 -1
- package/dist/plus/ai/models/results.d.ts.map +0 -1
- package/dist/plus/ai/models/results.js.map +0 -1
- package/dist/plus/ai/prompts.d.ts.map +0 -1
- package/dist/plus/ai/providers/anthropicProvider.d.ts.map +0 -1
- package/dist/plus/ai/providers/azureProvider.d.ts.map +0 -1
- package/dist/plus/ai/providers/context.d.ts.map +0 -1
- package/dist/plus/ai/providers/context.js.map +0 -1
- package/dist/plus/ai/providers/deepSeekProvider.d.ts.map +0 -1
- package/dist/plus/ai/providers/geminiProvider.d.ts.map +0 -1
- package/dist/plus/ai/providers/gitkrakenProvider.d.ts.map +0 -1
- package/dist/plus/ai/providers/huggingFaceProvider.d.ts.map +0 -1
- package/dist/plus/ai/providers/mistralProvider.d.ts.map +0 -1
- package/dist/plus/ai/providers/ollamaProvider.d.ts.map +0 -1
- package/dist/plus/ai/providers/openAICompatibleProvider.d.ts.map +0 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts.map +0 -1
- package/dist/plus/ai/providers/openRouterProvider.d.ts.map +0 -1
- package/dist/plus/ai/providers/openaiProvider.d.ts.map +0 -1
- package/dist/plus/ai/providers/responseFormatCache.d.ts.map +0 -1
- package/dist/plus/ai/providers/xaiProvider.d.ts.map +0 -1
- package/dist/plus/ai/utils/ai.utils.d.ts.map +0 -1
- package/dist/plus/ai/utils/results.utils.d.ts.map +0 -1
- package/dist/plus/ai/utils/truncation.utils.d.ts.map +0 -1
- package/dist/plus/git-github/api/config.d.ts.map +0 -1
- package/dist/plus/git-github/api/github.d.ts.map +0 -1
- package/dist/plus/git-github/api/github.utils.d.ts.map +0 -1
- package/dist/plus/git-github/api/issueSearchQuery.d.ts.map +0 -1
- package/dist/plus/git-github/api/pullRequestSearchQuery.d.ts.map +0 -1
- package/dist/plus/git-github/api/token.d.ts.map +0 -1
- package/dist/plus/git-github/api/token.js.map +0 -1
- package/dist/plus/git-github/api/tokenUtils.d.ts.map +0 -1
- package/dist/plus/git-github/api/types.d.ts.map +0 -1
- package/dist/plus/git-github/api/types.js.map +0 -1
- package/dist/plus/git-github/context.d.ts.map +0 -1
- package/dist/plus/git-github/models.d.ts.map +0 -1
- package/dist/plus/git-github/providers/github/blame.d.ts.map +0 -1
- package/dist/plus/git-github/providers/github/branches.d.ts.map +0 -1
- package/dist/plus/git-github/providers/github/commits.d.ts.map +0 -1
- package/dist/plus/git-github/providers/github/config.d.ts.map +0 -1
- package/dist/plus/git-github/providers/github/contributors.d.ts.map +0 -1
- package/dist/plus/git-github/providers/github/diff.d.ts.map +0 -1
- package/dist/plus/git-github/providers/github/graph.d.ts.map +0 -1
- package/dist/plus/git-github/providers/github/refs.d.ts.map +0 -1
- package/dist/plus/git-github/providers/github/remotes.d.ts.map +0 -1
- package/dist/plus/git-github/providers/github/revision.d.ts.map +0 -1
- package/dist/plus/git-github/providers/github/status.d.ts.map +0 -1
- package/dist/plus/git-github/providers/github/tags.d.ts.map +0 -1
- package/dist/plus/git-github/providers/githubGitProvider.d.ts.map +0 -1
- package/dist/plus/git-github/providers/githubProvider.d.ts.map +0 -1
- package/dist/plus/git-github/providers/githubProvider.js.map +0 -1
- package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts.map +0 -1
- package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts.map +0 -1
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts.map +0 -1
- package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts.map +0 -1
- package/dist/plus/integrations/authentication/manualTokenProvider.d.ts.map +0 -1
- package/dist/plus/integrations/authentication/models.d.ts.map +0 -1
- package/dist/plus/integrations/authentication/rejectedTokenTracker.d.ts.map +0 -1
- package/dist/plus/integrations/collectionMetadata.d.ts.map +0 -1
- package/dist/plus/integrations/constants.d.ts.map +0 -1
- package/dist/plus/integrations/context.d.ts.map +0 -1
- package/dist/plus/integrations/context.js.map +0 -1
- package/dist/plus/integrations/errors.d.ts.map +0 -1
- package/dist/plus/integrations/index.d.ts.map +0 -1
- package/dist/plus/integrations/integrationService.d.ts.map +0 -1
- package/dist/plus/integrations/lite.d.ts.map +0 -1
- package/dist/plus/integrations/manager.d.ts.map +0 -1
- package/dist/plus/integrations/manager.js.map +0 -1
- package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +0 -1
- package/dist/plus/integrations/models/integration.d.ts.map +0 -1
- package/dist/plus/integrations/models/issueCache.d.ts.map +0 -1
- package/dist/plus/integrations/models/issueReads.d.ts.map +0 -1
- package/dist/plus/integrations/models/issueReads.js.map +0 -1
- package/dist/plus/integrations/models/issuesIntegration.d.ts.map +0 -1
- package/dist/plus/integrations/models/pullRequestReads.d.ts.map +0 -1
- package/dist/plus/integrations/models/pullRequestReads.js.map +0 -1
- package/dist/plus/integrations/providerFilters.d.ts.map +0 -1
- package/dist/plus/integrations/providers/accounts.d.ts.map +0 -1
- package/dist/plus/integrations/providers/apiClients.d.ts.map +0 -1
- package/dist/plus/integrations/providers/apiConfig.d.ts.map +0 -1
- package/dist/plus/integrations/providers/azure/azure.d.ts.map +0 -1
- package/dist/plus/integrations/providers/azure/models.d.ts.map +0 -1
- package/dist/plus/integrations/providers/azureDevOps.d.ts.map +0 -1
- package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts.map +0 -1
- package/dist/plus/integrations/providers/bitbucket/models.d.ts.map +0 -1
- package/dist/plus/integrations/providers/bitbucket-server/models.d.ts.map +0 -1
- package/dist/plus/integrations/providers/bitbucket-server.d.ts.map +0 -1
- package/dist/plus/integrations/providers/bitbucket.d.ts.map +0 -1
- package/dist/plus/integrations/providers/github/github.d.ts.map +0 -1
- package/dist/plus/integrations/providers/github/github.utils.d.ts.map +0 -1
- package/dist/plus/integrations/providers/github/models.d.ts.map +0 -1
- package/dist/plus/integrations/providers/github/models.js.map +0 -1
- package/dist/plus/integrations/providers/github.d.ts.map +0 -1
- package/dist/plus/integrations/providers/gitlab/gitlab.d.ts.map +0 -1
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts.map +0 -1
- package/dist/plus/integrations/providers/gitlab/models.d.ts.map +0 -1
- package/dist/plus/integrations/providers/gitlab.d.ts.map +0 -1
- package/dist/plus/integrations/providers/issueSorts.d.ts.map +0 -1
- package/dist/plus/integrations/providers/jira.d.ts.map +0 -1
- package/dist/plus/integrations/providers/jiraIssueByKey.d.ts.map +0 -1
- package/dist/plus/integrations/providers/linear.d.ts.map +0 -1
- package/dist/plus/integrations/providers/models.d.ts.map +0 -1
- package/dist/plus/integrations/providers/providerErrors.d.ts.map +0 -1
- package/dist/plus/integrations/providers/providersApi.d.ts.map +0 -1
- package/dist/plus/integrations/providers/pullRequestReviews.d.ts.map +0 -1
- package/dist/plus/integrations/providers/trello.d.ts.map +0 -1
- package/dist/plus/integrations/providers/utils/providerPaging.d.ts.map +0 -1
- package/dist/plus/integrations/providers/utils.d.ts.map +0 -1
- package/dist/plus/integrations/reads/broaden.d.ts.map +0 -1
- package/dist/plus/integrations/reads/context.d.ts.map +0 -1
- package/dist/plus/integrations/reads/context.js.map +0 -1
- package/dist/plus/integrations/reads/counts.d.ts.map +0 -1
- package/dist/plus/integrations/reads/cursors.d.ts.map +0 -1
- package/dist/plus/integrations/reads/drains.d.ts.map +0 -1
- package/dist/plus/integrations/reads/filters.d.ts.map +0 -1
- package/dist/plus/integrations/reads/hierarchy.d.ts.map +0 -1
- package/dist/plus/integrations/reads/hierarchy.utils.d.ts.map +0 -1
- package/dist/plus/integrations/reads/issueBatch.d.ts.map +0 -1
- package/dist/plus/integrations/reads/issueTracker.d.ts.map +0 -1
- package/dist/plus/integrations/reads/issues.d.ts.map +0 -1
- package/dist/plus/integrations/reads/ordering.d.ts.map +0 -1
- package/dist/plus/integrations/reads/paging.d.ts.map +0 -1
- package/dist/plus/integrations/reads/pullRequests.d.ts.map +0 -1
- package/dist/plus/integrations/reads/resolveRepository.d.ts.map +0 -1
- package/dist/plus/integrations/reads/searchIssues.d.ts.map +0 -1
- package/dist/plus/integrations/reads/searchPullRequests.d.ts.map +0 -1
- package/dist/plus/integrations/reads/sweeps.d.ts.map +0 -1
- package/dist/plus/integrations/reads/trackerIssue.d.ts.map +0 -1
- package/dist/plus/integrations/reads/warnings.d.ts.map +0 -1
- package/dist/plus/integrations/results.d.ts.map +0 -1
- package/dist/plus/integrations/telemetry.d.ts.map +0 -1
- package/dist/plus/integrations/utils/domain.utils.d.ts.map +0 -1
- package/dist/plus/integrations/utils/integration.utils.d.ts.map +0 -1
- package/dist/utils/array.d.ts.map +0 -1
- package/dist/utils/base64.d.ts.map +0 -1
- package/dist/utils/base64.js.map +0 -1
- package/dist/utils/brand.d.ts.map +0 -1
- package/dist/utils/brand.js.map +0 -1
- package/dist/utils/cancellation.d.ts.map +0 -1
- package/dist/utils/charCode.d.ts.map +0 -1
- package/dist/utils/coalescedRun.d.ts.map +0 -1
- package/dist/utils/color.d.ts.map +0 -1
- package/dist/utils/counter.d.ts.map +0 -1
- package/dist/utils/crypto.d.ts.map +0 -1
- package/dist/utils/crypto.js.map +0 -1
- package/dist/utils/date.d.ts.map +0 -1
- package/dist/utils/debounce.d.ts.map +0 -1
- package/dist/utils/decorators/debounce.d.ts.map +0 -1
- package/dist/utils/decorators/gate.d.ts.map +0 -1
- package/dist/utils/decorators/log.d.ts.map +0 -1
- package/dist/utils/decorators/memoize.d.ts.map +0 -1
- package/dist/utils/decorators/resolver.d.ts.map +0 -1
- package/dist/utils/decorators/sequentialize.d.ts.map +0 -1
- package/dist/utils/decorators/serializable.d.ts.map +0 -1
- package/dist/utils/dedupedAsyncCache.d.ts.map +0 -1
- package/dist/utils/diff.d.ts.map +0 -1
- package/dist/utils/disposable.d.ts.map +0 -1
- package/dist/utils/encoding.d.ts.map +0 -1
- package/dist/utils/env/browser/base64.d.ts.map +0 -1
- package/dist/utils/env/browser/crypto.d.ts.map +0 -1
- package/dist/utils/env/browser/fs.d.ts.map +0 -1
- package/dist/utils/env/browser/hex.d.ts.map +0 -1
- package/dist/utils/env/browser/hrtime.d.ts.map +0 -1
- package/dist/utils/env/browser/logScope.d.ts.map +0 -1
- package/dist/utils/env/browser/md5.d.ts.map +0 -1
- package/dist/utils/env/browser/platform.d.ts.map +0 -1
- package/dist/utils/env/node/base64.d.ts.map +0 -1
- package/dist/utils/env/node/crypto.d.ts.map +0 -1
- package/dist/utils/env/node/exec.d.ts.map +0 -1
- package/dist/utils/env/node/fs.d.ts.map +0 -1
- package/dist/utils/env/node/hex.d.ts.map +0 -1
- package/dist/utils/env/node/hrtime.d.ts.map +0 -1
- package/dist/utils/env/node/hrtime.js.map +0 -1
- package/dist/utils/env/node/logScope.d.ts.map +0 -1
- package/dist/utils/env/node/platform.d.ts.map +0 -1
- package/dist/utils/error.d.ts.map +0 -1
- package/dist/utils/event.d.ts.map +0 -1
- package/dist/utils/formatter.d.ts.map +0 -1
- package/dist/utils/fs.d.ts.map +0 -1
- package/dist/utils/fs.js.map +0 -1
- package/dist/utils/function.d.ts.map +0 -1
- package/dist/utils/fuzzy.d.ts.map +0 -1
- package/dist/utils/hash.d.ts.map +0 -1
- package/dist/utils/hex.d.ts.map +0 -1
- package/dist/utils/hex.js.map +0 -1
- package/dist/utils/hrtime.d.ts.map +0 -1
- package/dist/utils/iterable.d.ts.map +0 -1
- package/dist/utils/keys/chord.d.ts.map +0 -1
- package/dist/utils/keys/keybinding.d.ts.map +0 -1
- package/dist/utils/lazy.d.ts.map +0 -1
- package/dist/utils/loggable.d.ts.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.scoped.d.ts.map +0 -1
- package/dist/utils/lruMap.d.ts.map +0 -1
- package/dist/utils/markdown.d.ts.map +0 -1
- package/dist/utils/mru.d.ts.map +0 -1
- package/dist/utils/object.d.ts.map +0 -1
- package/dist/utils/paging.d.ts.map +0 -1
- package/dist/utils/path.d.ts.map +0 -1
- package/dist/utils/platform.d.ts.map +0 -1
- package/dist/utils/platform.js.map +0 -1
- package/dist/utils/promise.d.ts.map +0 -1
- package/dist/utils/promiseCache.d.ts.map +0 -1
- package/dist/utils/resourceUsage.d.ts.map +0 -1
- package/dist/utils/resourceUsage.js.map +0 -1
- package/dist/utils/searchTree.d.ts.map +0 -1
- package/dist/utils/stopwatch.d.ts.map +0 -1
- package/dist/utils/string.d.ts.map +0 -1
- package/dist/utils/subscriptionManager.d.ts.map +0 -1
- package/dist/utils/trie.d.ts.map +0 -1
- package/dist/utils/types.d.ts.map +0 -1
- package/dist/utils/types.js.map +0 -1
- package/dist/utils/uri.d.ts.map +0 -1
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/utils/version.d.ts.map +0 -1
- package/src/git/cache.ts +0 -1859
- package/src/git/context.ts +0 -301
- package/src/git/errors.ts +0 -1168
- package/src/git/features.ts +0 -98
- package/src/git/gitHealth.ts +0 -522
- package/src/git/models/author.ts +0 -19
- package/src/git/models/autolink.ts +0 -59
- package/src/git/models/blame.ts +0 -46
- package/src/git/models/branch.ts +0 -237
- package/src/git/models/commit.ts +0 -673
- package/src/git/models/contributor.ts +0 -84
- package/src/git/models/defaultBranch.ts +0 -6
- package/src/git/models/diff.ts +0 -74
- package/src/git/models/file.ts +0 -29
- package/src/git/models/fileChange.ts +0 -82
- package/src/git/models/fileStatus.ts +0 -36
- package/src/git/models/graph.ts +0 -444
- package/src/git/models/graphSearch.ts +0 -53
- package/src/git/models/graphSession.ts +0 -102
- package/src/git/models/issue.ts +0 -273
- package/src/git/models/issueOrPullRequest.ts +0 -20
- package/src/git/models/lineRange.ts +0 -7
- package/src/git/models/log.ts +0 -21
- package/src/git/models/mergeConflicts.ts +0 -19
- package/src/git/models/patch.ts +0 -25
- package/src/git/models/pausedOperationStatus.ts +0 -63
- package/src/git/models/pullRequest.ts +0 -357
- package/src/git/models/rebase.ts +0 -60
- package/src/git/models/reference.ts +0 -80
- package/src/git/models/reflog.ts +0 -88
- package/src/git/models/remote.ts +0 -100
- package/src/git/models/remoteProvider.ts +0 -291
- package/src/git/models/remoteResource.ts +0 -87
- package/src/git/models/repository.ts +0 -510
- package/src/git/models/repositoryChangeEvent.ts +0 -30
- package/src/git/models/repositoryIdentities.ts +0 -99
- package/src/git/models/repositoryMetadata.ts +0 -12
- package/src/git/models/resourceDescriptor.ts +0 -28
- package/src/git/models/revision.ts +0 -12
- package/src/git/models/search.ts +0 -138
- package/src/git/models/shortlog.ts +0 -6
- package/src/git/models/signature.ts +0 -45
- package/src/git/models/staging.ts +0 -27
- package/src/git/models/stash.ts +0 -6
- package/src/git/models/status.ts +0 -246
- package/src/git/models/statusFile.ts +0 -131
- package/src/git/models/tag.ts +0 -76
- package/src/git/models/tree.ts +0 -10
- package/src/git/models/user.ts +0 -7
- package/src/git/models/worktree.ts +0 -160
- package/src/git/parsers/diffParser.ts +0 -648
- package/src/git/parsers/rebaseTodoParser.ts +0 -169
- package/src/git/providers/blame.ts +0 -40
- package/src/git/providers/branches.ts +0 -143
- package/src/git/providers/commits.ts +0 -174
- package/src/git/providers/config.ts +0 -167
- package/src/git/providers/contributors.ts +0 -34
- package/src/git/providers/diff.ts +0 -133
- package/src/git/providers/graph.ts +0 -95
- package/src/git/providers/maintenance.ts +0 -224
- package/src/git/providers/operations.ts +0 -164
- package/src/git/providers/patch.ts +0 -31
- package/src/git/providers/pausedOperations.ts +0 -23
- package/src/git/providers/provider.ts +0 -64
- package/src/git/providers/refs.ts +0 -68
- package/src/git/providers/remotes.ts +0 -33
- package/src/git/providers/revision.ts +0 -32
- package/src/git/providers/shared/remotes.ts +0 -95
- package/src/git/providers/staging.ts +0 -36
- package/src/git/providers/stash.ts +0 -51
- package/src/git/providers/status.ts +0 -48
- package/src/git/providers/tags.ts +0 -29
- package/src/git/providers/types.ts +0 -33
- package/src/git/providers/worktrees.ts +0 -37
- package/src/git/remotes/azure-devops.ts +0 -361
- package/src/git/remotes/bitbucket-server.ts +0 -189
- package/src/git/remotes/bitbucket.ts +0 -142
- package/src/git/remotes/custom.ts +0 -162
- package/src/git/remotes/gerrit.ts +0 -186
- package/src/git/remotes/gitea.ts +0 -184
- package/src/git/remotes/github.ts +0 -236
- package/src/git/remotes/gitlab.ts +0 -270
- package/src/git/remotes/google-source.ts +0 -51
- package/src/git/remotes/matcher.ts +0 -215
- package/src/git/repositoryService.ts +0 -180
- package/src/git/run.types.ts +0 -156
- package/src/git/service.ts +0 -369
- package/src/git/utils/autolink.utils.ts +0 -202
- package/src/git/utils/blame.utils.ts +0 -298
- package/src/git/utils/branch.utils.ts +0 -165
- package/src/git/utils/commit.utils.ts +0 -89
- package/src/git/utils/config.utils.ts +0 -8
- package/src/git/utils/conflictResolution.utils.ts +0 -157
- package/src/git/utils/contributor.utils.ts +0 -105
- package/src/git/utils/fetch.utils.ts +0 -48
- package/src/git/utils/fileStatus.utils.ts +0 -62
- package/src/git/utils/graph.utils.ts +0 -46
- package/src/git/utils/issue.utils.ts +0 -187
- package/src/git/utils/issueOrPullRequest.utils.ts +0 -23
- package/src/git/utils/mergeConflicts.utils.ts +0 -21
- package/src/git/utils/pausedOperationStatus.utils.ts +0 -184
- package/src/git/utils/pullRequest.utils.ts +0 -244
- package/src/git/utils/reachability.utils.ts +0 -180
- package/src/git/utils/rebase.utils.ts +0 -128
- package/src/git/utils/reference.utils.ts +0 -267
- package/src/git/utils/remote.utils.ts +0 -146
- package/src/git/utils/repository.utils.ts +0 -18
- package/src/git/utils/resourceDescriptor.utils.ts +0 -26
- package/src/git/utils/revision.utils.ts +0 -149
- package/src/git/utils/search.utils.ts +0 -624
- package/src/git/utils/sorting.ts +0 -329
- package/src/git/utils/sshKey.utils.ts +0 -30
- package/src/git/utils/status.utils.ts +0 -115
- package/src/git/utils/statusFile.utils.ts +0 -182
- package/src/git/utils/tag.utils.ts +0 -17
- package/src/git/utils/tooltip.utils.ts +0 -37
- package/src/git/utils/uriAuthority.ts +0 -34
- package/src/git/utils/user.utils.ts +0 -20
- package/src/git/utils/worktree.utils.ts +0 -21
- package/src/git/watching/changeEvent.ts +0 -95
- package/src/git/watching/classifyChange.ts +0 -104
- package/src/git/watching/gitIgnoreFilter.ts +0 -134
- package/src/git/watching/initWatcher.ts +0 -81
- package/src/git/watching/provider.ts +0 -24
- package/src/git/watching/watchGroup.ts +0 -185
- package/src/git/watching/watchService.ts +0 -430
- package/src/git/watching/watchSession.ts +0 -439
- package/src/git/watching/watcherPatterns.ts +0 -51
- package/src/git-cli/cliGitProvider.ts +0 -461
- package/src/git-cli/exec/exec.errors.ts +0 -1
- package/src/git-cli/exec/exec.ts +0 -11
- package/src/git-cli/exec/exec.types.ts +0 -8
- package/src/git-cli/exec/features.ts +0 -2
- package/src/git-cli/exec/git.ts +0 -1371
- package/src/git-cli/exec/gitQueue.ts +0 -326
- package/src/git-cli/exec/locator.ts +0 -157
- package/src/git-cli/parsers/blameParser.ts +0 -374
- package/src/git-cli/parsers/indexParser.ts +0 -192
- package/src/git-cli/parsers/logParser.ts +0 -1365
- package/src/git-cli/parsers/mergeTreeParser.ts +0 -22
- package/src/git-cli/parsers/refParser.ts +0 -110
- package/src/git-cli/parsers/reflogParser.ts +0 -153
- package/src/git-cli/parsers/remoteParser.ts +0 -95
- package/src/git-cli/parsers/shortlogParser.ts +0 -59
- package/src/git-cli/parsers/signatureParser.ts +0 -162
- package/src/git-cli/parsers/sshSignatureParser.ts +0 -85
- package/src/git-cli/parsers/statusParser.ts +0 -209
- package/src/git-cli/parsers/treeParser.ts +0 -61
- package/src/git-cli/parsers/worktreeParser.ts +0 -111
- package/src/git-cli/providers/blame.ts +0 -598
- package/src/git-cli/providers/branches.ts +0 -1931
- package/src/git-cli/providers/commitFilesetUtils.ts +0 -45
- package/src/git-cli/providers/commits.ts +0 -1856
- package/src/git-cli/providers/config.ts +0 -1025
- package/src/git-cli/providers/contributors.ts +0 -360
- package/src/git-cli/providers/diff.ts +0 -1172
- package/src/git-cli/providers/graph.ts +0 -2237
- package/src/git-cli/providers/maintenance.ts +0 -2599
- package/src/git-cli/providers/operations.ts +0 -1016
- package/src/git-cli/providers/patch.ts +0 -305
- package/src/git-cli/providers/pausedOperations.ts +0 -670
- package/src/git-cli/providers/refs.ts +0 -486
- package/src/git-cli/providers/remotes.ts +0 -115
- package/src/git-cli/providers/revision.ts +0 -383
- package/src/git-cli/providers/staging.ts +0 -210
- package/src/git-cli/providers/stash.ts +0 -577
- package/src/git-cli/providers/status.ts +0 -568
- package/src/git-cli/providers/tags.ts +0 -224
- package/src/git-cli/providers/worktrees.ts +0 -285
- package/src/git-cli/service.ts +0 -82
- package/src/ipc/discovery.ts +0 -186
- package/src/ipc/ipcServer.ts +0 -171
- package/src/plus/agents/agentCapabilities.ts +0 -286
- package/src/plus/agents/providers/claudeCodeTranscript.ts +0 -867
- package/src/plus/agents/providers/gkAgentProvider.ts +0 -4036
- package/src/plus/agents/sanitizePrompt.ts +0 -109
- package/src/plus/agents/stateMachine.ts +0 -197
- package/src/plus/agents/types.ts +0 -500
- package/src/plus/ai/constants.ts +0 -121
- package/src/plus/ai/errors.ts +0 -152
- package/src/plus/ai/models/conversation.ts +0 -35
- package/src/plus/ai/models/model.ts +0 -528
- package/src/plus/ai/models/promptTemplates.ts +0 -171
- package/src/plus/ai/models/provider.ts +0 -125
- package/src/plus/ai/models/results.ts +0 -31
- package/src/plus/ai/prompts.ts +0 -849
- package/src/plus/ai/providers/anthropicProvider.ts +0 -458
- package/src/plus/ai/providers/azureProvider.ts +0 -74
- package/src/plus/ai/providers/context.ts +0 -29
- package/src/plus/ai/providers/deepSeekProvider.ts +0 -46
- package/src/plus/ai/providers/geminiProvider.ts +0 -245
- package/src/plus/ai/providers/gitkrakenProvider.ts +0 -347
- package/src/plus/ai/providers/huggingFaceProvider.ts +0 -64
- package/src/plus/ai/providers/mistralProvider.ts +0 -243
- package/src/plus/ai/providers/ollamaProvider.ts +0 -292
- package/src/plus/ai/providers/openAICompatibleProvider.ts +0 -64
- package/src/plus/ai/providers/openAICompatibleProviderBase.ts +0 -654
- package/src/plus/ai/providers/openRouterProvider.ts +0 -101
- package/src/plus/ai/providers/openaiProvider.ts +0 -47
- package/src/plus/ai/providers/responseFormatCache.ts +0 -39
- package/src/plus/ai/providers/xaiProvider.ts +0 -54
- package/src/plus/ai/utils/ai.utils.ts +0 -95
- package/src/plus/ai/utils/results.utils.ts +0 -407
- package/src/plus/ai/utils/truncation.utils.ts +0 -296
- package/src/plus/git-github/api/config.ts +0 -91
- package/src/plus/git-github/api/github.ts +0 -5462
- package/src/plus/git-github/api/github.utils.ts +0 -36
- package/src/plus/git-github/api/issueSearchQuery.ts +0 -273
- package/src/plus/git-github/api/pullRequestSearchQuery.ts +0 -154
- package/src/plus/git-github/api/token.ts +0 -15
- package/src/plus/git-github/api/tokenUtils.ts +0 -15
- package/src/plus/git-github/api/types.ts +0 -197
- package/src/plus/git-github/context.ts +0 -107
- package/src/plus/git-github/models.ts +0 -623
- package/src/plus/git-github/providers/github/blame.ts +0 -225
- package/src/plus/git-github/providers/github/branches.ts +0 -401
- package/src/plus/git-github/providers/github/commits.ts +0 -929
- package/src/plus/git-github/providers/github/config.ts +0 -47
- package/src/plus/git-github/providers/github/contributors.ts +0 -313
- package/src/plus/git-github/providers/github/diff.ts +0 -281
- package/src/plus/git-github/providers/github/graph.ts +0 -635
- package/src/plus/git-github/providers/github/refs.ts +0 -172
- package/src/plus/git-github/providers/github/remotes.ts +0 -44
- package/src/plus/git-github/providers/github/revision.ts +0 -140
- package/src/plus/git-github/providers/github/status.ts +0 -69
- package/src/plus/git-github/providers/github/tags.ts +0 -148
- package/src/plus/git-github/providers/githubGitProvider.ts +0 -168
- package/src/plus/git-github/providers/githubProvider.ts +0 -65
- package/src/plus/integrations/authentication/cloudIntegrationService.ts +0 -292
- package/src/plus/integrations/authentication/configuredIntegrationService.ts +0 -656
- package/src/plus/integrations/authentication/integrationAuthenticationProvider.ts +0 -385
- package/src/plus/integrations/authentication/integrationAuthenticationService.ts +0 -148
- package/src/plus/integrations/authentication/manualTokenProvider.ts +0 -79
- package/src/plus/integrations/authentication/models.ts +0 -202
- package/src/plus/integrations/authentication/rejectedTokenTracker.ts +0 -56
- package/src/plus/integrations/collectionMetadata.ts +0 -325
- package/src/plus/integrations/constants.ts +0 -190
- package/src/plus/integrations/context.ts +0 -386
- package/src/plus/integrations/errors.ts +0 -188
- package/src/plus/integrations/index.ts +0 -231
- package/src/plus/integrations/integrationService.ts +0 -2003
- package/src/plus/integrations/lite.ts +0 -233
- package/src/plus/integrations/manager.ts +0 -728
- package/src/plus/integrations/models/gitHostIntegration.ts +0 -1862
- package/src/plus/integrations/models/integration.ts +0 -1005
- package/src/plus/integrations/models/issueCache.ts +0 -29
- package/src/plus/integrations/models/issueReads.ts +0 -152
- package/src/plus/integrations/models/issuesIntegration.ts +0 -248
- package/src/plus/integrations/models/pullRequestReads.ts +0 -18
- package/src/plus/integrations/providerFilters.ts +0 -36
- package/src/plus/integrations/providers/accounts.ts +0 -38
- package/src/plus/integrations/providers/apiClients.ts +0 -69
- package/src/plus/integrations/providers/apiConfig.ts +0 -71
- package/src/plus/integrations/providers/azure/azure.ts +0 -953
- package/src/plus/integrations/providers/azure/models.ts +0 -723
- package/src/plus/integrations/providers/azureDevOps.ts +0 -1355
- package/src/plus/integrations/providers/bitbucket/bitbucket.ts +0 -904
- package/src/plus/integrations/providers/bitbucket/models.ts +0 -446
- package/src/plus/integrations/providers/bitbucket-server/models.ts +0 -283
- package/src/plus/integrations/providers/bitbucket-server.ts +0 -445
- package/src/plus/integrations/providers/bitbucket.ts +0 -793
- package/src/plus/integrations/providers/github/github.ts +0 -64
- package/src/plus/integrations/providers/github/github.utils.ts +0 -23
- package/src/plus/integrations/providers/github/models.ts +0 -29
- package/src/plus/integrations/providers/github.ts +0 -940
- package/src/plus/integrations/providers/gitlab/gitlab.ts +0 -1320
- package/src/plus/integrations/providers/gitlab/gitlab.utils.ts +0 -80
- package/src/plus/integrations/providers/gitlab/models.ts +0 -271
- package/src/plus/integrations/providers/gitlab.ts +0 -841
- package/src/plus/integrations/providers/issueSorts.ts +0 -89
- package/src/plus/integrations/providers/jira.ts +0 -596
- package/src/plus/integrations/providers/jiraIssueByKey.ts +0 -155
- package/src/plus/integrations/providers/linear.ts +0 -484
- package/src/plus/integrations/providers/models.ts +0 -1833
- package/src/plus/integrations/providers/providerErrors.ts +0 -115
- package/src/plus/integrations/providers/providersApi.ts +0 -1881
- package/src/plus/integrations/providers/pullRequestReviews.ts +0 -122
- package/src/plus/integrations/providers/trello.ts +0 -208
- package/src/plus/integrations/providers/utils/providerPaging.ts +0 -212
- package/src/plus/integrations/providers/utils.ts +0 -419
- package/src/plus/integrations/reads/broaden.ts +0 -704
- package/src/plus/integrations/reads/context.ts +0 -99
- package/src/plus/integrations/reads/counts.ts +0 -610
- package/src/plus/integrations/reads/cursors.ts +0 -224
- package/src/plus/integrations/reads/drains.ts +0 -420
- package/src/plus/integrations/reads/filters.ts +0 -614
- package/src/plus/integrations/reads/hierarchy.ts +0 -486
- package/src/plus/integrations/reads/hierarchy.utils.ts +0 -155
- package/src/plus/integrations/reads/issueBatch.ts +0 -197
- package/src/plus/integrations/reads/issueTracker.ts +0 -556
- package/src/plus/integrations/reads/issues.ts +0 -600
- package/src/plus/integrations/reads/ordering.ts +0 -124
- package/src/plus/integrations/reads/paging.ts +0 -379
- package/src/plus/integrations/reads/pullRequests.ts +0 -260
- package/src/plus/integrations/reads/resolveRepository.ts +0 -275
- package/src/plus/integrations/reads/searchIssues.ts +0 -274
- package/src/plus/integrations/reads/searchPullRequests.ts +0 -235
- package/src/plus/integrations/reads/sweeps.ts +0 -266
- package/src/plus/integrations/reads/trackerIssue.ts +0 -105
- package/src/plus/integrations/reads/warnings.ts +0 -535
- package/src/plus/integrations/results.ts +0 -443
- package/src/plus/integrations/telemetry.ts +0 -29
- package/src/plus/integrations/utils/domain.utils.ts +0 -26
- package/src/plus/integrations/utils/integration.utils.ts +0 -215
- package/src/utils/array.ts +0 -194
- package/src/utils/base64.ts +0 -1
- package/src/utils/brand.ts +0 -7
- package/src/utils/cancellation.ts +0 -199
- package/src/utils/charCode.ts +0 -38
- package/src/utils/coalescedRun.ts +0 -45
- package/src/utils/color.ts +0 -817
- package/src/utils/counter.ts +0 -21
- package/src/utils/crypto.ts +0 -1
- package/src/utils/date.ts +0 -474
- package/src/utils/debounce.ts +0 -303
- package/src/utils/decorators/debounce.ts +0 -31
- package/src/utils/decorators/gate.ts +0 -167
- package/src/utils/decorators/log.ts +0 -320
- package/src/utils/decorators/memoize.ts +0 -98
- package/src/utils/decorators/resolver.ts +0 -95
- package/src/utils/decorators/sequentialize.ts +0 -118
- package/src/utils/decorators/serializable.ts +0 -43
- package/src/utils/dedupedAsyncCache.ts +0 -74
- package/src/utils/diff.ts +0 -61
- package/src/utils/disposable.ts +0 -156
- package/src/utils/encoding.ts +0 -8
- package/src/utils/env/browser/base64.ts +0 -50
- package/src/utils/env/browser/crypto.ts +0 -21
- package/src/utils/env/browser/fs.ts +0 -3
- package/src/utils/env/browser/hex.ts +0 -41
- package/src/utils/env/browser/hrtime.ts +0 -14
- package/src/utils/env/browser/logScope.ts +0 -57
- package/src/utils/env/browser/md5.ts +0 -217
- package/src/utils/env/browser/platform.ts +0 -10
- package/src/utils/env/node/base64.ts +0 -19
- package/src/utils/env/node/crypto.ts +0 -17
- package/src/utils/env/node/exec.ts +0 -488
- package/src/utils/env/node/fs.ts +0 -5
- package/src/utils/env/node/hex.ts +0 -11
- package/src/utils/env/node/hrtime.ts +0 -1
- package/src/utils/env/node/logScope.ts +0 -63
- package/src/utils/env/node/platform.ts +0 -5
- package/src/utils/error.ts +0 -18
- package/src/utils/event.ts +0 -230
- package/src/utils/formatter.ts +0 -198
- package/src/utils/fs.ts +0 -1
- package/src/utils/function.ts +0 -141
- package/src/utils/fuzzy.ts +0 -185
- package/src/utils/hash.ts +0 -60
- package/src/utils/hex.ts +0 -1
- package/src/utils/hrtime.ts +0 -8
- package/src/utils/iterable.ts +0 -797
- package/src/utils/keys/chord.ts +0 -184
- package/src/utils/keys/keybinding.ts +0 -116
- package/src/utils/lazy.ts +0 -39
- package/src/utils/loggable.ts +0 -7
- package/src/utils/logger.scoped.ts +0 -237
- package/src/utils/logger.ts +0 -403
- package/src/utils/lruMap.ts +0 -112
- package/src/utils/markdown.ts +0 -115
- package/src/utils/mru.ts +0 -68
- package/src/utils/object.ts +0 -278
- package/src/utils/paging.ts +0 -97
- package/src/utils/path.ts +0 -204
- package/src/utils/platform.ts +0 -1
- package/src/utils/promise.ts +0 -657
- package/src/utils/promiseCache.ts +0 -908
- package/src/utils/resourceUsage.ts +0 -5
- package/src/utils/searchTree.ts +0 -444
- package/src/utils/stopwatch.ts +0 -125
- package/src/utils/string.ts +0 -1003
- package/src/utils/subscriptionManager.ts +0 -40
- package/src/utils/trie.ts +0 -740
- package/src/utils/types.ts +0 -31
- package/src/utils/uri.ts +0 -118
- package/src/utils/validation.ts +0 -38
- package/src/utils/version.ts +0 -128
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../../src/git-cli/providers/maintenance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"maintenance.js","names":[],"sources":["../../../../git-cli/src/providers/maintenance.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport type { Dirent } from 'node:fs';\nimport { mkdir, open, readdir, readFile, realpath, rename, rm, stat } from 'node:fs/promises';\nimport type { FileHandle } from 'node:fs/promises';\nimport { hostname } from 'node:os';\nimport * as process from 'node:process';\nimport * as l10n from '@vscode/l10n';\nimport type { Cache } from '@gitlens/git/cache.js';\nimport type { GitServiceContext } from '@gitlens/git/context.js';\nimport type { GitFeatures } from '@gitlens/git/features.js';\nimport { gitFeaturesByVersion } from '@gitlens/git/features.js';\nimport { looseRefsThreshold } from '@gitlens/git/gitHealth.js';\nimport type { GkConfigKeys } from '@gitlens/git/providers/config.js';\nimport type {\n\tGitHealthDetails,\n\tGitHealthSnapshot,\n\tGitMaintenanceSubProvider,\n\tGitMaintenanceTask,\n\tGitOptimizationCapability,\n\tGitOptimizationId,\n} from '@gitlens/git/providers/maintenance.js';\nimport type { GitResult } from '@gitlens/git/run.types.js';\nimport { CancellationError } from '@gitlens/utils/cancellation.js';\nimport { debug } from '@gitlens/utils/decorators/log.js';\nimport { getScopedLogger } from '@gitlens/utils/logger.scoped.js';\nimport { arePathsEqual, joinPaths } from '@gitlens/utils/path.js';\nimport { getSettledValue } from '@gitlens/utils/promise.js';\nimport { escapeRegex } from '@gitlens/utils/string.js';\nimport type { CliGitProviderInternal } from '../cliGitProvider.js';\nimport { fsExists } from '../exec/exec.js';\nimport type { Git } from '../exec/git.js';\nimport { canonicalizeGitConfigKey, isGitBooleanFalse, parseConfigRegexOutput, parseGitBoolean } from './config.js';\n\n/** Deterministic sample of the 256 object fanout dirs (`00`,`10`,…,`f0`) used to extrapolate loose-object count. */\nconst looseObjectSampleDirs: readonly string[] = Array.from({ length: 16 }, (_, i) =>\n\t(i * 16).toString(16).padStart(2, '0'),\n);\n\n/** Stops the ref probe at four times the recommendation threshold: bounded, but still useful for telemetry. */\nconst looseRefProbeLimit = looseRefsThreshold * 4;\n\n/** Worktree-local ownership journal for the sparse-index command lever. */\nconst sparseIndexAppliedMarker = 'sparse-index.applied';\nconst sparseIndexLockFile = 'sparse-index.lock';\nconst sparseIndexPendingMarker = 'sparse-index.pending';\n\n/** How long the global `maintenance.repo` registration list is served from cache (mirrors the config caches). */\nconst registeredMaintenanceReposTtlMs = 30 * 1000;\n\n/** How long a repo's worktree list is served from cache — worktrees can be added/removed mid-session. */\nconst worktreePathsTtlMs = 30 * 1000;\n\n/** Demand cadence for the commit-graph write: refreshed at most this often per object database. */\nconst commitGraphRefreshIntervalMs = 5 * 60 * 1000;\n\n/** Git's default `maintenance.incremental-repack.auto` threshold. */\nconst defaultIncrementalRepackAutoThreshold = 10;\n\n/** Bounds defensive reads of repository-controlled MIDX metadata. */\nconst maxMultiPackIndexChunkBytes = 16 * 1024 * 1024;\nconst maxMultiPackIndexChainBytes = 1024 * 1024;\n\n/** Sentinel recorded in a `gk.applied.*` marker when the lever's prior LOCAL value was absent (→ undo unsets it). */\nconst unsetConfigSentinel = 'unset';\n/**\n * Sentinel recorded when the prior LOCAL value was present but EMPTY (`key =`). Git reads an empty value as\n * boolean false, and a local empty value shadows any global value — so undo must restore the empty value, not\n * unset the key (unsetting would let a global `true` resurface). The marker can't store the empty string\n * itself: `--get-regexp` prints a value-less line for it, which the bulk gk-config parser drops.\n */\nconst emptyConfigSentinel = 'empty';\n\n/**\n * The ONLY tolerable non-zero exits from the config reads/writes below: `--get`/`--get-all`/`--get-regex`\n * exit 1 when the key (or, for `--get-regex`, the pattern) is unset/unmatched, `--unset-all` exits 5 when\n * it was already absent. Any other non-zero means git couldn't read or write the config at all (a held\n * `config.lock`, a read-only `.git`, a malformed file) — which must never be mistaken for \"unset\"/\"already\n * gone\", since that reads as success and drops the ownership marker.\n *\n * Note the writes use `--unset-all`, never `--unset`: `--unset` REFUSES a multi-valued key and exits 5 too —\n * the same code as the benign case — leaving the values in place. `--unset-all` removes every local value\n * (the correct restore for an `unset` prior) and reserves 5 for genuinely absent.\n */\nconst gitConfigGetMissingExitCode = 1;\nconst gitConfigUnsetMissingExitCode = 5;\n\n/** `update-index --test-untracked-cache` exits 1 when the filesystem can't support it. */\nconst untrackedCacheUnsupportedExitCode = 1;\n\n/** Poll interval and ceiling for waiting on another window's ownership-marker lock. */\nconst markerLockRetryMs = 50;\nconst markerLockMaxAttempts = 20;\n\n/**\n * The Git Health gk markers a snapshot carries: the two not-applicable flags + per-lever ownership, plus\n * the commit-graph disable flag (nested under `commitGraph` in the snapshot, so `Pick` alone can't reach it).\n */\ntype GkMarkers = Pick<GitHealthSnapshot, 'fsmonitorNotApplicable' | 'untrackedCacheNotApplicable' | 'applied'> & {\n\treadonly commitGraphDisabled: boolean;\n};\nconst emptyGkMarkers: GkMarkers = {\n\tfsmonitorNotApplicable: false,\n\tuntrackedCacheNotApplicable: false,\n\tapplied: {\n\t\tuntrackedCache: false,\n\t\tfsmonitor: false,\n\t\tmanyFiles: false,\n\t\tbackgroundMaintenance: false,\n\t\tsparseIndex: false,\n\t},\n\tcommitGraphDisabled: false,\n};\n\ntype ConfigLeverChange = {\n\treadonly configKey: string;\n\treadonly markerKey: GkConfigKeys;\n\treadonly pendingKey: GkConfigKeys;\n\treadonly value: string;\n};\n\ntype PendingConfigChange = {\n\treadonly prior: string;\n\treadonly value: string;\n};\n\nclass MarkerLockContentionError extends Error {}\n\nconst untrackedCacheChange: ConfigLeverChange = {\n\tconfigKey: 'core.untrackedCache',\n\tmarkerKey: 'gk.applied.untrackedCache',\n\tpendingKey: 'gk.pending.untrackedCache',\n\tvalue: 'true',\n};\nconst fsmonitorChange: ConfigLeverChange = {\n\tconfigKey: 'core.fsmonitor',\n\tmarkerKey: 'gk.applied.fsmonitor',\n\tpendingKey: 'gk.pending.fsmonitor',\n\tvalue: 'true',\n};\nconst manyFilesChange: ConfigLeverChange = {\n\tconfigKey: 'feature.manyFiles',\n\tmarkerKey: 'gk.applied.manyFiles',\n\tpendingKey: 'gk.pending.manyFiles',\n\tvalue: 'true',\n};\nconst skipHashChange: ConfigLeverChange = {\n\tconfigKey: 'index.skipHash',\n\tmarkerKey: 'gk.applied.skipHash',\n\tpendingKey: 'gk.pending.skipHash',\n\tvalue: 'true',\n};\nconst configLeverChanges: readonly ConfigLeverChange[] = [\n\tuntrackedCacheChange,\n\tfsmonitorChange,\n\tmanyFilesChange,\n\tskipHashChange,\n];\n\nfunction encodePendingConfigChange(change: PendingConfigChange): string {\n\treturn JSON.stringify(change);\n}\n\nfunction decodePendingConfigChange(value: string): PendingConfigChange | undefined {\n\ttry {\n\t\tconst parsed = JSON.parse(value) as Partial<PendingConfigChange>;\n\t\treturn typeof parsed.prior === 'string' && typeof parsed.value === 'string'\n\t\t\t? { prior: parsed.prior, value: parsed.value }\n\t\t\t: undefined;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\n/** `core.fsmonitor` is enabled when set to a truthy bool OR a hook path — unset or any false spelling is \"off\". */\nfunction isFsmonitorEnabled(value: string | undefined): boolean {\n\tif (value == null) return false;\n\n\treturn !isGitBooleanFalse(value);\n}\n\n/** Parses Git's integer syntax, including the case-insensitive binary `k`, `m`, and `g` suffixes. */\nfunction parseGitInteger(value: string | undefined): number | undefined {\n\tconst match = /^([+-]?\\d+)([kmg])?$/i.exec(value?.trim() ?? '');\n\tif (match == null) return undefined;\n\n\tconst multiplier =\n\t\tmatch[2]?.toLowerCase() === 'k' ? 1024 : match[2]?.toLowerCase() === 'm' ? 1024 ** 2 : match[2] ? 1024 ** 3 : 1;\n\tconst parsed = Number.parseInt(match[1], 10) * multiplier;\n\treturn Number.isSafeInteger(parsed) ? parsed : undefined;\n}\n\n/**\n * Whether `fsmonitor--daemon` reported that this git build has no backend for the platform (as opposed to\n * simply not running yet, which also exits non-zero). Git uses 128 for any fatal, so the message matters.\n */\nfunction isFsmonitorDaemonUnsupported(result: Pick<GitResult, 'exitCode' | 'stdout' | 'stderr'>): boolean {\n\tif (result.exitCode !== 128) return false;\n\n\treturn `${result.stderr ?? ''}${result.stdout ?? ''}`.includes('not supported on this platform');\n}\n\n/** Platforms with a built-in FSMonitor daemon backend, and the git floor each one needs. */\nfunction fsmonitorFeatureForPlatform(): GitFeatures | undefined {\n\tswitch (process.platform) {\n\t\tcase 'win32':\n\t\tcase 'darwin':\n\t\t\treturn 'git:fsmonitor';\n\t\t// Linux got an inotify backend only in 2.55.\n\t\tcase 'linux':\n\t\t\treturn 'git:fsmonitor:linux';\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\n/** Parses `git count-objects -v` (`key: number` per line) into the {@link GitHealthDetails} breakdown. */\nfunction parseCountObjects(stdout: string): NonNullable<GitHealthDetails['countObjects']> {\n\tconst values = new Map<string, number>();\n\tfor (const line of stdout.split('\\n')) {\n\t\tconst sep = line.indexOf(':');\n\t\tif (sep === -1) continue;\n\n\t\tconst key = line.slice(0, sep).trim();\n\t\tconst value = parseInt(line.slice(sep + 1).trim(), 10);\n\t\tif (!Number.isNaN(value)) {\n\t\t\tvalues.set(key, value);\n\t\t}\n\t}\n\n\t// git reports the size fields in KiB — normalize to bytes here.\n\treturn {\n\t\tcount: values.get('count') ?? 0,\n\t\tsize: (values.get('size') ?? 0) * 1024,\n\t\tinPack: values.get('in-pack') ?? 0,\n\t\tpacks: values.get('packs') ?? 0,\n\t\tsizePack: (values.get('size-pack') ?? 0) * 1024,\n\t\tprunePackable: values.get('prune-packable') ?? 0,\n\t\tgarbage: values.get('garbage') ?? 0,\n\t\tsizeGarbage: (values.get('size-garbage') ?? 0) * 1024,\n\t};\n}\n\nexport class MaintenanceGitSubProvider implements GitMaintenanceSubProvider {\n\tconstructor(\n\t\tprivate readonly context: GitServiceContext,\n\t\tprivate readonly git: Git,\n\t\tprivate readonly cache: Cache,\n\t\tprivate readonly provider: CliGitProviderInternal,\n\t) {}\n\n\t// Last commit-graph refresh this session, keyed by BOTH worktree path (cheap synchronous re-entry\n\t// throttle) and resolved common git dir (the authoritative throttle — worktrees share one object\n\t// database, so N open worktrees must coalesce to one write). The namespaces can't collide: worktree\n\t// keys are working-tree roots, common-dir keys are `.git` directory paths.\n\tprivate readonly commitGraphWrittenAt = new Map<string, number>();\n\t// Common git dirs with a write currently running — single-flight so overlapping hints (or several\n\t// worktrees racing the same interval boundary) never stack concurrent writes on one object database.\n\tprivate readonly commitGraphWriteInflight = new Set<string>();\n\n\trequest(repoPath: string, task: GitMaintenanceTask): Promise<boolean> | undefined {\n\t\t// Only the commit-graph has a demand cadence — its cache is most valuable immediately after a history\n\t\t// walk, so graph-load and repo-open hint it and the throttle decides. Other maintenance tasks are owned\n\t\t// by the daily pass (a demand write buys nothing there), so they no-op here.\n\t\tswitch (task) {\n\t\t\tcase 'commit-graph':\n\t\t\t\treturn this.ensureCommitGraph(repoPath);\n\t\t\tcase 'loose-objects':\n\t\t\tcase 'incremental-repack':\n\t\t\tcase 'pack-refs':\n\t\t\t\treturn undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Opportunistically refreshes git's commit-graph (the demand cadence behind `request('commit-graph')`).\n\t * Without one that COVERS the history, any ordered walk (`--date-order`/`--topo-order` — exactly the\n\t * graph's initial load) must inflate every commit object to sort BEFORE the first row can be emitted,\n\t * costing a full-history walk per open; the commit-graph also accelerates `git log`, merge-base, and\n\t * ahead/behind across the whole extension. It's a standard acceleration cache (`git gc`/`git maintenance`\n\t * write it routinely) and is always safe to delete. Fire-and-forget: refreshed at most every few minutes\n\t * per object database (a current chain makes the write a near-no-op), at background queue priority,\n\t * failures swallowed. Cross-WINDOW writes aren't coordinated here — git's own `commit-graph-chain.lock`\n\t * serializes them; a loser errors and is swallowed. Resolves `true` only when the write completes; the\n\t * health service uses that signal for one post-write freshness probe, while graph consumers ignore it.\n\t */\n\tprivate ensureCommitGraph(repoPath: string): Promise<boolean> {\n\t\t// Governed by the auto-tier master switch (`gitlens.gitOptimizations.enabled`), fed into both\n\t\t// mapped config slots below.\n\t\tif (this.context.config?.maintenance?.enabled === false) return Promise.resolve(false);\n\t\tif (this.context.config?.graph?.writeCommitGraph === false) return Promise.resolve(false);\n\n\t\tconst lastWrittenAt = this.commitGraphWrittenAt.get(repoPath);\n\t\tif (lastWrittenAt != null && Date.now() - lastWrittenAt < commitGraphRefreshIntervalMs) {\n\t\t\treturn Promise.resolve(false);\n\t\t}\n\n\t\tthis.commitGraphWrittenAt.set(repoPath, Date.now());\n\n\t\treturn (async () => {\n\t\t\ttry {\n\t\t\t\tif (!(await this.git.supports('git:commit-graph'))) return false;\n\n\t\t\t\t// Re-throttle + single-flight on the COMMON git dir so this worktree's write coalesces with\n\t\t\t\t// its siblings' (they all share the one object database the commit-graph lives in). Resolved\n\t\t\t\t// via the config sub-provider's cached git-dir, so repeat hints don't re-spawn `rev-parse`.\n\t\t\t\tconst gitDir = await this.provider.config.getGitDir(repoPath).catch(() => undefined);\n\t\t\t\tconst commonKey = gitDir != null ? (gitDir.commonUri ?? gitDir.uri).fsPath : repoPath;\n\t\t\t\tif (this.commitGraphWriteInflight.has(commonKey)) return false;\n\n\t\t\t\t// Skip the common-dir re-throttle when resolution fell back to repoPath itself — the sync\n\t\t\t\t// gate above JUST stamped that key, so re-checking it here would early-return forever and\n\t\t\t\t// the write would never run for repos whose git-dir resolve fails.\n\t\t\t\tif (commonKey !== repoPath) {\n\t\t\t\t\tconst lastCommonWriteAt = this.commitGraphWrittenAt.get(commonKey);\n\t\t\t\t\tif (lastCommonWriteAt != null && Date.now() - lastCommonWriteAt < commitGraphRefreshIntervalMs) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.commitGraphWrittenAt.set(commonKey, Date.now());\n\t\t\t\t}\n\t\t\t\tthis.commitGraphWriteInflight.add(commonKey);\n\t\t\t\ttry {\n\t\t\t\t\tif (await this.isCommitGraphWriteDisabled(repoPath)) return false;\n\n\t\t\t\t\tawait this.writeCommitGraph(repoPath, true);\n\t\t\t\t\treturn true;\n\t\t\t\t} finally {\n\t\t\t\t\tthis.commitGraphWriteInflight.delete(commonKey);\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t// Best-effort acceleration only — never surface failures (shallow/partial clones,\n\t\t\t\t// read-only repos, ancient gits behind the feature gate, etc.).\n\t\t\t\treturn false;\n\t\t\t}\n\t\t})();\n\t}\n\n\t/** Shared opt-out gate for automatic and explicit writes. */\n\tprivate async isCommitGraphWriteDisabled(repoPath: string, cancellation?: AbortSignal): Promise<boolean> {\n\t\t// Respect an explicit read opt-out — writing a cache this git will never read is pure waste.\n\t\t// `--type=bool` normalizes every falsy spelling Git accepts (`false`/`no`/`off`/`0`). Unset means\n\t\t// Git reads the cache; a malformed value isn't false, matching Git's own read behavior.\n\t\tconst optOut = await this.runQuietly(\n\t\t\trepoPath,\n\t\t\tcancellation,\n\t\t\t'config',\n\t\t\t'--type=bool',\n\t\t\t'--get',\n\t\t\t'core.commitGraph',\n\t\t);\n\t\tthis.throwIfDidNotComplete(optOut, cancellation);\n\t\tif (optOut.stdout.trim() === 'false') return true;\n\n\t\t// The per-repository off switch (Git Health), independent of the settings-level auto-tier gates.\n\t\treturn (await this.provider.config.getGkConfig(repoPath, 'gk.commitGraphDisabled')) === 'true';\n\t}\n\n\t/**\n\t * The commit-graph write itself. Always a `--split` write: mere existence isn't enough (a stale or thin\n\t * chain — e.g. one auto-gc increment — accelerates nothing); `--split` appends an incremental layer\n\t * covering only the uncovered commits (near-no-op when current) and git self-merges layers by its\n\t * geometric policy. Background priority: a first write on a huge repo can run for a while and must never\n\t * hold a queue slot ahead of interactive work. Throws on failure — callers decide whether to swallow.\n\t */\n\tprivate async writeCommitGraph(repoPath: string, bounded: boolean, cancellation?: AbortSignal): Promise<void> {\n\t\tconst partialClone = await this.isPartialClone(repoPath, cancellation);\n\t\tconst args = ['commit-graph', 'write', '--reachable', bounded || partialClone ? '--split' : '--split=replace'];\n\n\t\t// Changed-path Bloom filters make `git log -- <path>` fast, but computing them for the WHOLE history\n\t\t// on a big repo is expensive, so automatic writes seed at most 512 filters. A bounded split write does\n\t\t// NOT backfill older layers on later passes; only the explicit task uses an unbounded replace write to\n\t\t// provide complete reachable-history coverage. Partial/promisor clones omit filters entirely because\n\t\t// computing them needs missing trees and would otherwise lazy-fetch from the network.\n\t\tif (!partialClone && (await this.git.supports('git:commit-graph:changed-paths'))) {\n\t\t\targs.push('--changed-paths');\n\t\t\tif (bounded) {\n\t\t\t\targs.push('--max-new-filters=512');\n\t\t\t}\n\t\t}\n\n\t\tawait this.git.run(\n\t\t\t{\n\t\t\t\tcwd: repoPath,\n\t\t\t\tpriority: 'background',\n\t\t\t\tcancellation: cancellation,\n\t\t\t\tenv: { GIT_NO_LAZY_FETCH: '1' },\n\t\t\t\tselfMaintenance: true,\n\t\t\t},\n\t\t\t...args,\n\t\t);\n\t}\n\n\t/** Config-only partial/promisor detection; never examines an object and therefore cannot itself lazy-fetch. */\n\tprivate async isPartialClone(repoPath: string, cancellation?: AbortSignal): Promise<boolean> {\n\t\tconst result = await this.runQuietly(\n\t\t\trepoPath,\n\t\t\tcancellation,\n\t\t\t'config',\n\t\t\t'--local',\n\t\t\t'--get-regex',\n\t\t\t'^(extensions\\\\.partialclone|remote\\\\..*\\\\.promisor)$',\n\t\t);\n\t\tthis.throwIfDidNotComplete(result, cancellation);\n\t\tif (result.exitCode !== 0 && result.exitCode !== gitConfigGetMissingExitCode) {\n\t\t\tthrow new Error(l10n.t('Unable to detect a partial clone (git exited {0})', String(result.exitCode)));\n\t\t}\n\t\tif (result.exitCode !== 0) return false;\n\n\t\tconst config = parseConfigRegexOutput(result.stdout, { includeValueless: true });\n\t\tfor (const [key, value] of config) {\n\t\t\tif (key === 'extensions.partialclone' || (key.endsWith('.promisor') && parseGitBoolean(value))) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/** Honors an explicit MIDX opt-out on both automatic and user-invoked incremental repacks. */\n\tprivate async isMultiPackIndexEnabled(repoPath: string, cancellation?: AbortSignal): Promise<boolean> {\n\t\tconst result = await this.runQuietly(\n\t\t\trepoPath,\n\t\t\tcancellation,\n\t\t\t'config',\n\t\t\t'--bool',\n\t\t\t'--get',\n\t\t\t'core.multiPackIndex',\n\t\t);\n\t\tthis.throwIfDidNotComplete(result, cancellation);\n\t\tif (result.exitCode === gitConfigGetMissingExitCode) return true;\n\t\tif (result.exitCode !== 0) {\n\t\t\tthrow new Error(l10n.t('Unable to read core.multiPackIndex (git exited {0})', String(result.exitCode)));\n\t\t}\n\n\t\treturn parseGitBoolean(result.stdout.trim());\n\t}\n\n\t@debug()\n\tasync getHealthSnapshot(repoPath: string, cancellation?: AbortSignal): Promise<GitHealthSnapshot> {\n\t\tawait this.reconcilePendingConfigChanges(repoPath, cancellation);\n\n\t\tconst gitDir = await this.provider.config.getGitDir(repoPath);\n\t\t// Object store lives in the COMMON git dir (shared across worktrees); the index is per-worktree.\n\t\tconst commonGitDir = (gitDir.commonUri ?? gitDir.uri).fsPath;\n\t\tconst objectsDir = joinPaths(commonGitDir, 'objects');\n\t\tconst packDir = joinPaths(objectsDir, 'pack');\n\t\tconst indexPath = joinPaths(gitDir.uri.fsPath, 'index');\n\n\t\tconst [\n\t\t\tcommitGraphStat,\n\t\t\tmultiPackIndex,\n\t\t\tpacks,\n\t\t\tlooseObjects,\n\t\t\tindexBytes,\n\t\t\tindexEntryCount,\n\t\t\tsharedIndex,\n\t\t\tconflictOperation,\n\t\t\tconfig,\n\t\t\tmaintenanceRegistered,\n\t\t\tgkMarkers,\n\t\t\tsupportsMaintenanceRun,\n\t\t\tchangedPaths,\n\t\t\tchangedPathsFeatureSupported,\n\t\t\tshallowRepository,\n\t\t\tpartialClone,\n\t\t\tlooseRefs,\n\t\t\tsupportsPackRefsMaintenance,\n\t\t] = await Promise.allSettled([\n\t\t\tthis.probeCommitGraph(objectsDir),\n\t\t\tthis.probeMultiPackIndex(packDir),\n\t\t\tthis.probePacks(objectsDir),\n\t\t\tthis.sampleLooseObjects(objectsDir),\n\t\t\tthis.fileBytes(indexPath),\n\t\t\tthis.probeIndexEntryCount(indexPath),\n\t\t\tthis.probeSharedIndex(gitDir.uri.fsPath),\n\t\t\tthis.probeConflictOperation(gitDir.uri.fsPath),\n\t\t\tthis.probeConfig(repoPath, cancellation),\n\t\t\tthis.isMaintenanceRegistered(repoPath, cancellation),\n\t\t\tthis.probeGkMarkers(repoPath),\n\t\t\tthis.git.supports('git:maintenance'),\n\t\t\tthis.probeChangedPathFilters(objectsDir),\n\t\t\tthis.git.supports('git:commit-graph:changed-paths'),\n\t\t\tthis.probePathPresence(joinPaths(commonGitDir, 'shallow')),\n\t\t\tthis.isPartialClone(repoPath, cancellation),\n\t\t\tthis.probeLooseRefs(joinPaths(commonGitDir, 'refs')),\n\t\t\tthis.git.supports('git:maintenance:pack-refs'),\n\t\t]);\n\n\t\tconst markers = getSettledValue(gkMarkers) ?? emptyGkMarkers;\n\t\tconst configValue = getSettledValue(config);\n\t\tconst sparseIndexState = await this.reconcileSparseIndexMarkers(\n\t\t\trepoPath,\n\t\t\tgitDir.uri.fsPath,\n\t\t\tconfigValue?.sparseIndex,\n\t\t\tcancellation,\n\t\t).catch(() => ({ enabled: configValue?.sparseIndex, applied: false }));\n\t\tconst rawIndexBytes = getSettledValue(indexBytes) ?? 0;\n\t\tconst rawIndexEntryCount = getSettledValue(indexEntryCount);\n\t\tconst sharedIndexValue = getSettledValue(sharedIndex);\n\t\tconst conflictOperationValue = getSettledValue(conflictOperation);\n\t\tconst packsValue = getSettledValue(packs);\n\t\tconst multiPackIndexValue = getSettledValue(multiPackIndex);\n\t\tconst indexedPackNames = multiPackIndexValue?.packNames;\n\t\tconst packsOutsideMultiPackIndex =\n\t\t\tconfigValue?.multiPackIndexEnabled === true && packsValue != null && indexedPackNames != null\n\t\t\t\t? packsValue.names.filter(name => !indexedPackNames.has(name)).length\n\t\t\t\t: undefined;\n\t\tconst splitIndex =\n\t\t\tconfigValue?.splitIndex === true || sharedIndexValue?.present === true\n\t\t\t\t? true\n\t\t\t\t: configValue != null && sharedIndexValue != null\n\t\t\t\t\t? false\n\t\t\t\t\t: undefined;\n\t\tconst indexEntryCountType: GitHealthSnapshot['indexEntryCountType'] =\n\t\t\tconfigValue == null ||\n\t\t\trawIndexEntryCount == null ||\n\t\t\tsharedIndexValue == null ||\n\t\t\tconflictOperationValue == null\n\t\t\t\t? 'unavailable'\n\t\t\t\t: splitIndex\n\t\t\t\t\t? 'split'\n\t\t\t\t\t: conflictOperationValue\n\t\t\t\t\t\t? 'conflicted'\n\t\t\t\t\t\t: sparseIndexState.enabled\n\t\t\t\t\t\t\t? 'sparse'\n\t\t\t\t\t\t\t: 'full';\n\t\treturn {\n\t\t\trepository: {\n\t\t\t\tshallow: getSettledValue(shallowRepository),\n\t\t\t\tpartial: getSettledValue(partialClone),\n\t\t\t\tsparseCheckout: configValue?.sparseCheckout,\n\t\t\t\tsparseCheckoutCone: configValue?.sparseCheckoutCone,\n\t\t\t\tsparseIndex: sparseIndexState.enabled,\n\t\t\t\tsplitIndex: splitIndex,\n\t\t\t\trefFormat: configValue?.refFormat ?? 'unknown',\n\t\t\t},\n\t\t\tlooseRefs: getSettledValue(looseRefs) ?? { count: 0, exact: false },\n\t\t\tcommitGraph: {\n\t\t\t\t...(getSettledValue(commitGraphStat) ?? { present: false, mtime: undefined }),\n\t\t\t\tchangedPaths: getSettledValue(changedPaths) ?? false,\n\t\t\t\tchangedPathsSupported:\n\t\t\t\t\tgetSettledValue(changedPathsFeatureSupported) === true && getSettledValue(partialClone) === false,\n\t\t\t\tdisabled: markers.commitGraphDisabled,\n\t\t\t\treadDisabled: configValue?.commitGraphReadDisabled ?? false,\n\t\t\t},\n\t\t\tmultiPackIndex: multiPackIndexValue?.present ?? false,\n\t\t\tmultiPackIndexEnabled: configValue?.multiPackIndexEnabled,\n\t\t\tpackCount: packsValue?.names.length ?? 0,\n\t\t\tpacksOutsideMultiPackIndex: packsOutsideMultiPackIndex,\n\t\t\tincrementalRepackAutoThreshold: configValue?.incrementalRepackAutoThreshold,\n\t\t\tpackBytes: packsValue?.bytes ?? 0,\n\t\t\tlooseObjects: getSettledValue(looseObjects) ?? { objectsInSampledDirs: 0, dirsSampled: 0 },\n\t\t\t// The main file is only the mutable layer of a split index. Include its largest shared base so the\n\t\t\t// byte-size fallback remains a useful working-tree signal instead of classifying it from a tiny delta.\n\t\t\tindexBytes: rawIndexBytes + (indexEntryCountType === 'split' ? (sharedIndexValue?.bytes ?? 0) : 0),\n\t\t\tindexEntryCount:\n\t\t\t\tindexEntryCountType === 'full' || indexEntryCountType === 'sparse' ? rawIndexEntryCount : undefined,\n\t\t\tindexEntryCountType: indexEntryCountType,\n\t\t\t// `untrackedCacheConfigured: true` on failure — see `probeConfig`, the auto tier must not guess.\n\t\t\tconfig: configValue ?? {\n\t\t\t\tfsmonitor: false,\n\t\t\t\tuntrackedCache: false,\n\t\t\t\tuntrackedCacheConfigured: true,\n\t\t\t\tmanyFiles: false,\n\t\t\t},\n\t\t\t// A rejection (the registration list was unreadable) must surface as `undefined`, never `false` —\n\t\t\t// see the doc on `maintenanceRegistered` for why.\n\t\t\tmaintenanceRegistered: getSettledValue(maintenanceRegistered),\n\t\t\tfsmonitorNotApplicable: markers.fsmonitorNotApplicable,\n\t\t\tuntrackedCacheNotApplicable: markers.untrackedCacheNotApplicable,\n\t\t\tapplied: { ...markers.applied, sparseIndex: sparseIndexState.applied },\n\t\t\tsupportsMaintenanceRun: getSettledValue(supportsMaintenanceRun) ?? false,\n\t\t\tsupportsPackRefsMaintenance: getSettledValue(supportsPackRefsMaintenance) ?? false,\n\t\t};\n\t}\n\n\t/**\n\t * Reads all Git Health gk markers (not-applicable flags + `gk.applied.*` ownership) from ONE bulk\n\t * `.git/gk/config` read (git lowercases the section + variable in `--get-regexp` output, preserving the\n\t * `applied` subsection). A read failure degrades to all-false — the report just re-suggests, never crashes.\n\t */\n\tprivate async probeGkMarkers(repoPath: string): Promise<GkMarkers> {\n\t\tconst map = await this.provider.config\n\t\t\t.getGkConfigRegex(repoPath, '^gk\\\\.')\n\t\t\t.catch(() => new Map<string, string>());\n\n\t\treturn {\n\t\t\tfsmonitorNotApplicable: map.get('gk.fsmonitornotapplicable') === 'true',\n\t\t\tuntrackedCacheNotApplicable: map.get('gk.untrackedcachenotapplicable') === 'true',\n\t\t\tapplied: {\n\t\t\t\tuntrackedCache: map.has('gk.applied.untrackedcache'),\n\t\t\t\tfsmonitor: map.has('gk.applied.fsmonitor'),\n\t\t\t\tmanyFiles: map.has('gk.applied.manyfiles'),\n\t\t\t\tbackgroundMaintenance: map.has('gk.applied.backgroundmaintenance'),\n\t\t\t\tsparseIndex: false,\n\t\t\t},\n\t\t\tcommitGraphDisabled: map.get('gk.commitgraphdisabled') === 'true',\n\t\t};\n\t}\n\n\t@debug()\n\tasync getHealthDetails(repoPath: string, cancellation?: AbortSignal): Promise<GitHealthDetails> {\n\t\tconst [commitCountResult, countObjectsResult] = await Promise.allSettled([\n\t\t\tthis.runQuietly(repoPath, cancellation, 'rev-list', '--count', '--all'),\n\t\t\tthis.runQuietly(repoPath, cancellation, 'count-objects', '-v'),\n\t\t]);\n\n\t\tconst commitCountRaw = getSettledValue(commitCountResult)?.stdout.trim();\n\t\tconst commitCount = commitCountRaw ? parseInt(commitCountRaw, 10) : undefined;\n\t\tconst countObjectsStdout = getSettledValue(countObjectsResult)?.stdout;\n\n\t\treturn {\n\t\t\tcommitCount: commitCount != null && !Number.isNaN(commitCount) ? commitCount : undefined,\n\t\t\tcountObjects: countObjectsStdout ? parseCountObjects(countObjectsStdout) : undefined,\n\t\t};\n\t}\n\n\t// Capabilities depend only on git version + platform, both fixed for the session — computed once.\n\tprivate _capabilities: Promise<GitOptimizationCapability[]> | undefined;\n\n\t@debug()\n\tgetCapabilities(_repoPath: string): Promise<GitOptimizationCapability[]> {\n\t\treturn (this._capabilities ??= this.getCapabilitiesCore());\n\t}\n\n\tprivate async getCapabilitiesCore(): Promise<GitOptimizationCapability[]> {\n\t\tconst requiresGit = (feature: GitFeatures, systemd = false): string =>\n\t\t\tsystemd\n\t\t\t\t? l10n.t('Requires Git {version} or later (for systemd timer scheduling)', {\n\t\t\t\t\t\tversion: String(gitFeaturesByVersion.get(feature)),\n\t\t\t\t\t})\n\t\t\t\t: l10n.t('Requires Git {version} or later', { version: String(gitFeaturesByVersion.get(feature)) });\n\n\t\t// The scheduler gate differs by platform: launchctl/schtasks (win/mac) vs systemd timer (Linux,\n\t\t// since 2.31–2.33 is cron-only and modern distros often ship without cron).\n\t\tconst maintenanceStartFeature = this.backgroundMaintenanceFeature;\n\t\t// The FSMonitor floor is per-platform (Linux's inotify backend is much newer), and a platform with no\n\t\t// backend at all has no floor to check.\n\t\tconst fsmonitorFeature = fsmonitorFeatureForPlatform();\n\n\t\tconst [\n\t\t\tuntrackedCacheResult,\n\t\t\tfsmonitorResult,\n\t\t\tbackgroundMaintenanceResult,\n\t\t\tmanyFilesResult,\n\t\t\tskipHashResult,\n\t\t\tsparseIndexResult,\n\t\t] = await Promise.allSettled([\n\t\t\tthis.git.supports('git:untrackedCache'),\n\t\t\tfsmonitorFeature != null ? this.git.supports(fsmonitorFeature) : false,\n\t\t\tthis.git.supports(maintenanceStartFeature),\n\t\t\tthis.git.supports('git:manyFiles'),\n\t\t\tthis.git.supports('git:index:skipHash'),\n\t\t\tthis.git.supports('git:sparse-index'),\n\t\t]);\n\n\t\tconst untrackedCache = getSettledValue(untrackedCacheResult) ?? false;\n\t\tconst fsmonitor = getSettledValue(fsmonitorResult) ?? false;\n\t\tconst backgroundMaintenance = getSettledValue(backgroundMaintenanceResult) ?? false;\n\t\tconst manyFiles = getSettledValue(manyFilesResult) ?? false;\n\t\tconst skipHash = getSettledValue(skipHashResult) ?? false;\n\t\tconst sparseIndex = getSettledValue(sparseIndexResult) ?? false;\n\n\t\treturn [\n\t\t\t{\n\t\t\t\tid: 'untrackedCache',\n\t\t\t\tsupported: untrackedCache,\n\t\t\t\treason: untrackedCache ? undefined : requiresGit('git:untrackedCache'),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'fsmonitor',\n\t\t\t\tsupported: fsmonitor,\n\t\t\t\treason:\n\t\t\t\t\tfsmonitorFeature == null\n\t\t\t\t\t\t? l10n.t('Only available on Windows, macOS, and Linux')\n\t\t\t\t\t\t: !fsmonitor\n\t\t\t\t\t\t\t? requiresGit(fsmonitorFeature)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'backgroundMaintenance',\n\t\t\t\tsupported: backgroundMaintenance,\n\t\t\t\treason: backgroundMaintenance\n\t\t\t\t\t? undefined\n\t\t\t\t\t: requiresGit(maintenanceStartFeature, maintenanceStartFeature === 'git:maintenance:start:systemd'),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'manyFiles',\n\t\t\t\tsupported: manyFiles,\n\t\t\t\treason: manyFiles ? undefined : requiresGit('git:manyFiles'),\n\t\t\t\t// On Git 2.40+, feature.manyFiles also enables index.skipHash. Its zeroed trailing hash may not\n\t\t\t\t// be understood by older Git versions or common third-party index readers.\n\t\t\t\tnote:\n\t\t\t\t\tmanyFiles && skipHash\n\t\t\t\t\t\t? l10n.t(\n\t\t\t\t\t\t\t\t'Also enables index.skipHash — Git before 2.40 reports the zeroed hash as corrupt, and some libgit2- and JGit-based tools may reject or misdiagnose the index',\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'sparseIndex',\n\t\t\t\tsupported: sparseIndex,\n\t\t\t\treason: sparseIndex ? undefined : requiresGit('git:sparse-index'),\n\t\t\t\tnote: sparseIndex\n\t\t\t\t\t? l10n.t(\n\t\t\t\t\t\t\t'Older Git versions and some tools that read the index directly do not understand sparse-directory entries',\n\t\t\t\t\t\t)\n\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t];\n\t}\n\n\t@debug()\n\tasync runMaintenanceTask(\n\t\trepoPath: string,\n\t\ttask: GitMaintenanceTask,\n\t\toptions?: { readonly auto?: boolean; readonly cancellation?: AbortSignal },\n\t): Promise<boolean> {\n\t\tconst cancellation = options?.cancellation;\n\t\t// Not-applicable (the installed git can't run this task) short-circuits to `false`; a genuine command\n\t\t// failure throws (the git error propagates so the ask-tier \"Run Maintenance Now\" UI can surface it).\n\t\tif (task === 'commit-graph') {\n\t\t\t// Direct write, gated at 2.24 — routing through `maintenance run --task=commit-graph` (2.30) would\n\t\t\t// drop 2.24–2.29 users on the highest-value lever. The explicit path skips the demand throttle.\n\t\t\tif (!(await this.git.supports('git:commit-graph'))) return false;\n\t\t\tif (await this.isCommitGraphWriteDisabled(repoPath, cancellation)) return false;\n\n\t\t\tawait this.writeCommitGraph(repoPath, false, cancellation);\n\t\t\treturn true;\n\t\t}\n\n\t\tconst maintenanceFeature = task === 'pack-refs' ? 'git:maintenance:pack-refs' : 'git:maintenance';\n\t\tif (!(await this.git.supports(maintenanceFeature))) return false;\n\t\tif (task === 'incremental-repack' && !(await this.isMultiPackIndexEnabled(repoPath, cancellation))) {\n\t\t\treturn false;\n\t\t}\n\n\t\tawait this.git.run(\n\t\t\t{\n\t\t\t\tcwd: repoPath,\n\t\t\t\terrors: 'throw',\n\t\t\t\tpriority: 'background',\n\t\t\t\tcancellation: cancellation,\n\t\t\t\tselfMaintenance: true,\n\t\t\t},\n\t\t\t'maintenance',\n\t\t\t'run',\n\t\t\t...(options?.auto ? ['--auto'] : []),\n\t\t\t`--task=${task}`,\n\t\t);\n\t\treturn true;\n\t}\n\n\t@debug()\n\tasync applyOptimization(repoPath: string, id: GitOptimizationId, cancellation?: AbortSignal): Promise<boolean> {\n\t\tawait this.reconcilePendingConfigChanges(repoPath, cancellation);\n\n\t\tswitch (id) {\n\t\t\tcase 'untrackedCache':\n\t\t\t\treturn this.applyUntrackedCache(repoPath, cancellation);\n\t\t\tcase 'fsmonitor':\n\t\t\t\treturn this.applyFsmonitor(repoPath, cancellation);\n\t\t\tcase 'backgroundMaintenance':\n\t\t\t\treturn this.startBackgroundMaintenance(repoPath, cancellation);\n\t\t\tcase 'manyFiles':\n\t\t\t\treturn this.applyManyFiles(repoPath, cancellation);\n\t\t\tcase 'sparseIndex':\n\t\t\t\treturn this.applySparseIndex(repoPath, cancellation);\n\t\t}\n\t}\n\n\t@debug()\n\tasync revertOptimization(repoPath: string, id: GitOptimizationId, cancellation?: AbortSignal): Promise<void> {\n\t\tawait this.reconcilePendingConfigChanges(repoPath, cancellation);\n\n\t\tswitch (id) {\n\t\t\tcase 'untrackedCache':\n\t\t\t\tawait this.revertConfigLever(\n\t\t\t\t\trepoPath,\n\t\t\t\t\t'core.untrackedCache',\n\t\t\t\t\t'gk.applied.untrackedCache',\n\t\t\t\t\tcancellation,\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'fsmonitor':\n\t\t\t\tif (await this.revertConfigLever(repoPath, 'core.fsmonitor', 'gk.applied.fsmonitor', cancellation)) {\n\t\t\t\t\t// Stop the daemon so it doesn't linger after the config is gone (best-effort) — only when\n\t\t\t\t\t// WE applied fsmonitor; a user-enabled daemon (no marker) is left running.\n\t\t\t\t\tawait this.runQuietly(repoPath, cancellation, 'fsmonitor--daemon', 'stop');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'backgroundMaintenance':\n\t\t\t\tawait this.revertBackgroundMaintenance(repoPath, cancellation);\n\t\t\t\tbreak;\n\t\t\tcase 'manyFiles':\n\t\t\t\t// Ownership is checked without clearing anything, then the SUB-lever is restored first.\n\t\t\t\t// `revertConfigLever` clears the marker it acts on, so doing the parent first would strand a\n\t\t\t\t// failed or cancelled `index.skipHash` restore: the retry would find no parent marker and\n\t\t\t\t// skip straight past the sub-lever, leaving it set forever.\n\t\t\t\tif ((await this.provider.config.getGkConfig(repoPath, 'gk.applied.manyFiles')) != null) {\n\t\t\t\t\t// `index.skipHash` is only ever set on 2.40+, so its marker is absent otherwise and this\n\t\t\t\t\t// no-ops.\n\t\t\t\t\tawait this.revertConfigLever(repoPath, 'index.skipHash', 'gk.applied.skipHash', cancellation);\n\t\t\t\t\tawait this.revertConfigLever(repoPath, 'feature.manyFiles', 'gk.applied.manyFiles', cancellation);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'sparseIndex':\n\t\t\t\tawait this.revertSparseIndex(repoPath, cancellation);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/**\n\t * The Git Health per-repository commit-graph off switch (`gk.commitGraphDisabled`). Unlike the\n\t * ownership markers above, this isn't a \"record prior, then restore\" lever — it's a plain flag with no\n\t * underlying config value to protect — so it needs no marker lock; two windows toggling it concurrently\n\t * just resolve to whichever write lands last.\n\t */\n\t@debug()\n\tasync setCommitGraphDisabled(repoPath: string, disabled: boolean, cancellation?: AbortSignal): Promise<void> {\n\t\tif (disabled) {\n\t\t\tawait this.provider.config.setGkConfig(repoPath, 'gk.commitGraphDisabled', 'true');\n\t\t\treturn;\n\t\t}\n\n\t\t// Tolerate an already-absent marker (re-enabling twice, or a repo GitLens never disabled):\n\t\t// `setGkConfig`'s underlying `--unset` throws on a genuinely missing key, so check first.\n\t\tif ((await this.readGkMarkerUncached(repoPath, 'gk.commitGraphDisabled', cancellation)) == null) return;\n\n\t\tawait this.provider.config.setGkConfig(repoPath, 'gk.commitGraphDisabled', undefined);\n\t}\n\n\tprivate async applyUntrackedCache(repoPath: string, cancellation?: AbortSignal): Promise<boolean> {\n\t\t// Bail before the probe when the lever is already configured (bareword included) — nothing to apply\n\t\t// either way, and the probe below isn't safe to run unconditionally: `core.untrackedCache` is one of\n\t\t// git's few TRISTATE config keys (`true`/`false`/`keep`), and unlike a plain boolean its tristate\n\t\t// reader has no NULL case — `update-index --test-untracked-cache` (and `git status`) FATALS on a\n\t\t// bareword `core.untrackedCache` (\"missing value for 'core.untrackedcache'\") rather than reading it\n\t\t// as true. This is a fast-path only; the authoritative check re-runs inside the lock below.\n\t\tif ((await this.probeConfig(repoPath, cancellation)).untrackedCacheConfigured) return false;\n\n\t\t// Untracked cache is only CORRECT when directory mtimes are reliable; on network/virtual filesystems\n\t\t// it produces wrong `git status`. Gate on git's own filesystem probe (it can take a few seconds, but\n\t\t// this only runs at apply time — already background/daily). A failure records not-applicable (like\n\t\t// fsmonitor) so it's never auto-retried.\n\t\tif (!(await this.testUntrackedCacheSupport(repoPath, cancellation))) {\n\t\t\tawait this.markGkConfigSafe(repoPath, 'gk.untrackedCacheNotApplicable', 'true');\n\t\t\treturn false;\n\t\t}\n\n\t\t// Decide and mutate inside ONE lock, as late as possible. The filesystem probe above can take several\n\t\t// seconds on a large repo — ample time for the user to set this key themselves — and re-checking\n\t\t// outside the lock would still leave a gap between the check and the write.\n\t\t//\n\t\t// This cannot be made airtight against an external writer: a plain `git config` from a terminal\n\t\t// takes no lock we can observe, so a write landing between our final read and ours still loses. The\n\t\t// window is now two git invocations rather than the length of the probe.\n\t\treturn this.withMarkerLock(repoPath, async () => {\n\t\t\tif ((await this.probeConfig(repoPath, cancellation)).untrackedCacheConfigured) return false;\n\n\t\t\treturn this.applyConfigChangesUnlocked(repoPath, [untrackedCacheChange], cancellation);\n\t\t});\n\t}\n\n\t/** Whether git's filesystem probe says the untracked cache can be used here (exit 0). */\n\tprivate async testUntrackedCacheSupport(repoPath: string, cancellation?: AbortSignal): Promise<boolean> {\n\t\tconst result = await this.runQuietly(repoPath, cancellation, 'update-index', '--test-untracked-cache');\n\t\t// A cancelled/timed-out probe resolves `exitCode: 0` — never read that as \"supported\". This probe\n\t\t// exists to keep the untracked cache OFF filesystems with unreliable directory mtimes, which are\n\t\t// exactly the slow/network filesystems where it is most likely to hit the timeout.\n\t\tthis.throwIfDidNotComplete(result, cancellation);\n\t\t// 0 = this filesystem supports it, 1 = it doesn't. Any OTHER exit isn't a verdict about the\n\t\t// filesystem at all — a spawn-level failure (a non-numeric error code parses to NaN) or a repo-level\n\t\t// error — and the caller turns `false` into a PERMANENT not-applicable marker. Throw instead, so a\n\t\t// one-off hiccup during a background pass just retries on the next pass.\n\t\tif (result.exitCode !== 0 && result.exitCode !== untrackedCacheUnsupportedExitCode) {\n\t\t\tthrow new Error(l10n.t('Untracked-cache probe did not complete (git exited {0})', String(result.exitCode)));\n\t\t}\n\t\treturn result.exitCode === 0;\n\t}\n\n\tprivate async applyFsmonitor(repoPath: string, cancellation?: AbortSignal): Promise<boolean> {\n\t\tconst scope = getScopedLogger();\n\n\t\tif ((await this.probeConfig(repoPath, cancellation)).fsmonitor) return false;\n\n\t\tconst fsmonitorFeature = fsmonitorFeatureForPlatform();\n\t\tif (fsmonitorFeature == null) return false;\n\t\tif (!(await this.git.supports(fsmonitorFeature))) return false;\n\n\t\t// A new-enough git is not proof the daemon can actually run here — the backend is compiled per\n\t\t// platform. Ask it directly BEFORE touching config, because the warm-up below cannot tell us: with an\n\t\t// unsupported daemon `git status` exits 0 in silence, so trusting it would leave `core.fsmonitor=true`\n\t\t// set on a repo that gains nothing from it.\n\t\tconst probe = await this.runQuietly(repoPath, cancellation, 'fsmonitor--daemon', 'status');\n\t\tthis.throwIfDidNotComplete(probe, cancellation);\n\t\tif (isFsmonitorDaemonUnsupported(probe)) {\n\t\t\tscope?.warn(`FSMonitor daemon unsupported by this git build for '${repoPath}'; marking not-applicable`);\n\t\t\tawait this.markGkConfigSafe(repoPath, 'gk.fsmonitorNotApplicable', 'true');\n\t\t\treturn false;\n\t\t}\n\n\t\tconst applied = await this.withMarkerLock(repoPath, async () => {\n\t\t\tawait this.reconcilePendingConfigChangesUnlocked(repoPath, cancellation);\n\t\t\tif ((await this.probeConfig(repoPath, cancellation)).fsmonitor) return false;\n\n\t\t\treturn this.applyConfigChangesUnlocked(repoPath, [fsmonitorChange], cancellation);\n\t\t});\n\t\tif (!applied) return false;\n\n\t\t// A `status` with `core.fsmonitor=true` spins up the built-in daemon; if it can't start, the command\n\t\t// errors. Run it quietly so the EXIT CODE stays visible — the distinction between \"git ran and\n\t\t// rejected this repo\" and \"the command never completed\" decides whether the repo earns a permanent\n\t\t// not-applicable marker.\n\t\tconst result = await this.runQuietly(repoPath, cancellation, 'status', '--porcelain');\n\t\t// Check \"did it complete\" BEFORE the exit code: a cancelled or never-run command also resolves 0.\n\t\tif (result.completion.status === 'exited' && result.exitCode === 0 && cancellation?.aborted !== true) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Roll back on a signal that can't itself be aborted: this path exists to leave the repo exactly as we\n\t\t// found it, and a rollback cancelled halfway leaves `core.fsmonitor` ON with its ownership marker\n\t\t// cleared — the lever stuck on, and GitLens no longer offering to undo it.\n\t\tawait this.restorePriorAndClear(repoPath, 'core.fsmonitor', 'gk.applied.fsmonitor');\n\t\tawait this.runQuietly(repoPath, undefined, 'fsmonitor--daemon', 'stop');\n\n\t\t// A cancelled or timed-out warm-up says nothing about whether the daemon can start — and a first cold\n\t\t// `status` on the very large repos fsmonitor targets is exactly what hits the timeout.\n\t\tthis.throwIfDidNotComplete(result, cancellation);\n\t\t// Neither does a failure to run git at all, which surfaces as a non-numeric error code (→ NaN). Only a\n\t\t// real git exit is evidence about THIS repo, so only that earns the permanent marker.\n\t\tif (!Number.isInteger(result.exitCode)) {\n\t\t\tthrow new Error(l10n.t('FSMonitor warm-up did not complete (git exited {0})', String(result.exitCode)));\n\t\t}\n\n\t\t// Before blaming FSMonitor, re-run the same command now that the rollback has restored the prior\n\t\t// config — i.e. the baseline. If THAT fails too, the repository is broken for an unrelated reason (a\n\t\t// corrupt index, permissions) and recording not-applicable would permanently suppress a lever that\n\t\t// was never the cause.\n\t\tconst baseline = await this.runQuietly(repoPath, cancellation, 'status', '--porcelain');\n\t\tthis.throwIfDidNotComplete(baseline, cancellation);\n\t\tif (baseline.exitCode !== 0) {\n\t\t\tthrow new Error(\n\t\t\t\tl10n.t(\n\t\t\t\t\t'Repository status fails independently of FSMonitor (git exited {0})',\n\t\t\t\t\tString(baseline.exitCode),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\n\t\tscope?.warn(`FSMonitor failed to start for '${repoPath}'; reverting and marking not-applicable`);\n\t\tawait this.markGkConfigSafe(repoPath, 'gk.fsmonitorNotApplicable', 'true');\n\t\treturn false;\n\t}\n\n\tprivate async applyManyFiles(repoPath: string, cancellation?: AbortSignal): Promise<boolean> {\n\t\t// Self-gate like the other invasive levers: older git accepts the unknown key silently, so without\n\t\t// this a direct (or stale) caller gets `true` back for a setting that does nothing. Report-level\n\t\t// capability filtering doesn't protect callers that reach `applyOptimization` some other way.\n\t\tif (!(await this.git.supports('git:manyFiles'))) return false;\n\n\t\t// `feature.manyFiles` implies index v4 + untracked cache; add `index.skipHash` explicitly where\n\t\t// the installed git supports it (2.40+) for the extra index-write speedup. Both writes and both\n\t\t// ownership markers share one transaction so any failed write/marker restores the whole new state.\n\t\tconst changes: ConfigLeverChange[] = [manyFilesChange];\n\t\tif (await this.git.supports('git:index:skipHash')) {\n\t\t\tchanges.push(skipHashChange);\n\t\t}\n\n\t\t// feature.manyFiles only DEFAULTS the untracked cache on. Respect an explicit true/false/keep (and\n\t\t// avoid probing a bareword, which makes update-index fatal); only an unset key needs the same\n\t\t// filesystem-correctness probe as the standalone lever. Re-check under the marker lock so a config\n\t\t// change during the potentially slow probe cannot make this decision stale.\n\t\tconst initialConfig = await this.probeConfig(repoPath, cancellation);\n\n\t\t// A repo already marked not-applicable must not re-run the multi-second filesystem probe on every\n\t\t// attempt — an explicit `core.untrackedCache` still overrides the marker, same as below.\n\t\tif (\n\t\t\t!initialConfig.untrackedCacheConfigured &&\n\t\t\t(await this.provider.config.getGkConfig(repoPath, 'gk.untrackedCacheNotApplicable')) === 'true'\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst initialSupport = initialConfig.untrackedCacheConfigured\n\t\t\t? undefined\n\t\t\t: await this.testUntrackedCacheSupport(repoPath, cancellation);\n\t\treturn this.withMarkerLock(repoPath, async () => {\n\t\t\tawait this.reconcilePendingConfigChangesUnlocked(repoPath, cancellation);\n\t\t\tconst localManyFiles = await this.getLocalConfig(repoPath, manyFilesChange.configKey, cancellation);\n\t\t\tconst manyFilesMarker = await this.readGkMarkerUncached(repoPath, manyFilesChange.markerKey, cancellation);\n\t\t\tif (parseGitBoolean(localManyFiles) && manyFilesMarker == null) return false;\n\n\t\t\tconst currentConfig = await this.probeConfig(repoPath, cancellation);\n\t\t\tif (!currentConfig.untrackedCacheConfigured) {\n\t\t\t\tconst supported = initialSupport ?? (await this.testUntrackedCacheSupport(repoPath, cancellation));\n\t\t\t\tif (!supported) {\n\t\t\t\t\tawait this.markGkConfigSafe(repoPath, 'gk.untrackedCacheNotApplicable', 'true');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.applyConfigChangesUnlocked(repoPath, changes, cancellation);\n\t\t});\n\t}\n\n\t/** Enables sparse-directory index entries for an existing cone-mode sparse checkout. */\n\tprivate async applySparseIndex(repoPath: string, cancellation?: AbortSignal): Promise<boolean> {\n\t\tif (!(await this.git.supports('git:sparse-index'))) return false;\n\n\t\tconst gitDir = await this.provider.config.getGitDir(repoPath);\n\t\tconst markerPaths = this.getSparseIndexMarkerPaths(gitDir.uri.fsPath);\n\t\treturn this.withMarkerLock(\n\t\t\trepoPath,\n\t\t\tasync () => {\n\t\t\t\tconst config = await this.probeConfig(repoPath, cancellation);\n\t\t\t\tconst current = await this.reconcileSparseIndexMarkersUnlocked(markerPaths, config.sparseIndex);\n\t\t\t\tif (current.enabled) return current.applied;\n\t\t\t\tif (!config.sparseCheckout || !config.sparseCheckoutCone) return false;\n\n\t\t\t\tconst [sharedIndex, conflictOperation] = await Promise.all([\n\t\t\t\t\tthis.probeSharedIndex(gitDir.uri.fsPath),\n\t\t\t\t\tthis.probeConflictOperation(gitDir.uri.fsPath),\n\t\t\t\t]);\n\t\t\t\tif (sharedIndex?.present === true || conflictOperation) return false;\n\n\t\t\t\tawait mkdir(markerPaths.dir, { recursive: true });\n\t\t\t\tconst pending = await open(markerPaths.pending, 'wx');\n\t\t\t\tawait pending.close();\n\n\t\t\t\ttry {\n\t\t\t\t\tawait this.runSparseCheckoutReapply(repoPath, true, cancellation);\n\t\t\t\t\tconst completed = await this.reconcileSparseIndexMarkersUnlocked(markerPaths, true);\n\t\t\t\t\treturn completed.enabled && completed.applied;\n\t\t\t\t} catch (ex) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// The command can fail after replacing its config/index locks. Repair ownership from the\n\t\t\t\t\t\t// resulting state without the cancelled signal so a successful mutation never loses Undo.\n\t\t\t\t\t\tconst repaired = await this.reconcileSparseIndexMarkersUnlocked(\n\t\t\t\t\t\t\tmarkerPaths,\n\t\t\t\t\t\t\tawait this.probeSparseIndexEnabled(repoPath),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (repaired.enabled && repaired.applied) return true;\n\t\t\t\t\t} catch (repairEx) {\n\t\t\t\t\t\tconst error = new Error(\n\t\t\t\t\t\t\tl10n.t('Unable to enable the sparse index or reconcile its ownership record'),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcause: ex,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t) as Error & { errors: unknown[] };\n\t\t\t\t\t\terror.errors = [repairEx];\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t\tthrow ex;\n\t\t\t\t}\n\t\t\t},\n\t\t\tundefined,\n\t\t\tmarkerPaths,\n\t\t);\n\t}\n\n\t/** Expands a sparse index only when this worktree's marker proves GitLens enabled it. */\n\tprivate async revertSparseIndex(repoPath: string, cancellation?: AbortSignal): Promise<void> {\n\t\tconst gitDir = await this.provider.config.getGitDir(repoPath);\n\t\tconst markerPaths = this.getSparseIndexMarkerPaths(gitDir.uri.fsPath);\n\t\tawait this.withMarkerLock(\n\t\t\trepoPath,\n\t\t\tasync () => {\n\t\t\t\tconst current = await this.reconcileSparseIndexMarkersUnlocked(\n\t\t\t\t\tmarkerPaths,\n\t\t\t\t\tawait this.probeSparseIndexEnabled(repoPath, cancellation),\n\t\t\t\t);\n\t\t\t\tif (!current.applied) return;\n\n\t\t\t\ttry {\n\t\t\t\t\tawait this.runSparseCheckoutReapply(repoPath, false, cancellation);\n\t\t\t\t\tawait rm(markerPaths.applied, { force: true });\n\t\t\t\t} catch (ex) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst repaired = await this.reconcileSparseIndexMarkersUnlocked(\n\t\t\t\t\t\t\tmarkerPaths,\n\t\t\t\t\t\t\tawait this.probeSparseIndexEnabled(repoPath),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!repaired.enabled && !repaired.applied) return;\n\t\t\t\t\t} catch (repairEx) {\n\t\t\t\t\t\tconst error = new Error(\n\t\t\t\t\t\t\tl10n.t('Unable to disable the sparse index or reconcile its ownership record'),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcause: ex,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t) as Error & { errors: unknown[] };\n\t\t\t\t\t\terror.errors = [repairEx];\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t\tthrow ex;\n\t\t\t\t}\n\t\t\t},\n\t\t\tundefined,\n\t\t\tmarkerPaths,\n\t\t);\n\t}\n\n\tprivate async runSparseCheckoutReapply(\n\t\trepoPath: string,\n\t\tenabled: boolean,\n\t\tcancellation?: AbortSignal,\n\t): Promise<void> {\n\t\tawait this.git.run(\n\t\t\t{\n\t\t\t\tcwd: repoPath,\n\t\t\t\terrors: 'throw',\n\t\t\t\tpriority: 'background',\n\t\t\t\tcancellation: cancellation,\n\t\t\t\tselfMaintenance: true,\n\t\t\t},\n\t\t\t'sparse-checkout',\n\t\t\t'reapply',\n\t\t\tenabled ? '--sparse-index' : '--no-sparse-index',\n\t\t);\n\t}\n\n\t/**\n\t * The `git maintenance start` version gate for the current platform: launchctl/schtasks scheduling\n\t * (win/mac) needs 2.31; Linux relies on a systemd timer (2.34), since 2.31–2.33 is cron-only and\n\t * modern distros often ship without cron.\n\t */\n\tprivate get backgroundMaintenanceFeature(): 'git:maintenance:start' | 'git:maintenance:start:systemd' {\n\t\treturn process.platform === 'win32' || process.platform === 'darwin'\n\t\t\t? 'git:maintenance:start'\n\t\t\t: 'git:maintenance:start:systemd';\n\t}\n\n\tprivate async startBackgroundMaintenance(repoPath: string, cancellation?: AbortSignal): Promise<boolean> {\n\t\tconst scope = getScopedLogger();\n\n\t\tif (!(await this.git.supports(this.backgroundMaintenanceFeature))) return false;\n\n\t\t// Resolve the path we're about to register BEFORE recording anything, so the marker below records what\n\t\t// was actually used rather than something undo has to re-derive later.\n\t\tconst registeredPath = await this.resolveMaintenanceRepoPath(repoPath, cancellation);\n\n\t\t// Re-check registration with a FRESH read (bypass the registered-repos TTL cache): the report that\n\t\t// drove this apply can be stale, and without this a registration made between the probe and the\n\t\t// click gets claimed as ours — a later Undo would then unregister someone else's entry.\n\t\tthis._registeredMaintenanceRepos = undefined;\n\t\tif (await this.isPathRegistered(repoPath, registeredPath, cancellation)) return false;\n\n\t\t// Record priors BEFORE starting. `git maintenance register` sets local `maintenance.auto=false` AND\n\t\t// `maintenance.strategy=incremental`, and `unregister` restores NEITHER — so both must be captured or\n\t\t// undo silently leaves a key behind. `start` can also fail after writing config while installing the\n\t\t// scheduler, so recording first is what makes even a partial start recoverable.\n\t\t//\n\t\t// Both go through `recordPriorAndMark`, which is idempotent: a second apply must not re-record the\n\t\t// prior, or it captures the value git itself just wrote and undo \"restores\" that instead.\n\t\tawait this.recordPriorAndMark(repoPath, 'maintenance.auto', 'gk.applied.maintenanceAuto', cancellation);\n\t\tawait this.recordPriorAndMark(repoPath, 'maintenance.strategy', 'gk.applied.maintenanceStrategy', cancellation);\n\t\t// The marker's VALUE is the registered path, not just presence. `git maintenance register` records a\n\t\t// per-worktree path, so undo must unregister EXACTLY what was registered: re-deriving it wedges undo\n\t\t// whenever the derivation differs at revert time (a `worktree list` that failed here and fell back to\n\t\t// this worktree, or a sibling the user registered since).\n\t\tawait this.provider.config.setGkConfig(repoPath, 'gk.applied.backgroundMaintenance', registeredPath);\n\n\t\t// `start` registers the repo AND installs the system scheduler (launchctl/schtasks/systemd/cron). A\n\t\t// genuine failure throws (the ask-tier UI surfaces it); unsupported already returned false above.\n\t\ttry {\n\t\t\tawait this.git.run(\n\t\t\t\t{\n\t\t\t\t\tcwd: registeredPath,\n\t\t\t\t\terrors: 'throw',\n\t\t\t\t\tpriority: 'background',\n\t\t\t\t\tcancellation: cancellation,\n\t\t\t\t\tselfMaintenance: true,\n\t\t\t\t},\n\t\t\t\t'maintenance',\n\t\t\t\t'start',\n\t\t\t);\n\t\t} catch (ex) {\n\t\t\t// `start` can fail AFTER registering, while installing the scheduler (e.g. Git ≥ 2.34 on a Linux\n\t\t\t// box with no systemd actually running — the version gate can't detect that), leaving the repo\n\t\t\t// registered with `maintenance.auto=false` and nothing scheduled: strictly worse than before. The\n\t\t\t// markers written above make that recoverable, but nothing would ever PROMPT the undo — so undo it\n\t\t\t// here, unsignalled, then rethrow so the ask-tier UI still surfaces the original failure.\n\t\t\tthis._registeredMaintenanceRepos = undefined;\n\t\t\tawait this.revertBackgroundMaintenance(repoPath).catch((revertEx: unknown) =>\n\t\t\t\tscope?.error(revertEx, `Unable to roll back a partial 'maintenance start' for '${repoPath}'`),\n\t\t\t);\n\t\t\tthrow ex;\n\t\t}\n\n\t\tthis._registeredMaintenanceRepos = undefined;\n\t\treturn true;\n\t}\n\n\tprivate async revertBackgroundMaintenance(repoPath: string, cancellation?: AbortSignal): Promise<void> {\n\t\tconst scope = getScopedLogger();\n\n\t\t// No ownership marker → GitLens didn't register it → never unregister the user's own registration.\n\t\tconst marker = await this.provider.config.getGkConfig(repoPath, 'gk.applied.backgroundMaintenance');\n\t\tif (marker == null) return;\n\n\t\t// The marker records the path we registered (older markers stored `true` — fall back to the same\n\t\t// derivation those were written with).\n\t\tconst registeredPath =\n\t\t\tmarker === 'true' ? await this.resolveMaintenanceRepoPath(repoPath, cancellation) : marker;\n\n\t\t// `maintenance unregister` exits non-zero when the repo isn't registered; `--force` (which suppresses\n\t\t// that) only exists on Git ≥ 2.39, so tolerate the benign non-zero exit via `errors: 'ignore'`.\n\t\t// `unregister` also targets the CWD's repository, so it needs that worktree to still exist.\n\t\tlet unregistered = false;\n\t\tif ((await this.git.supports('git:maintenance')) && (await fsExists(registeredPath))) {\n\t\t\tconst result = await this.runQuietly(registeredPath, cancellation, 'maintenance', 'unregister');\n\t\t\t// A cancelled unregister resolves `exitCode: 0` just like the benign \"wasn't registered\" exit —\n\t\t\t// don't clear the ownership markers below on the strength of a command that never ran.\n\t\t\tthis.throwIfDidNotComplete(result, cancellation);\n\t\t\tthis._registeredMaintenanceRepos = undefined;\n\n\t\t\t// `unregister` also exits non-zero for a REAL failure, and pre-2.39 git has no `--force` to tell\n\t\t\t// that apart from the benign \"wasn't registered\" — so confirm rather than trust the exit code.\n\t\t\t// Check OUR path only, never the whole worktree family: a sibling the user registered themselves\n\t\t\t// is theirs to remove, and waiting for it to disappear would block undo forever.\n\t\t\tunregistered = !(await this.isPathRegistered(repoPath, registeredPath, cancellation));\n\t\t}\n\n\t\tif (!unregistered) {\n\t\t\t// Neither precondition above is guaranteed at undo time — the worktree may be gone, or git may\n\t\t\t// have been downgraded below `maintenance`. Delete the exact global entry ourselves instead of\n\t\t\t// giving up: dropping ownership here while the registration survives would leave the repo\n\t\t\t// scheduled forever with nothing left to identify it as GitLens's. `--fixed-value` (2.30+, the\n\t\t\t// same floor as `git maintenance`) stops the path being read as a regex; both the recorded and\n\t\t\t// the symlink-resolved spelling are tried, since `register` stores the resolved one.\n\t\t\tfor (const candidate of await this.resolveRegistrationCandidates([registeredPath])) {\n\t\t\t\tawait this.runQuietly(\n\t\t\t\t\trepoPath,\n\t\t\t\t\tcancellation,\n\t\t\t\t\t'config',\n\t\t\t\t\t'--global',\n\t\t\t\t\t'--unset',\n\t\t\t\t\t'--fixed-value',\n\t\t\t\t\t'maintenance.repo',\n\t\t\t\t\tcandidate,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis._registeredMaintenanceRepos = undefined;\n\n\t\t\tif (await this.isPathRegistered(repoPath, registeredPath, cancellation)) {\n\t\t\t\tthrow new Error(l10n.t('Unable to unregister background maintenance'));\n\t\t\t}\n\n\t\t\tscope?.warn(`Removed the global maintenance.repo entry for '${registeredPath}' directly`);\n\t\t}\n\n\t\t// `unregister` restores NEITHER key `register` wrote — verified against git: both `maintenance.auto`\n\t\t// and `maintenance.strategy` survive it. Restore each recorded prior ourselves, else undo leaves the\n\t\t// repo with no scheduled maintenance, no auto-gc, and a stray strategy key: strictly worse than\n\t\t// before it was applied. Restore BEFORE clearing markers, so a failure here is retryable.\n\t\tconst priorAuto = await this.provider.config.getGkConfig(repoPath, 'gk.applied.maintenanceAuto');\n\t\tif (priorAuto != null) {\n\t\t\tawait this.restoreLocalConfig(repoPath, 'maintenance.auto', priorAuto, cancellation);\n\t\t}\n\t\t// Guarded on both sides: a marker written by a build that predates strategy tracking won't have this\n\t\t// key, and clearing an absent gk key errors rather than no-oping.\n\t\tconst priorStrategy = await this.provider.config.getGkConfig(repoPath, 'gk.applied.maintenanceStrategy');\n\t\tif (priorStrategy != null) {\n\t\t\tawait this.restoreLocalConfig(repoPath, 'maintenance.strategy', priorStrategy, cancellation);\n\t\t\tawait this.provider.config.setGkConfig(repoPath, 'gk.applied.maintenanceStrategy', undefined);\n\t\t}\n\n\t\t// The OS scheduler `start` installed is deliberately LEFT IN PLACE. It's global rather than per-repo,\n\t\t// and `git maintenance register` (which a user may well have run by hand) does not install one — so\n\t\t// tearing it down here could silently stop maintenance for repos GitLens never touched. A scheduler\n\t\t// with nothing registered simply finds no work, whereas removing one someone else relies on is not\n\t\t// recoverable by them. Leaving it inert is the safer asymmetry.\n\t\tif (priorAuto != null) {\n\t\t\tawait this.provider.config.setGkConfig(repoPath, 'gk.applied.maintenanceAuto', undefined);\n\t\t}\n\t\tawait this.provider.config.setGkConfig(repoPath, 'gk.applied.backgroundMaintenance', undefined);\n\t}\n\n\t/**\n\t * Records a config lever's prior LOCAL value (or the `unset` sentinel) under its ownership marker BEFORE\n\t * mutating, so undo restores the exact prior and never a hardcoded inverse; the marker's presence also\n\t * means \"applied by GitLens\" (so undo is never offered for a user-enabled lever).\n\t */\n\tprivate async recordPriorAndMark(\n\t\trepoPath: string,\n\t\tconfigKey: string,\n\t\tmarkerKey: GkConfigKeys,\n\t\tcancellation?: AbortSignal,\n\t): Promise<void> {\n\t\t// Idempotent by design, and atomic across processes. An existing marker means WE already applied this\n\t\t// lever, so the value it holds IS the user's prior — re-recording would capture the value GitLens\n\t\t// itself set (a second apply from a stale view action, or a sibling window racing this one) and undo\n\t\t// would then \"restore\" the lever to on, permanently. The first record is the only truthful one.\n\t\t//\n\t\t// The check and the write are two separate git invocations, so an in-memory guard would only protect\n\t\t// one provider; the lock is what makes the pair safe between VS Code windows.\n\t\tawait this.withMarkerLock(repoPath, () =>\n\t\t\tthis.recordPriorUnlocked(repoPath, configKey, markerKey, cancellation),\n\t\t);\n\t}\n\n\t/** The body of {@link recordPriorAndMark}, for callers already holding the marker lock. */\n\tprivate async recordPriorUnlocked(\n\t\trepoPath: string,\n\t\tconfigKey: string,\n\t\tmarkerKey: GkConfigKeys,\n\t\tcancellation?: AbortSignal,\n\t): Promise<void> {\n\t\t// Read UNCACHED: the provider's bulk gk map can be stale for exactly the window the lock exists to\n\t\t// close — another process may have written the marker since it was populated.\n\t\tif ((await this.readGkMarkerUncached(repoPath, markerKey, cancellation)) != null) return;\n\n\t\t// `getLocalConfig` reads via `--get-regex`, not `--get` — see its doc comment for why: `--get` can't\n\t\t// tell a bareword-true prior apart from an explicit-empty (false) one. A bareword prior comes back as\n\t\t// the string `'true'` here, which falls into the plain `prior` branch below and is recorded verbatim —\n\t\t// `key true` is the value git's CLI writes for the same boolean, since it has no way to write a bareword.\n\t\tconst prior = await this.getLocalConfig(repoPath, configKey, cancellation);\n\t\tawait this.provider.config.setGkConfig(\n\t\t\trepoPath,\n\t\t\tmarkerKey,\n\t\t\tprior == null ? unsetConfigSentinel : prior === '' ? emptyConfigSentinel : prior,\n\t\t);\n\t}\n\n\t/**\n\t * Reconciles write-ahead records left by an interrupted direct config mutation. The cached namespace read\n\t * keeps the normal probe free of extra subprocesses; an actual pending record is re-read under the marker\n\t * lock before it is finalized or cleared.\n\t */\n\tprivate async reconcilePendingConfigChanges(repoPath: string, cancellation?: AbortSignal): Promise<void> {\n\t\tconst markers = await this.provider.config.getGkConfigRegex(repoPath, '^gk\\\\.pending\\\\.');\n\t\tif (!configLeverChanges.some(change => markers.has(canonicalizeGitConfigKey(change.pendingKey)))) return;\n\n\t\tawait this.withMarkerLock(repoPath, () => this.reconcilePendingConfigChangesUnlocked(repoPath, cancellation));\n\t}\n\n\t/** Body of {@link reconcilePendingConfigChanges} for a caller already holding the marker lock. */\n\tprivate async reconcilePendingConfigChangesUnlocked(repoPath: string, cancellation?: AbortSignal): Promise<void> {\n\t\tfor (const change of configLeverChanges) {\n\t\t\tconst raw = await this.readGkMarkerUncached(repoPath, change.pendingKey, cancellation);\n\t\t\tif (raw == null) continue;\n\n\t\t\tconst pending = decodePendingConfigChange(raw);\n\t\t\tif (pending == null || pending.value !== change.value) {\n\t\t\t\t// A malformed record can't be reconciled into an ownership marker — drop it rather than throw,\n\t\t\t\t// which would otherwise wedge every future health snapshot/apply/revert on this repo. Failing\n\t\t\t\t// toward \"not GitLens's\" is the safe direction: the user keeps whatever config exists, GitLens\n\t\t\t\t// just never offers Undo for it.\n\t\t\t\tawait this.provider.config.setGkConfig(repoPath, change.pendingKey, undefined);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst applied = await this.readGkMarkerUncached(repoPath, change.markerKey, cancellation);\n\t\t\tif (applied == null) {\n\t\t\t\tconst current = await this.getLocalConfig(repoPath, change.configKey, cancellation);\n\t\t\t\tif (current === pending.value) {\n\t\t\t\t\tawait this.provider.config.setGkConfig(repoPath, change.markerKey, pending.prior);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If the intended value never landed (or a user changed it afterward), leave the config untouched and\n\t\t\t// drop only the uncommitted journal record. If it did land, ownership was finalized above first.\n\t\t\tawait this.provider.config.setGkConfig(repoPath, change.pendingKey, undefined);\n\t\t}\n\t}\n\n\t/**\n\t * Applies direct config levers for a caller holding the ownership-marker lock. A write-ahead record closes\n\t * the crash gap between the local config and ownership files; an ordinary failure restores every config\n\t * value and marker without cancellation.\n\t */\n\tprivate async applyConfigChangesUnlocked(\n\t\trepoPath: string,\n\t\tchanges: readonly ConfigLeverChange[],\n\t\tcancellation?: AbortSignal,\n\t): Promise<boolean> {\n\t\tawait this.reconcilePendingConfigChangesUnlocked(repoPath, cancellation);\n\n\t\tconst states: {\n\t\t\treadonly change: ConfigLeverChange;\n\t\t\treadonly prior: string;\n\t\t\treadonly rollbackPrior: string;\n\t\t\treadonly alreadyOwned: boolean;\n\t\t}[] = [];\n\t\tlet alreadyApplied = false;\n\t\tfor (const change of changes) {\n\t\t\tconst marker = await this.readGkMarkerUncached(repoPath, change.markerKey, cancellation);\n\t\t\tconst current = await this.getLocalConfig(repoPath, change.configKey, cancellation);\n\t\t\tif (current === change.value) {\n\t\t\t\talreadyApplied ||= marker != null;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst rollbackPrior =\n\t\t\t\tcurrent == null ? unsetConfigSentinel : current === '' ? emptyConfigSentinel : current;\n\t\t\tif (marker != null) {\n\t\t\t\tstates.push({\n\t\t\t\t\tchange: change,\n\t\t\t\t\tprior: marker,\n\t\t\t\t\trollbackPrior: rollbackPrior,\n\t\t\t\t\talreadyOwned: true,\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tstates.push({\n\t\t\t\tchange: change,\n\t\t\t\tprior: rollbackPrior,\n\t\t\t\trollbackPrior: rollbackPrior,\n\t\t\t\talreadyOwned: false,\n\t\t\t});\n\t\t}\n\t\tif (states.length === 0) return alreadyApplied;\n\n\t\tconst written: typeof states = [];\n\t\tconst marked: typeof states = [];\n\t\tconst pending = new Set<(typeof states)[number]>();\n\t\ttry {\n\t\t\tfor (const state of states) {\n\t\t\t\tif (state.alreadyOwned) continue;\n\n\t\t\t\tawait this.provider.config.setGkConfig(\n\t\t\t\t\trepoPath,\n\t\t\t\t\tstate.change.pendingKey,\n\t\t\t\t\tencodePendingConfigChange({ prior: state.prior, value: state.change.value }),\n\t\t\t\t);\n\t\t\t\tpending.add(state);\n\t\t\t}\n\n\t\t\tfor (const state of states) {\n\t\t\t\tawait this.setLocalConfig(repoPath, state.change.configKey, state.change.value, cancellation);\n\t\t\t\twritten.push(state);\n\t\t\t}\n\n\t\t\tfor (const state of states) {\n\t\t\t\tif (state.alreadyOwned) continue;\n\n\t\t\t\tawait this.provider.config.setGkConfig(repoPath, state.change.markerKey, state.prior);\n\t\t\t\tmarked.push(state);\n\t\t\t}\n\n\t\t\tfor (const state of pending) {\n\t\t\t\tawait this.provider.config.setGkConfig(repoPath, state.change.pendingKey, undefined);\n\t\t\t\tpending.delete(state);\n\t\t\t}\n\t\t\treturn true;\n\t\t} catch (ex) {\n\t\t\tconst rollbackErrors: unknown[] = [];\n\t\t\tfor (const state of written.toReversed()) {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.restoreLocalConfig(repoPath, state.change.configKey, state.rollbackPrior);\n\t\t\t\t} catch (rollbackEx) {\n\t\t\t\t\trollbackErrors.push(rollbackEx);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (const state of marked.toReversed()) {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.provider.config.setGkConfig(repoPath, state.change.markerKey, undefined);\n\t\t\t\t} catch (rollbackEx) {\n\t\t\t\t\trollbackErrors.push(rollbackEx);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (const state of pending) {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.provider.config.setGkConfig(repoPath, state.change.pendingKey, undefined);\n\t\t\t\t} catch (rollbackEx) {\n\t\t\t\t\trollbackErrors.push(rollbackEx);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (rollbackErrors.length) {\n\t\t\t\tconst error = new Error(\n\t\t\t\t\tl10n.t('Unable to apply Git maintenance settings and completely restore their prior values'),\n\t\t\t\t\t{ cause: ex },\n\t\t\t\t) as Error & { errors: unknown[] };\n\t\t\t\terror.errors = rollbackErrors;\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tthrow ex;\n\t\t}\n\t}\n\n\t@debug()\n\tasync claimMaintenancePass(repoPath: string, intervalMs: number): Promise<boolean> {\n\t\t// The stamp is the CROSS-WINDOW throttle, so reading it and writing it must be one transaction —\n\t\t// otherwise two windows both observe an expired value and both run a pass. Uses the same lock and\n\t\t// the same uncached read as the ownership markers.\n\t\treturn this.withMarkerLock(repoPath, async () => {\n\t\t\tconst raw = await this.readGkMarkerUncached(repoPath, 'gk.maintenanceLastRun');\n\t\t\tconst last = raw != null ? Date.parse(raw) : Number.NaN;\n\t\t\tif (!Number.isNaN(last) && Date.now() - last < intervalMs) return false;\n\n\t\t\t// Claim BEFORE the work, not after: a pass can run for minutes, and a window probing in that gap\n\t\t\t// would otherwise see no stamp and start a second concurrent pass over the same object database.\n\t\t\tawait this.provider.config.setGkConfig(repoPath, 'gk.maintenanceLastRun', new Date().toISOString(), {\n\t\t\t\tskipInvalidation: ['branchOverviews', 'baseBranchName'],\n\t\t\t});\n\t\t\treturn true;\n\t\t});\n\t}\n\n\t/** The `.git/gk/` directory (common dir, so worktrees of a repo share it). */\n\tprivate async getGkDir(repoPath: string): Promise<string> {\n\t\tconst gitDir = await this.provider.config.getGitDir(repoPath);\n\t\treturn joinPaths((gitDir.commonUri ?? gitDir.uri).fsPath, 'gk');\n\t}\n\n\tprivate getSparseIndexMarkerPaths(gitDirPath: string): {\n\t\treadonly dir: string;\n\t\treadonly applied: string;\n\t\treadonly contention: 'sparseIndex';\n\t\treadonly lock: string;\n\t\treadonly pending: string;\n\t} {\n\t\tconst dir = joinPaths(gitDirPath, 'gk');\n\t\treturn {\n\t\t\tdir: dir,\n\t\t\tapplied: joinPaths(dir, sparseIndexAppliedMarker),\n\t\t\tcontention: 'sparseIndex',\n\t\t\tlock: joinPaths(dir, sparseIndexLockFile),\n\t\t\tpending: joinPaths(dir, sparseIndexPendingMarker),\n\t\t};\n\t}\n\n\t/**\n\t * Reconciles the sparse-index command's worktree-local write-ahead marker. The fast path is filesystem\n\t * only; a pending or stale-applied marker takes the worktree's sparse-index operation lock and re-reads\n\t * Git config before mutating anything, so it cannot act on a snapshot that raced another window's\n\t * apply/undo. A live operation keeps that lock across the index rewrite, but snapshots never wait for it:\n\t * they return the last committed marker state until the operation publishes its result.\n\t */\n\tprivate async reconcileSparseIndexMarkers(\n\t\trepoPath: string,\n\t\tgitDirPath: string,\n\t\tknownEnabled: boolean | undefined,\n\t\tcancellation?: AbortSignal,\n\t): Promise<{ enabled: boolean | undefined; applied: boolean }> {\n\t\tconst markerPaths = this.getSparseIndexMarkerPaths(gitDirPath);\n\t\tconst [pending, applied] = await Promise.all([fsExists(markerPaths.pending), fsExists(markerPaths.applied)]);\n\t\tif (knownEnabled == null) return { enabled: undefined, applied: false };\n\t\tif (!pending && (!applied || knownEnabled)) {\n\t\t\treturn { enabled: knownEnabled, applied: applied && knownEnabled };\n\t\t}\n\n\t\ttry {\n\t\t\treturn await this.withMarkerLock(\n\t\t\t\trepoPath,\n\t\t\t\tasync () =>\n\t\t\t\t\tthis.reconcileSparseIndexMarkersUnlocked(\n\t\t\t\t\t\tmarkerPaths,\n\t\t\t\t\t\tawait this.probeSparseIndexEnabled(repoPath, cancellation),\n\t\t\t\t\t),\n\t\t\t\t{ retryMs: 0, maxAttempts: 0 },\n\t\t\t\tmarkerPaths,\n\t\t\t);\n\t\t} catch (ex) {\n\t\t\tif (!(ex instanceof MarkerLockContentionError)) throw ex;\n\n\t\t\t// The config probe is the truthful state even if the lock holder crashed after changing it. Marker\n\t\t\t// presence only proves ownership while that config is still enabled; reconciliation can resume after\n\t\t\t// the live operation finishes or a positively dead owner's lock is removed manually.\n\t\t\treturn { enabled: knownEnabled, applied: applied && knownEnabled };\n\t\t}\n\t}\n\n\t/** Body of {@link reconcileSparseIndexMarkers} for a caller already holding the ownership lock. */\n\tprivate async reconcileSparseIndexMarkersUnlocked(\n\t\tmarkerPaths: { readonly dir: string; readonly applied: string; readonly pending: string },\n\t\tenabled: boolean,\n\t): Promise<{ enabled: boolean; applied: boolean }> {\n\t\tconst pending = await fsExists(markerPaths.pending);\n\t\tlet applied = await fsExists(markerPaths.applied);\n\t\tif (pending) {\n\t\t\tif (enabled) {\n\t\t\t\tawait mkdir(markerPaths.dir, { recursive: true });\n\t\t\t\tif (applied) {\n\t\t\t\t\tawait rm(markerPaths.pending, { force: true });\n\t\t\t\t} else {\n\t\t\t\t\tawait rename(markerPaths.pending, markerPaths.applied);\n\t\t\t\t\tapplied = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tawait rm(markerPaths.pending, { force: true });\n\t\t\t}\n\t\t}\n\n\t\tif (applied && !enabled) {\n\t\t\tawait rm(markerPaths.applied, { force: true });\n\t\t\tapplied = false;\n\t\t}\n\n\t\treturn { enabled: enabled, applied: applied };\n\t}\n\n\t/** Reads the effective worktree-scoped sparse-index switch without relying on a cached config map. */\n\tprivate async probeSparseIndexEnabled(repoPath: string, cancellation?: AbortSignal): Promise<boolean> {\n\t\tconst result = await this.runQuietly(repoPath, cancellation, 'config', '--bool', '--get', 'index.sparse');\n\t\tthis.throwIfDidNotComplete(result, cancellation);\n\t\tif (result.exitCode === gitConfigGetMissingExitCode) return false;\n\t\tif (result.exitCode !== 0) {\n\t\t\tthrow new Error(l10n.t(\"Unable to read 'index.sparse' (git exited {0})\", String(result.exitCode)));\n\t\t}\n\n\t\treturn parseGitBoolean(result.stdout);\n\t}\n\n\t/** Reads an ownership marker straight from `.git/gk/config`, bypassing every cache. */\n\tprivate async readGkMarkerUncached(\n\t\trepoPath: string,\n\t\tmarkerKey: GkConfigKeys,\n\t\tcancellation?: AbortSignal,\n\t): Promise<string | undefined> {\n\t\tconst result = await this.runQuietly(\n\t\t\trepoPath,\n\t\t\tcancellation,\n\t\t\t'config',\n\t\t\t'--file',\n\t\t\tjoinPaths(await this.getGkDir(repoPath), 'config'),\n\t\t\t'--get',\n\t\t\tmarkerKey,\n\t\t);\n\t\tthis.throwIfDidNotComplete(result, cancellation);\n\t\tif (result.exitCode !== 0 && result.exitCode !== gitConfigGetMissingExitCode) {\n\t\t\tthrow new Error(\n\t\t\t\tl10n.t(\"Unable to read the '{0}' marker (git exited {1})\", markerKey, String(result.exitCode)),\n\t\t\t);\n\t\t}\n\t\treturn result.stdout.trim() || undefined;\n\t}\n\n\t/**\n\t * Runs `fn` holding an exclusive on-disk lock over one ownership-marker scope. By default that is the\n\t * repository family's config-marker scope; callers can provide a worktree-local lock location for an\n\t * operation whose state is isolated per worktree. Two layers make this safe across processes:\n\t *\n\t * - **Exclusive-create ownership, with an identity record.** `open(lockPath, 'wx')` — the same `O_EXCL`\n\t * primitive git uses for its own `*.lock` files — is the only atomic step; a contender that loses the\n\t * race retries for up to `maxAttempts`, then fails loudly rather than proceeding unlocked (see below).\n\t * The winner immediately writes its host, pid, and a fresh random `ownerId` into the lock file — an\n\t * identity record, not a liveness lease, since nothing here ever acts on it while another holder is\n\t * still running.\n\t * - **Ownership-verified release.** On the way out, the lock file is removed only if its `ownerId` still\n\t * matches the one this call wrote — a fresh random value per acquisition can't collide with a\n\t * re-created lock the way an inode COULD in principle on some filesystems, so it's the primary check;\n\t * the inode is also compared as a cheap secondary one.\n\t *\n\t * A lock left behind by a crashed window is deliberately NOT recovered automatically. Two designs were\n\t * tried and rejected. Time-based leasing can't tell a dead owner from a slow one — an age alone doesn't\n\t * distinguish them (git timeouts are user-configurable, and can be disabled entirely), and making it tell\n\t * them apart takes a full lease-plus-fencing-token protocol this lock has no need for otherwise.\n\t * Automatic stealing (rename the lock aside once a PID probe says its owner is provably dead) was tried\n\t * next, and is unsound for a different reason: automatic recovery of an abandoned fixed-path lock cannot\n\t * be made race-free using only the portable stock-Node primitives available here (exclusive-create and\n\t * rename) — every recovery attempt separates observation from mutation, so a delayed stealer can rename\n\t * away a NEW, live lock a fresh contender created in the gap between the probe and the rename, evicting a\n\t * holder that was never dead. Kernel-managed advisory locking (`flock`) would close that gap, but Node\n\t * exposes no portable interface to it and a native, platform-sensitive dependency is disproportionate\n\t * here. Therefore a contender NEVER mutates an existing lock — only the creator removes one, and no stale\n\t * observation can authorize mutation. Recovery is a guided MANUAL step instead: a give-up runs the same PID\n\t * probe ONCE, purely to choose the error's wording. For the sparse-operation lock, a confirmed-live owner gets\n\t * wait-only guidance, a confirmed-dead owner gets crash-recovery guidance, and an unverifiable owner gets the\n\t * lock path plus guarded manual-recovery guidance. The shared marker lock retains its generic non-dead error.\n\t * No verdict authorizes an automatic steal.\n\t *\n\t * Because a live holder can't lose its lock, `fn` needs no cancellation coupling to the lock itself — the\n\t * critical section only ever ends on its own terms.\n\t *\n\t * Acquisition beyond the initial `open` is not atomic: the ownership record is written in a separate step\n\t * just after. A crash landing exactly there — not caught by anything, since the process is gone — leaves\n\t * a permanently-empty orphan lock; the give-up error's manual-deletion instructions are the only recovery\n\t * for that case, same as for a confirmed-dead owner. A failure our OWN code can observe in that window\n\t * (the post-`mkdir` setup, or the ownership write itself) is different: it fails closed, removing the\n\t * lock it just created — ownership is certain there, since we hold the only handle — before rethrowing,\n\t * so a transient error (e.g. `ENOSPC`) never strands a lock nothing can ever prove dead.\n\t *\n\t * Deliberately NOT named `config.lock` — that's the name git takes when writing `.git/gk/config` itself.\n\t */\n\tprivate async withMarkerLock<T>(\n\t\trepoPath: string,\n\t\tfn: () => Promise<T>,\n\t\t// `retryMs`/`maxAttempts` define the acquisition policy; health snapshots deliberately use zero retries\n\t\t// for the sparse operation lock. The remaining callbacks are test seams: `probeOwner` replaces the real\n\t\t// PID probe, `writeRecord` forces post-open setup failures, and `openLock` forces acquisition failures.\n\t\ttimings?: {\n\t\t\tretryMs?: number;\n\t\t\tmaxAttempts?: number;\n\t\t\tprobeOwner?: (owner: { host: string; pid: number }) => 'alive' | 'dead' | 'unverifiable';\n\t\t\twriteRecord?: (handle: FileHandle) => Promise<void>;\n\t\t\topenLock?: (lockPath: string) => Promise<FileHandle>;\n\t\t},\n\t\tlockLocation?: { readonly dir: string; readonly contention?: 'sparseIndex'; readonly lock: string },\n\t): Promise<T> {\n\t\tconst retryMs = timings?.retryMs ?? markerLockRetryMs;\n\t\tconst maxAttempts = timings?.maxAttempts ?? markerLockMaxAttempts;\n\n\t\tconst dir = lockLocation?.dir ?? (await this.getGkDir(repoPath));\n\t\tconst lockPath = lockLocation?.lock ?? joinPaths(dir, 'applied.lock');\n\t\ttry {\n\t\t\tawait mkdir(dir, { recursive: true });\n\t\t} catch (ex) {\n\t\t\t// Never proceed unlocked: a lock that can't even be set up must not let the guarded transaction\n\t\t\t// run without one. Recoverable by the same manual fix as any other acquisition failure.\n\t\t\tthrow new Error(\n\t\t\t\tl10n.t(\n\t\t\t\t\t\"Could not acquire the Git maintenance settings lock at '{0}'. If this persists and no other VS Code window is using this repository, delete that file and try again.\",\n\t\t\t\t\tlockPath,\n\t\t\t\t),\n\t\t\t\t{ cause: ex },\n\t\t\t);\n\t\t}\n\n\t\tlet handle;\n\t\tfor (let attempt = 0; handle == null; attempt++) {\n\t\t\ttry {\n\t\t\t\thandle = await (timings?.openLock ? timings.openLock(lockPath) : open(lockPath, 'wx'));\n\t\t\t} catch (ex) {\n\t\t\t\tif ((ex as NodeJS.ErrnoException).code !== 'EEXIST') {\n\t\t\t\t\t// Never proceed unlocked: the whole point is that a concurrent window must not read a\n\t\t\t\t\t// stale \"marker absent\" and record the wrong prior. Failing loudly is recoverable; racing\n\t\t\t\t\t// is not.\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\tl10n.t(\n\t\t\t\t\t\t\t\"Could not acquire the Git maintenance settings lock at '{0}'. If this persists and no other VS Code window is using this repository, delete that file and try again.\",\n\t\t\t\t\t\t\tlockPath,\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ cause: ex },\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Bounded so a lock this window can never take (see the doc comment above) doesn't spin the\n\t\t\t\t// loop forever.\n\t\t\t\tif (attempt >= maxAttempts) {\n\t\t\t\t\t// One diagnostic probe, purely to choose the error's wording — see the doc comment above\n\t\t\t\t\t// for why a 'dead' verdict still doesn't get stolen from automatically.\n\t\t\t\t\tconst verdict = await this.probeLockOwner(lockPath, timings?.probeOwner).catch(\n\t\t\t\t\t\t() => 'unverifiable' as const,\n\t\t\t\t\t);\n\t\t\t\t\tif (verdict === 'dead') {\n\t\t\t\t\t\tthrow new MarkerLockContentionError(\n\t\t\t\t\t\t\tlockLocation?.contention === 'sparseIndex'\n\t\t\t\t\t\t\t\t? l10n.t(\n\t\t\t\t\t\t\t\t\t\t\"A previous VS Code window appears to have crashed while updating the sparse index. Delete '{0}' to recover.\",\n\t\t\t\t\t\t\t\t\t\tlockPath,\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: l10n.t(\n\t\t\t\t\t\t\t\t\t\t\"A previous VS Code window appears to have crashed while updating Git maintenance settings. Delete '{0}' to recover.\",\n\t\t\t\t\t\t\t\t\t\tlockPath,\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{ cause: ex },\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (lockLocation?.contention === 'sparseIndex' && verdict === 'alive') {\n\t\t\t\t\t\tthrow new MarkerLockContentionError(\n\t\t\t\t\t\t\tl10n.t('A sparse-index update is still in progress. Wait for it to finish and try again.'),\n\t\t\t\t\t\t\t{ cause: ex },\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow new MarkerLockContentionError(\n\t\t\t\t\t\tlockLocation?.contention === 'sparseIndex'\n\t\t\t\t\t\t\t? l10n.t(\n\t\t\t\t\t\t\t\t\t\"Could not verify whether another window is still updating the sparse index. If no update is in progress, delete '{0}' and try again.\",\n\t\t\t\t\t\t\t\t\tlockPath,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: l10n.t(\n\t\t\t\t\t\t\t\t\t\"Another window is currently updating Git maintenance settings. If no other VS Code window is using this repository, delete '{0}' and try again.\",\n\t\t\t\t\t\t\t\t\tlockPath,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t{ cause: ex },\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tawait new Promise(resolve => setTimeout(resolve, retryMs));\n\t\t\t}\n\t\t}\n\n\t\t// Narrowed into a const so the rest of this method sees the non-undefined type.\n\t\tconst lockHandle = handle;\n\t\t// A fresh random value per acquisition — the primary identity the release check below verifies.\n\t\tconst ownerId = randomUUID();\n\t\tlet ino;\n\t\ttry {\n\t\t\t// Recorded as early as possible, so a contender that arrives at any point during our hold finds\n\t\t\t// an owner to probe rather than an empty file it must treat as unverifiable.\n\t\t\tconst writeRecord =\n\t\t\t\ttimings?.writeRecord ??\n\t\t\t\t(async (h: FileHandle) => {\n\t\t\t\t\tawait h.writeFile(JSON.stringify({ host: hostname(), pid: process.pid, ownerId: ownerId }));\n\t\t\t\t});\n\t\t\tawait writeRecord(lockHandle);\n\t\t\t// Secondary check for release below — see there for why ownerId is the primary one.\n\t\t\tino = (await lockHandle.stat()).ino;\n\t\t} catch (ex) {\n\t\t\t// A failure here (e.g. ENOSPC) is usually ours to clean up — but not always: the same\n\t\t\t// only-the-creator-removes invariant the release path enforces above applies here too. If the lock\n\t\t\t// was manually deleted and RECREATED by a new owner in this exact window, removing it unconditionally\n\t\t\t// would delete THEIR file. Verify identity first: `handle.stat()` reads through our own open\n\t\t\t// descriptor (valid even after the path is unlinked or replaced) against a fresh stat of the path\n\t\t\t// itself; ENOENT or a mismatch means nothing of ours remains there, so skip the rm.\n\t\t\tconst ourStat = await lockHandle.stat().catch(() => undefined);\n\t\t\tawait lockHandle.close().catch(() => {});\n\t\t\tconst pathStat = await stat(lockPath).catch(() => undefined);\n\t\t\tif (ourStat != null && ourStat.ino === pathStat?.ino) {\n\t\t\t\tawait rm(lockPath, { force: true }).catch(() => {});\n\t\t\t}\n\t\t\tthrow new Error(\n\t\t\t\tl10n.t(\n\t\t\t\t\t\"Could not acquire the Git maintenance settings lock at '{0}'. If this persists and no other VS Code window is using this repository, delete that file and try again.\",\n\t\t\t\t\tlockPath,\n\t\t\t\t),\n\t\t\t\t{ cause: ex },\n\t\t\t);\n\t\t}\n\n\t\ttry {\n\t\t\treturn await fn();\n\t\t} finally {\n\t\t\tawait lockHandle.close().catch(() => {});\n\t\t\t// Only remove the file if it's still the one we created — `ownerId` is the authoritative check,\n\t\t\t// the inode compared too as a cheap secondary one; neither alone is proof on every filesystem, but\n\t\t\t// both matching is.\n\t\t\tconst currentOwner = await readFile(lockPath, 'utf8')\n\t\t\t\t.then(raw => (raw ? (JSON.parse(raw) as { ownerId?: unknown }) : undefined))\n\t\t\t\t.catch(() => undefined);\n\t\t\tconst current = await stat(lockPath).catch(() => undefined);\n\t\t\tif (currentOwner?.ownerId === ownerId && current?.ino === ino) {\n\t\t\t\tawait rm(lockPath, { force: true }).catch(() => {});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Diagnoses the process recorded in `lockPath` for the give-up error's wording ONLY — see\n\t * `withMarkerLock`'s doc comment for why a verdict never causes an automatic steal. Returns 'dead' only when\n\t * the OS kill-probe returns `ESRCH`, 'alive' when it succeeds, and 'unverifiable' for unreadable/malformed\n\t * content, a lock recorded on another host, or a probe that fails with anything but `ESRCH`.\n\t */\n\tprivate async probeLockOwner(\n\t\tlockPath: string,\n\t\tprobeOwner?: (owner: { host: string; pid: number }) => 'alive' | 'dead' | 'unverifiable',\n\t): Promise<'alive' | 'dead' | 'unverifiable'> {\n\t\tconst owner = await readFile(lockPath, 'utf8')\n\t\t\t.then(raw => (raw ? (JSON.parse(raw) as { host?: unknown; pid?: unknown }) : undefined))\n\t\t\t.catch(() => undefined);\n\t\t// Empty or unparseable: either the owner is mid-open/mid-write (a race with our own read) or a crash\n\t\t// landed exactly between its `open` and its ownership write, orphaning a permanently-empty lock —\n\t\t// neither is evidence the owner is dead.\n\t\tif (owner == null || typeof owner.host !== 'string' || typeof owner.pid !== 'number') return 'unverifiable';\n\n\t\tif (probeOwner != null) return probeOwner({ host: owner.host, pid: owner.pid });\n\n\t\t// A lock recorded on another host (shared filesystem) can't be probed locally — a PID probe here would\n\t\t// be asking about an unrelated process on THIS machine.\n\t\tif (owner.host !== hostname()) return 'unverifiable';\n\n\t\ttry {\n\t\t\t// Signal 0: sends nothing, only asks the OS whether the process exists and is ours to signal.\n\t\t\tprocess.kill(owner.pid, 0);\n\t\t\treturn 'alive'; // No throw — alive, or at least not provably dead.\n\t\t} catch (ex) {\n\t\t\t// ESRCH = no such process → provably dead. EPERM (belongs to someone else) and anything else\n\t\t\t// can't be told apart from \"alive\". PID recycling also lands here as \"alive\" (we can't tell),\n\t\t\t// which is the correct conservative answer.\n\t\t\treturn (ex as NodeJS.ErrnoException).code === 'ESRCH' ? 'dead' : 'unverifiable';\n\t\t}\n\t}\n\n\t/**\n\t * Reverts a config lever GitLens applied: restores its recorded prior LOCAL value (set it back, or unset\n\t * when the prior was absent) and clears the marker. Returns `false` (a no-op) when no marker exists —\n\t * a lever the user enabled themselves is never touched.\n\t */\n\tprivate async revertConfigLever(\n\t\trepoPath: string,\n\t\tconfigKey: string,\n\t\tmarkerKey: GkConfigKeys,\n\t\tcancellation?: AbortSignal,\n\t): Promise<boolean> {\n\t\t// Same transaction boundary as apply, and the same uncached read. Without both, a window holding a\n\t\t// stale \"marker absent\" concludes the lever isn't GitLens's and Undo silently does nothing while the\n\t\t// config stays enabled.\n\t\treturn this.withMarkerLock(repoPath, async () => {\n\t\t\tconst prior = await this.readGkMarkerUncached(repoPath, markerKey, cancellation);\n\t\t\tif (prior == null) return false;\n\n\t\t\tawait this.restoreLocalConfig(repoPath, configKey, prior, cancellation);\n\t\t\tawait this.provider.config.setGkConfig(repoPath, markerKey, undefined);\n\t\t\treturn true;\n\t\t});\n\t}\n\n\t/** Restores a lever's config to its recorded prior after a failed apply, then drops the ownership marker. */\n\tprivate async restorePriorAndClear(\n\t\trepoPath: string,\n\t\tconfigKey: string,\n\t\tmarkerKey: GkConfigKeys,\n\t\tcancellation?: AbortSignal,\n\t): Promise<void> {\n\t\tconst prior = await this.provider.config.getGkConfig(repoPath, markerKey);\n\t\tif (prior != null) {\n\t\t\tawait this.restoreLocalConfig(repoPath, configKey, prior, cancellation);\n\t\t}\n\t\tawait this.provider.config.setGkConfig(repoPath, markerKey, undefined);\n\t}\n\n\t/** Sets a local config value back to a recorded prior, decoding the `unset`/`empty` sentinels. */\n\tprivate async restoreLocalConfig(\n\t\trepoPath: string,\n\t\tkey: string,\n\t\tprior: string,\n\t\tcancellation?: AbortSignal,\n\t): Promise<void> {\n\t\tif (prior === unsetConfigSentinel) {\n\t\t\tawait this.unsetLocalConfig(repoPath, key, cancellation);\n\t\t} else if (prior === emptyConfigSentinel) {\n\t\t\tawait this.setLocalConfig(repoPath, key, '', cancellation);\n\t\t} else {\n\t\t\tawait this.setLocalConfig(repoPath, key, prior, cancellation);\n\t\t}\n\t}\n\n\t/** Writes a gk marker, swallowing+logging any failure — a marker write must never fail the apply itself. */\n\tprivate async markGkConfigSafe(repoPath: string, key: GkConfigKeys, value: string): Promise<void> {\n\t\tconst scope = getScopedLogger();\n\t\ttry {\n\t\t\tawait this.provider.config.setGkConfig(repoPath, key, value);\n\t\t} catch (ex) {\n\t\t\tscope?.error(ex, `Failed to record '${key}' marker`);\n\t\t}\n\t}\n\n\t/**\n\t * Throws when a run that swallowed its errors (`errors: 'ignore'`) was actually cancelled or never ran.\n\t * Such a run resolves with no meaningful exit code, so `completion` — not `exitCode` — is the only thing\n\t * that proves a command ran. Without this a timeout reads as a clean success, and a safety probe or an\n\t * undo would act on a command that never happened.\n\t */\n\tprivate throwIfDidNotComplete(result: Pick<GitResult, 'completion'>, cancellation: AbortSignal | undefined): void {\n\t\tif (result.completion.status === 'cancelled' || cancellation?.aborted === true) {\n\t\t\tthrow new CancellationError();\n\t\t}\n\t\t// `failed` covers both a queue rejection/spawn failure (`unstarted`) and a signal kill, neither of\n\t\t// which produced a trustworthy result — for a maintenance probe both must read as \"did not run\".\n\t\tif (result.completion.status === 'failed') throw new Error(l10n.t('Git command did not run'));\n\t}\n\n\t/**\n\t * Reads a config key's LOCAL-scope value (independent of global/system config). `undefined` when unset.\n\t *\n\t * Uses `--get-regex` (anchored to the exact key), not `--get`: `--get` exits 0 with EMPTY stdout for\n\t * BOTH a bareword entry (`[section]\\n\\tkey`, valid syntax, git-boolean TRUE) and an explicit empty value\n\t * (`key =`, git-boolean FALSE) — indistinguishable, which would record a bareword-true prior as the\n\t * `unset` sentinel and let undo flip the user's true to false. `--get-regex` prints the two differently\n\t * (a bareword line has no space; an empty value keeps a trailing one), which `parseConfigRegexOutput`'s\n\t * `includeValueless` tells apart; for a multi-valued key it also prints every value in file order, so the\n\t * LAST line in the map is still the `--get`-equivalent value.\n\t */\n\tprivate async getLocalConfig(\n\t\trepoPath: string,\n\t\tkey: string,\n\t\tcancellation?: AbortSignal,\n\t): Promise<string | undefined> {\n\t\tconst result = await this.git.run(\n\t\t\t{\n\t\t\t\tcwd: repoPath,\n\t\t\t\terrors: 'ignore',\n\t\t\t\trunLocally: true,\n\t\t\t\tcancellation: cancellation,\n\t\t\t\tselfMaintenance: true,\n\t\t\t},\n\t\t\t'config',\n\t\t\t'--local',\n\t\t\t'--get-regex',\n\t\t\t`^${escapeRegex(key)}$`,\n\t\t);\n\t\tthis.throwIfDidNotComplete(result, cancellation);\n\t\t// An unreadable config must not read back as \"unset\": that value gets recorded as the lever's prior,\n\t\t// so a later undo would DELETE a setting the user had all along instead of restoring it. Exit 1 is\n\t\t// git's \"no match\" — genuinely unset, the same discipline as `--get`.\n\t\tif (result.exitCode !== 0 && result.exitCode !== gitConfigGetMissingExitCode) {\n\t\t\tthrow new Error(l10n.t(\"Unable to read '{0}' (git exited {1})\", key, String(result.exitCode)));\n\t\t}\n\t\tif (result.exitCode !== 0) return undefined;\n\n\t\t// A bareword line maps to `'true'`, an explicit-empty line to `''` — collapsing either into the\n\t\t// other misrecords the prior undo later restores. Deliberately NOT `.trim()`-ed: an explicit-empty\n\t\t// line's meaning IS its trailing space, and `.trim()` on the whole (possibly multi-line) stdout\n\t\t// strips it whenever that line lands last — `parseConfigRegexOutput` already skips the blank line a\n\t\t// trailing newline produces, so no trim is needed. Canonicalize for the lookup: `--get-regex` prints\n\t\t// the section + variable name lowercased.\n\t\treturn parseConfigRegexOutput(result.stdout, { includeValueless: true }).get(canonicalizeGitConfigKey(key));\n\t}\n\n\t/** Sets a LOCAL config value. Throws the git error on a genuine write failure (config refused). */\n\tprivate async setLocalConfig(\n\t\trepoPath: string,\n\t\tkey: string,\n\t\tvalue: string,\n\t\tcancellation?: AbortSignal,\n\t): Promise<void> {\n\t\tawait this.git.run(\n\t\t\t{\n\t\t\t\tcwd: repoPath,\n\t\t\t\terrors: 'throw',\n\t\t\t\trunLocally: true,\n\t\t\t\tcancellation: cancellation,\n\t\t\t\tselfMaintenance: true,\n\t\t\t},\n\t\t\t'config',\n\t\t\t'--local',\n\t\t\tkey,\n\t\t\tvalue,\n\t\t);\n\t\tthis.cache.deleteConfig(repoPath, key);\n\t}\n\n\tprivate async unsetLocalConfig(repoPath: string, key: string, cancellation?: AbortSignal): Promise<void> {\n\t\t// `--unset-all` of an absent key exits non-zero; `errors: 'ignore'` swallows that without throwing.\n\t\t// It is deliberately not `--unset`, which refuses a multi-valued key with the SAME exit 5 while\n\t\t// leaving the values set — indistinguishable from the benign case, so undo would clear its ownership\n\t\t// marker with the lever still on. See the exit-code constants above.\n\t\tconst result = await this.git.run(\n\t\t\t{\n\t\t\t\tcwd: repoPath,\n\t\t\t\terrors: 'ignore',\n\t\t\t\trunLocally: true,\n\t\t\t\tcancellation: cancellation,\n\t\t\t\tselfMaintenance: true,\n\t\t\t},\n\t\t\t'config',\n\t\t\t'--local',\n\t\t\t'--unset-all',\n\t\t\tkey,\n\t\t);\n\t\t// ...but so does a cancelled/timed-out run, and so does a genuine write failure. Surface both, so an\n\t\t// undo can't clear its ownership marker — handing the lever back to the user as \"theirs\", with no\n\t\t// Undo ever offered again — while the config is in fact still set.\n\t\tthis.throwIfDidNotComplete(result, cancellation);\n\t\tif (result.exitCode !== 0 && result.exitCode !== gitConfigUnsetMissingExitCode) {\n\t\t\tthrow new Error(l10n.t(\"Unable to unset '{0}' (git exited {1})\", key, String(result.exitCode)));\n\t\t}\n\n\t\tthis.cache.deleteConfig(repoPath, key);\n\t}\n\n\t/** Best-effort run; returns the result so callers that must distinguish \"didn't run\" can check it. */\n\tprivate async runQuietly(\n\t\trepoPath: string,\n\t\tcancellation: AbortSignal | undefined,\n\t\t...args: string[]\n\t): Promise<GitResult> {\n\t\treturn this.git.run(\n\t\t\t{\n\t\t\t\tcwd: repoPath,\n\t\t\t\terrors: 'ignore',\n\t\t\t\tpriority: 'background',\n\t\t\t\tcancellation: cancellation,\n\t\t\t\tselfMaintenance: true,\n\t\t\t},\n\t\t\t...args,\n\t\t);\n\t}\n\n\tprivate async probeConfig(\n\t\trepoPath: string,\n\t\tcancellation?: AbortSignal,\n\t): Promise<\n\t\tGitHealthSnapshot['config'] & {\n\t\t\tcommitGraphReadDisabled: boolean;\n\t\t\tmultiPackIndexEnabled: boolean | undefined;\n\t\t\tincrementalRepackAutoThreshold: number | undefined;\n\t\t\trefFormat: GitHealthSnapshot['repository']['refFormat'];\n\t\t\tsparseCheckout: boolean;\n\t\t\tsparseCheckoutCone: boolean;\n\t\t\tsparseIndex: boolean;\n\t\t\tsplitIndex: boolean;\n\t\t}\n\t> {\n\t\t// One `git config --get-regex` for the levers, commit-graph read switch, and index shape, reading\n\t\t// MERGED config — so a key's presence means the user set it somewhere (local, worktree, global, or\n\t\t// system). Git lowercases the section + variable in the output.\n\t\t//\n\t\t// Deliberately NOT routed through the config sub-provider's cached helper: that one swallows git\n\t\t// errors and resolves an EMPTY map, which is indistinguishable from \"none of these keys are set\" —\n\t\t// and the silent auto tier must never mistake an unreadable config for an unset one and rewrite it.\n\t\t// Reading directly keeps the exit code, which tells the two apart.\n\t\tconst result = await this.runQuietly(\n\t\t\trepoPath,\n\t\t\tcancellation,\n\t\t\t'config',\n\t\t\t'--get-regex',\n\t\t\t'^(core\\\\.fsmonitor|core\\\\.untrackedcache|core\\\\.commitgraph|core\\\\.multipackindex|core\\\\.sparsecheckout|core\\\\.sparsecheckoutcone|core\\\\.splitindex|extensions\\\\.refstorage|feature\\\\.manyfiles|index\\\\.sparse|maintenance\\\\.incremental-repack\\\\.auto)$',\n\t\t);\n\t\tthis.throwIfDidNotComplete(result, cancellation);\n\t\t// Exit 1 is git's \"no matches\" — genuinely unset. Anything else means we couldn't read the\n\t\t// config; `getHealthSnapshot` turns the throw into a fail-closed snapshot.\n\t\tif (result.exitCode !== 0 && result.exitCode !== gitConfigGetMissingExitCode) {\n\t\t\tthrow new Error(l10n.t('Unable to read git config (git exited {0})', String(result.exitCode)));\n\t\t}\n\n\t\t// `includeValueless`: a BAREWORD entry (`core.untrackedCache` with no `=value`) is git's own\n\t\t// boolean-true shorthand — a naive parse drops it (no space in the line), misreporting a lever\n\t\t// the user has genuinely enabled as both \"off\" and \"unconfigured\" (eligible to be re-suggested).\n\t\t// An explicit EMPTY value (`core.untrackedCache=`, a deliberate false) is a DIFFERENT, byte-distinct\n\t\t// line (it keeps a trailing space) and was already parsed correctly without this option.\n\t\t//\n\t\t// Deliberately NOT `.trim()`-ed: when the empty-value line lands last, `.trim()` on the whole\n\t\t// (possibly multi-line) stdout strips that meaningful trailing space and it misreads as a bareword.\n\t\t// `parseConfigRegexOutput` already skips the blank line a trailing newline produces.\n\t\tconst map = parseConfigRegexOutput(result.stdout, { includeValueless: true });\n\t\tconst incrementalRepackAuto = map.get('maintenance.incremental-repack.auto');\n\t\tconst incrementalRepackAutoThreshold =\n\t\t\tincrementalRepackAuto == null\n\t\t\t\t? defaultIncrementalRepackAutoThreshold\n\t\t\t\t: parseGitInteger(incrementalRepackAuto);\n\n\t\tconst multiPackIndex = map.get('core.multipackindex');\n\t\tconst multiPackIndexEnabled =\n\t\t\tmultiPackIndex == null\n\t\t\t\t? true\n\t\t\t\t: isGitBooleanFalse(multiPackIndex)\n\t\t\t\t\t? false\n\t\t\t\t\t: parseGitBoolean(multiPackIndex)\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tfsmonitor: isFsmonitorEnabled(map.get('core.fsmonitor')),\n\t\t\tuntrackedCache: parseGitBoolean(map.get('core.untrackedcache')),\n\t\t\tuntrackedCacheConfigured: map.has('core.untrackedcache'),\n\t\t\tmanyFiles: parseGitBoolean(map.get('feature.manyfiles')),\n\t\t\t// Explicitly-false only — an unset key means git reads the cache (the default). Surfaced so the\n\t\t\t// Health view can't claim the commit-graph is \"maintained by GitLens\" when `ensureCommitGraph`\n\t\t\t// honors this same setting as a write opt-out.\n\t\t\tcommitGraphReadDisabled:\n\t\t\t\tmap.has('core.commitgraph') && isGitBooleanFalse(map.get('core.commitgraph') ?? ''),\n\t\t\tmultiPackIndexEnabled: multiPackIndexEnabled,\n\t\t\tincrementalRepackAutoThreshold: incrementalRepackAutoThreshold,\n\t\t\trefFormat:\n\t\t\t\tmap.get('extensions.refstorage') == null\n\t\t\t\t\t? 'files'\n\t\t\t\t\t: map.get('extensions.refstorage') === 'reftable'\n\t\t\t\t\t\t? 'reftable'\n\t\t\t\t\t\t: 'unknown',\n\t\t\tsparseCheckout: parseGitBoolean(map.get('core.sparsecheckout')),\n\t\t\tsparseCheckoutCone: parseGitBoolean(map.get('core.sparsecheckoutcone')),\n\t\t\tsparseIndex: parseGitBoolean(map.get('index.sparse')),\n\t\t\tsplitIndex: parseGitBoolean(map.get('core.splitindex')),\n\t\t};\n\t}\n\n\t// The registered-repo list is process-global git state — cache it briefly (invalidated on\n\t// register/unregister) so N repos probed together read it with one subprocess, not N.\n\tprivate _registeredMaintenanceRepos: { at: number; paths: string[] } | undefined;\n\n\t/** The global `maintenance.repo` list. Throws rather than reporting an unreadable list as \"none\". */\n\tprivate async readRegisteredMaintenancePaths(repoPath: string, cancellation?: AbortSignal): Promise<string[]> {\n\t\tconst cached = this._registeredMaintenanceRepos;\n\t\tif (cached != null && Date.now() - cached.at <= registeredMaintenanceReposTtlMs) return cached.paths;\n\n\t\tconst result = await this.runQuietly(\n\t\t\trepoPath,\n\t\t\tcancellation,\n\t\t\t'config',\n\t\t\t'--global',\n\t\t\t'--get-all',\n\t\t\t'maintenance.repo',\n\t\t);\n\t\t// An aborted or unreadable list resolves EMPTY under `errors: 'ignore'`. Reading that as \"nothing is\n\t\t// registered\" would both cache a lie and let a revert clear ownership for a still-registered repo.\n\t\t// Exit 1 is git's \"key not set\" — a genuinely empty list.\n\t\tthis.throwIfDidNotComplete(result, cancellation);\n\t\tif (result.exitCode !== 0 && result.exitCode !== gitConfigGetMissingExitCode) {\n\t\t\tthrow new Error(\n\t\t\t\tl10n.t('Unable to read registered maintenance repos (git exited {0})', String(result.exitCode)),\n\t\t\t);\n\t\t}\n\n\t\tconst paths = result.stdout\n\t\t\t.split('\\n')\n\t\t\t.map(line => line.trim())\n\t\t\t.filter(line => line !== '');\n\t\tthis._registeredMaintenanceRepos = { at: Date.now(), paths: paths };\n\t\treturn paths;\n\t}\n\n\t/**\n\t * `git maintenance register` stores the symlink-RESOLVED worktree path, while GitLens deliberately keeps\n\t * the symlinked path as the repo path — so match against both spellings.\n\t */\n\tprivate async matchesRegistered(registered: readonly string[], paths: readonly string[]): Promise<boolean> {\n\t\tif (!registered.length) return false;\n\n\t\tconst candidates = await this.resolveRegistrationCandidates(paths);\n\t\tfor (const line of registered) {\n\t\t\tfor (const candidate of candidates) {\n\t\t\t\tif (arePathsEqual(line, candidate)) return true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/** Each path plus its symlink-resolved spelling — `maintenance register` stores the resolved one. */\n\tprivate async resolveRegistrationCandidates(paths: readonly string[]): Promise<string[]> {\n\t\tconst candidates = new Set(paths);\n\t\tfor (const path of paths) {\n\t\t\tconst real = await realpath(path).catch(() => undefined);\n\t\t\tif (real != null) {\n\t\t\t\tcandidates.add(real);\n\t\t\t}\n\t\t}\n\t\treturn [...candidates];\n\t}\n\n\t/**\n\t * Whether ANY worktree of this repo family is registered — the DETECTION question (\"should we suggest\n\t * this?\"). Family-wide, because a sibling the user registered already covers the shared object database,\n\t * and suggesting it again would leave two scheduled entries for one repo.\n\t */\n\tprivate async isMaintenanceRegistered(repoPath: string, cancellation?: AbortSignal): Promise<boolean> {\n\t\tconst registered = await this.readRegisteredMaintenancePaths(repoPath, cancellation);\n\t\treturn this.matchesRegistered(registered, await this.resolveWorktreePaths(repoPath, cancellation));\n\t}\n\n\t/**\n\t * Whether ONE specific path is registered — the OWNERSHIP question (\"did our unregister take?\"). Never\n\t * ask this family-wide: a sibling the user registered is theirs, and it would block undo forever.\n\t */\n\tprivate async isPathRegistered(repoPath: string, path: string, cancellation?: AbortSignal): Promise<boolean> {\n\t\tconst registered = await this.readRegisteredMaintenancePaths(repoPath, cancellation);\n\t\treturn this.matchesRegistered(registered, [path]);\n\t}\n\n\t// Cached briefly rather than for the session: a worktree added or removed mid-session must become visible\n\t// to family detection, else a sibling the user registers afterwards is never seen and the repo gets\n\t// re-suggested for maintenance it already has. The TTL keeps it off the per-probe hot path.\n\tprivate readonly _worktreePaths = new Map<string, { at: number; paths: string[] }>();\n\n\t/**\n\t * Every worktree path of this repo, MAIN FIRST — git's `worktree list` order, which holds regardless of\n\t * which worktree it runs from, and lists the repo itself for a bare one.\n\t *\n\t * `git maintenance register` records the CURRENT worktree's path, so a repo family can accumulate\n\t * several `maintenance.repo` entries — several scheduled runs over a single shared object database —\n\t * while the `gk.applied.*` ownership marker lives in the shared common git dir and can only describe\n\t * one of them. GitLens therefore REGISTERS the main worktree ({@link resolveMaintenanceRepoPath}) but\n\t * DETECTS across the whole family, so a registration the user made from a sibling isn't missed.\n\t */\n\tprivate async resolveWorktreePaths(repoPath: string, cancellation?: AbortSignal): Promise<string[]> {\n\t\t// Keyed by the COMMON path: the worktree list is identical for every sibling of a repo family, so a\n\t\t// per-worktree key would spawn one `worktree list` per open sibling instead of one per family.\n\t\tconst cacheKey = this.cache.getCommonPath(repoPath);\n\t\tconst cached = this._worktreePaths.get(cacheKey);\n\t\tif (cached != null && Date.now() - cached.at <= worktreePathsTtlMs) return cached.paths;\n\n\t\tconst result = await this.runQuietly(repoPath, cancellation, 'worktree', 'list', '--porcelain');\n\t\t// Fall back to the repo path (today's behavior) rather than caching a cancelled or failed read.\n\t\tif (result.completion.status !== 'exited' || result.exitCode !== 0 || cancellation?.aborted === true) {\n\t\t\treturn [repoPath];\n\t\t}\n\n\t\tconst paths = result.stdout\n\t\t\t.split('\\n')\n\t\t\t.filter(l => l.startsWith('worktree '))\n\t\t\t.map(l => l.slice('worktree '.length).trim())\n\t\t\t.filter(l => l !== '');\n\t\tif (!paths.length) return [repoPath];\n\n\t\tthis._worktreePaths.set(cacheKey, { at: Date.now(), paths: paths });\n\t\treturn paths;\n\t}\n\n\t/** The path GitLens registers for background maintenance: the repo's MAIN worktree. */\n\tprivate async resolveMaintenanceRepoPath(repoPath: string, cancellation?: AbortSignal): Promise<string> {\n\t\treturn (await this.resolveWorktreePaths(repoPath, cancellation))[0];\n\t}\n\n\tprivate async probeCommitGraph(objectsDir: string): Promise<{ present: boolean; mtime: number | undefined }> {\n\t\tconst infoDir = joinPaths(objectsDir, 'info');\n\t\t// A repo may have a single `commit-graph` file OR a split `commit-graphs/` chain dir — either counts.\n\t\tconst [single, split] = await Promise.allSettled([\n\t\t\tthis.statMtime(joinPaths(infoDir, 'commit-graph')),\n\t\t\tthis.statMtime(joinPaths(infoDir, 'commit-graphs')),\n\t\t]);\n\n\t\tconst mtime = getSettledValue(single) ?? getSettledValue(split);\n\t\treturn { present: mtime != null, mtime: mtime };\n\t}\n\n\t/**\n\t * Whether the NEWEST commit-graph layer carries changed-path Bloom filters (the `BIDX` chunk). Only the\n\t * newest layer matters here — `--changed-paths` computes filters for the just-written batch, so an older\n\t * base layer written without them says nothing about current coverage. Reads only the header + chunk\n\t * lookup table (a handful of bytes), never the graph body. Never throws — any failure (missing file, a\n\t * malformed chain, a truncated read) reads as \"no filters\", matching every other probe in this file.\n\t */\n\tprivate async probeChangedPathFilters(objectsDir: string): Promise<boolean> {\n\t\ttry {\n\t\t\tconst infoDir = joinPaths(objectsDir, 'info');\n\t\t\tconst graphPath = await this.resolveNewestCommitGraphLayer(infoDir);\n\t\t\treturn await this.hasBloomFilterChunk(graphPath);\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/** The newest graph layer's file path: the chain's last-listed layer when split, else the single file. */\n\tprivate async resolveNewestCommitGraphLayer(infoDir: string): Promise<string> {\n\t\tconst chainPath = joinPaths(infoDir, 'commit-graphs', 'commit-graph-chain');\n\t\ttry {\n\t\t\tconst chain = await readFile(chainPath, 'utf8');\n\t\t\tconst hashes = chain\n\t\t\t\t.split('\\n')\n\t\t\t\t.map(line => line.trim())\n\t\t\t\t.filter(line => line !== '');\n\t\t\tif (hashes.length) {\n\t\t\t\treturn joinPaths(infoDir, 'commit-graphs', `graph-${hashes.at(-1)!}.graph`);\n\t\t\t}\n\t\t} catch {\n\t\t\t// No chain (or unreadable) — fall through to the single-file layout.\n\t\t}\n\n\t\treturn joinPaths(infoDir, 'commit-graph');\n\t}\n\n\t/**\n\t * Reads a commit-graph file's fixed 8-byte header (`CGPH` magic, version, hash version, chunk count,\n\t * base-graph count) plus the chunk lookup table (`(chunkCount + 1)` entries of 4-byte id + 8-byte\n\t * big-endian offset), and reports whether a `BIDX` (Bloom-filter-index) chunk id is present. Bounded to\n\t * the header + table only — never reads the graph body.\n\t */\n\tprivate async hasBloomFilterChunk(graphPath: string): Promise<boolean> {\n\t\tlet handle;\n\t\ttry {\n\t\t\thandle = await open(graphPath, 'r');\n\n\t\t\tconst header = Buffer.alloc(8);\n\t\t\tconst { bytesRead: headerBytesRead } = await handle.read(header, 0, 8, 0);\n\t\t\tif (headerBytesRead < 8 || header.toString('ascii', 0, 4) !== 'CGPH') return false;\n\n\t\t\tconst chunkCount = header.readUInt8(6);\n\t\t\tconst tableLength = (chunkCount + 1) * 12;\n\t\t\tconst table = Buffer.alloc(tableLength);\n\t\t\tconst { bytesRead: tableBytesRead } = await handle.read(table, 0, tableLength, 8);\n\t\t\tif (tableBytesRead < tableLength) return false;\n\n\t\t\tfor (let i = 0; i <= chunkCount; i++) {\n\t\t\t\tconst offset = i * 12;\n\t\t\t\tif (table.toString('ascii', offset, offset + 4) === 'BIDX') return true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} finally {\n\t\t\tawait handle?.close().catch(() => {});\n\t\t}\n\t}\n\n\t/**\n\t * Reads the pack names represented by the active classic or incremental MIDX. A classic MIDX wins when\n\t * both layouts exist, matching Git's own lookup order. Malformed metadata is reported as unknown instead\n\t * of treating every pack as uncovered and silently launching repair work.\n\t */\n\tprivate async probeMultiPackIndex(\n\t\tpackDir: string,\n\t): Promise<{ present: boolean; packNames: ReadonlySet<string> | undefined }> {\n\t\tconst classicPath = joinPaths(packDir, 'multi-pack-index');\n\t\ttry {\n\t\t\tconst packNames = await this.readMultiPackIndexPackNames(classicPath);\n\t\t\treturn { present: true, packNames: packNames };\n\t\t} catch (ex) {\n\t\t\tif ((ex as { code?: unknown }).code !== 'ENOENT') return { present: true, packNames: undefined };\n\t\t}\n\n\t\tconst chainDir = joinPaths(packDir, 'multi-pack-index.d');\n\t\tconst chainPath = joinPaths(chainDir, 'multi-pack-index-chain');\n\t\tlet chain: string;\n\t\ttry {\n\t\t\tif ((await stat(chainPath)).size > maxMultiPackIndexChainBytes) {\n\t\t\t\treturn { present: true, packNames: undefined };\n\t\t\t}\n\n\t\t\tchain = await readFile(chainPath, 'utf8');\n\t\t} catch (ex) {\n\t\t\treturn (ex as { code?: unknown }).code === 'ENOENT'\n\t\t\t\t? { present: false, packNames: new Set() }\n\t\t\t\t: { present: true, packNames: undefined };\n\t\t}\n\n\t\tconst hashes = chain\n\t\t\t.split('\\n')\n\t\t\t.map(line => line.trim())\n\t\t\t.filter(Boolean);\n\t\tif (hashes.length === 0 || hashes.some(hash => !/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/.test(hash))) {\n\t\t\treturn { present: true, packNames: undefined };\n\t\t}\n\n\t\tconst layers = await Promise.allSettled(\n\t\t\thashes.map(hash => this.readMultiPackIndexPackNames(joinPaths(chainDir, `multi-pack-index-${hash}.midx`))),\n\t\t);\n\t\tif (layers.some(layer => layer.status === 'rejected')) return { present: true, packNames: undefined };\n\n\t\tconst packNames = new Set<string>();\n\t\tfor (const layer of layers) {\n\t\t\tif (layer.status !== 'fulfilled') continue;\n\n\t\t\tfor (const name of layer.value) {\n\t\t\t\tpackNames.add(name);\n\t\t\t}\n\t\t}\n\t\treturn { present: true, packNames: packNames };\n\t}\n\n\t/** Reads and validates the `PNAM` chunk of one MIDX file. */\n\tprivate async readMultiPackIndexPackNames(path: string): Promise<ReadonlySet<string>> {\n\t\tlet handle: FileHandle | undefined;\n\t\ttry {\n\t\t\thandle = await open(path, 'r');\n\t\t\tconst header = Buffer.alloc(12);\n\t\t\tconst { bytesRead } = await handle.read(header, 0, header.length, 0);\n\t\t\tif (bytesRead < header.length || header.toString('ascii', 0, 4) !== 'MIDX') {\n\t\t\t\tthrow new Error(l10n.t('Invalid multi-pack-index header'));\n\t\t\t}\n\n\t\t\tconst chunkCount = header.readUInt8(6);\n\t\t\tconst expectedPackCount = header.readUInt32BE(8);\n\t\t\tconst tableLength = (chunkCount + 1) * 12;\n\t\t\tconst table = Buffer.alloc(tableLength);\n\t\t\tconst { bytesRead: tableBytesRead } = await handle.read(table, 0, tableLength, header.length);\n\t\t\tif (tableBytesRead < tableLength) throw new Error(l10n.t('Invalid multi-pack-index chunk table'));\n\n\t\t\tlet namesStart: number | undefined;\n\t\t\tconst chunkOffsets: number[] = [];\n\t\t\tfor (let i = 0; i <= chunkCount; i++) {\n\t\t\t\tconst offset = i * 12;\n\t\t\t\tconst chunkOffset = Number(table.readBigUInt64BE(offset + 4));\n\t\t\t\tif (!Number.isSafeInteger(chunkOffset)) {\n\t\t\t\t\tthrow new Error(l10n.t('Invalid multi-pack-index chunk offset'));\n\t\t\t\t}\n\n\t\t\t\tchunkOffsets.push(chunkOffset);\n\t\t\t\tif (table.toString('ascii', offset, offset + 4) === 'PNAM') {\n\t\t\t\t\tnamesStart = chunkOffset;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (namesStart == null) throw new Error(l10n.t('Multi-pack-index is missing its pack-name chunk'));\n\n\t\t\tconst namesEnd = Math.min(...chunkOffsets.filter(offset => offset > namesStart));\n\t\t\tconst namesLength = namesEnd - namesStart;\n\t\t\tif (!Number.isSafeInteger(namesEnd) || namesLength < 0 || namesLength > maxMultiPackIndexChunkBytes) {\n\t\t\t\tthrow new Error(l10n.t('Invalid multi-pack-index pack-name chunk'));\n\t\t\t}\n\n\t\t\tconst namesChunk = Buffer.alloc(namesLength);\n\t\t\tconst { bytesRead: namesBytesRead } = await handle.read(namesChunk, 0, namesLength, namesStart);\n\t\t\tif (namesBytesRead < namesLength) throw new Error(l10n.t('Short multi-pack-index pack-name chunk'));\n\n\t\t\tconst names = namesChunk\n\t\t\t\t.toString('utf8')\n\t\t\t\t.split('\\0')\n\t\t\t\t.filter(name => /^pack-(?:[0-9a-f]{40}|[0-9a-f]{64})\\.idx$/.test(name))\n\t\t\t\t.map(name => `${name.slice(0, -4)}.pack`);\n\t\t\tif (names.length !== expectedPackCount || new Set(names).size !== names.length) {\n\t\t\t\tthrow new Error(l10n.t('Multi-pack-index pack-name count does not match its header'));\n\t\t\t}\n\n\t\t\treturn new Set(names);\n\t\t} finally {\n\t\t\tawait handle?.close().catch(() => {});\n\t\t}\n\t}\n\n\tprivate async probePacks(objectsDir: string): Promise<{ names: string[]; bytes: number }> {\n\t\tconst packDir = joinPaths(objectsDir, 'pack');\n\t\tlet entries: string[];\n\t\ttry {\n\t\t\tentries = await readdir(packDir);\n\t\t} catch (ex) {\n\t\t\tif ((ex as { code?: unknown }).code === 'ENOENT') return { names: [], bytes: 0 };\n\n\t\t\tthrow ex;\n\t\t}\n\n\t\tconst packFiles = entries.filter(name => name.endsWith('.pack'));\n\t\tconst sizes = await Promise.allSettled(packFiles.map(name => this.fileBytes(joinPaths(packDir, name))));\n\t\tconst bytes = sizes.reduce((sum, r) => sum + (getSettledValue(r) ?? 0), 0);\n\n\t\treturn { names: packFiles, bytes: bytes };\n\t}\n\n\tprivate async sampleLooseObjects(\n\t\tobjectsDir: string,\n\t): Promise<{ objectsInSampledDirs: number; dirsSampled: number }> {\n\t\tconst counts = await Promise.allSettled(\n\t\t\tlooseObjectSampleDirs.map(async dir => {\n\t\t\t\ttry {\n\t\t\t\t\treturn (await readdir(joinPaths(objectsDir, dir))).length;\n\t\t\t\t} catch {\n\t\t\t\t\t// A missing fanout dir means ~no objects with that prefix — count it as 0, not skipped.\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\n\t\tconst objectsInSampledDirs = counts.reduce((sum, r) => sum + (getSettledValue(r) ?? 0), 0);\n\t\treturn { objectsInSampledDirs: objectsInSampledDirs, dirsSampled: looseObjectSampleDirs.length };\n\t}\n\n\t/**\n\t * Counts loose refs without traversing past the point where the recommendation decision is already made.\n\t * `readDirectory` is a test seam for deterministic ref-layout races between parent and child reads.\n\t */\n\tprivate async probeLooseRefs(\n\t\trefsDir: string,\n\t\treadDirectory: (dir: string) => Promise<Dirent[]> = dir => readdir(dir, { withFileTypes: true }),\n\t): Promise<{ count: number; exact: boolean }> {\n\t\tconst pending = [refsDir];\n\t\tlet count = 0;\n\t\twhile (pending.length !== 0) {\n\t\t\tconst dir = pending.pop()!;\n\t\t\tlet entries: Dirent[];\n\t\t\ttry {\n\t\t\t\tentries = await readDirectory(dir);\n\t\t\t} catch (ex) {\n\t\t\t\tconst code = (ex as { code?: unknown }).code;\n\t\t\t\tif (code === 'ENOENT' || (dir !== refsDir && code === 'ENOTDIR')) {\n\t\t\t\t\tif (dir === refsDir) return { count: 0, exact: true };\n\n\t\t\t\t\t// Ref updates can remove a child directory or replace it with a same-named ref after its\n\t\t\t\t\t// parent was listed. It contributes no child refs now, so continue the bounded walk.\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tthrow ex;\n\t\t\t}\n\n\t\t\tfor (const entry of entries) {\n\t\t\t\tif (entry.isDirectory()) {\n\t\t\t\t\tpending.push(joinPaths(dir, entry.name));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\t// Lock files are transient coordination state, not refs `pack-refs` can optimize.\n\t\t\t\tif (entry.name.endsWith('.lock')) continue;\n\n\t\t\t\tcount++;\n\t\t\t\tif (count >= looseRefProbeLimit) return { count: count, exact: false };\n\t\t\t}\n\t\t}\n\n\t\treturn { count: count, exact: true };\n\t}\n\n\tprivate async statMtime(path: string): Promise<number | undefined> {\n\t\ttry {\n\t\t\treturn (await stat(path)).mtimeMs;\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\t/** Presence probe that distinguishes a missing path from an unreadable one. */\n\tprivate async probePathPresence(path: string): Promise<boolean> {\n\t\ttry {\n\t\t\tawait stat(path);\n\t\t\treturn true;\n\t\t} catch (ex) {\n\t\t\tif ((ex as { code?: unknown }).code === 'ENOENT') return false;\n\n\t\t\tthrow ex;\n\t\t}\n\t}\n\n\tprivate async fileBytes(path: string): Promise<number> {\n\t\ttry {\n\t\t\treturn (await stat(path)).size;\n\t\t} catch {\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\t/**\n\t * Reads the index entry count straight from the index header — `DIRC` signature, version, entry count,\n\t * all big-endian, the first 12 bytes of `.git/index` — for free, no `git` invocation needed.\n\t * `undefined` on any failure (missing index, short read, wrong signature): never a guess, never a throw.\n\t */\n\tprivate async probeIndexEntryCount(indexPath: string): Promise<number | undefined> {\n\t\tlet handle;\n\t\ttry {\n\t\t\thandle = await open(indexPath, 'r');\n\t\t\tconst header = Buffer.alloc(12);\n\t\t\tconst { bytesRead } = await handle.read(header, 0, 12, 0);\n\t\t\tif (bytesRead < 12 || header.toString('ascii', 0, 4) !== 'DIRC') return undefined;\n\n\t\t\treturn header.readUInt32BE(8);\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t} finally {\n\t\t\tawait handle?.close().catch(() => {});\n\t\t}\n\t}\n\n\t/**\n\t * Conservative split-index detection without spawning git or scanning index bodies. A shared-index file\n\t * proves this worktree uses split indexes; its largest base file is included in the byte-size proxy. Stale\n\t * bases can only make that explicitly-approximate signal larger.\n\t */\n\tprivate async probeSharedIndex(gitDir: string): Promise<{ present: boolean; bytes: number } | undefined> {\n\t\ttry {\n\t\t\tconst names = (await readdir(gitDir)).filter(name => name.startsWith('sharedindex.'));\n\t\t\tconst sizes = await Promise.all(names.map(name => this.fileBytes(joinPaths(gitDir, name))));\n\t\t\treturn { present: names.length > 0, bytes: Math.max(0, ...sizes) };\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Conflict stages duplicate paths in the header count. Operation-state files conservatively suppress the\n\t * exact claim without an unconditional `ls-files --unmerged` index scan on every staging event.\n\t */\n\tprivate async probeConflictOperation(gitDir: string): Promise<boolean> {\n\t\tconst states = await Promise.all([\n\t\t\tfsExists(joinPaths(gitDir, 'MERGE_HEAD')),\n\t\t\tfsExists(joinPaths(gitDir, 'CHERRY_PICK_HEAD')),\n\t\t\tfsExists(joinPaths(gitDir, 'REVERT_HEAD')),\n\t\t\tfsExists(joinPaths(gitDir, 'rebase-merge')),\n\t\t\tfsExists(joinPaths(gitDir, 'rebase-apply')),\n\t\t]);\n\t\treturn states.some(Boolean);\n\t}\n}\n"],"mappings":"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"}
|