@gitkraken/core-gitlens 0.2.0 → 0.3.1
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 +11 -1
- package/dist/git/cache.d.ts +38 -8
- package/dist/git/cache.d.ts.map +1 -1
- package/dist/git/cache.js +120 -55
- package/dist/git/cache.js.map +1 -1
- package/dist/git/context.d.ts +19 -0
- package/dist/git/context.d.ts.map +1 -1
- package/dist/git/context.js.map +1 -1
- package/dist/git/features.d.ts +1 -1
- package/dist/git/features.d.ts.map +1 -1
- package/dist/git/features.js +1 -0
- package/dist/git/features.js.map +1 -1
- package/dist/git/models/commit.d.ts.map +1 -1
- package/dist/git/models/commit.js.map +1 -1
- package/dist/git/models/graph.d.ts +96 -0
- package/dist/git/models/graph.d.ts.map +1 -1
- package/dist/git/models/graph.js +24 -1
- package/dist/git/models/graph.js.map +1 -1
- package/dist/git/models/reference.d.ts +31 -0
- package/dist/git/models/reference.d.ts.map +1 -1
- package/dist/git/models/remote.d.ts.map +1 -1
- package/dist/git/models/remote.js.map +1 -1
- package/dist/git/models/remoteProvider.d.ts +1 -0
- package/dist/git/models/remoteProvider.d.ts.map +1 -1
- package/dist/git/models/remoteProvider.js.map +1 -1
- package/dist/git/models/repository.d.ts +30 -13
- package/dist/git/models/repository.d.ts.map +1 -1
- package/dist/git/models/repository.js +89 -87
- package/dist/git/models/repository.js.map +1 -1
- package/dist/git/models/search.d.ts +2 -2
- package/dist/git/models/search.d.ts.map +1 -1
- package/dist/git/models/statusFile.d.ts +9 -0
- package/dist/git/models/statusFile.d.ts.map +1 -1
- package/dist/git/models/statusFile.js +11 -0
- package/dist/git/models/statusFile.js.map +1 -1
- package/dist/git/models/worktree.d.ts +4 -1
- package/dist/git/models/worktree.d.ts.map +1 -1
- package/dist/git/models/worktree.js +2 -2
- package/dist/git/models/worktree.js.map +1 -1
- package/dist/git/parsers/diffParser.d.ts.map +1 -1
- package/dist/git/parsers/diffParser.js.map +1 -1
- package/dist/git/providers/branches.d.ts +15 -4
- package/dist/git/providers/branches.d.ts.map +1 -1
- package/dist/git/providers/commits.d.ts +4 -0
- package/dist/git/providers/commits.d.ts.map +1 -1
- package/dist/git/providers/config.d.ts +5 -4
- package/dist/git/providers/config.d.ts.map +1 -1
- package/dist/git/providers/operations.d.ts +61 -12
- package/dist/git/providers/operations.d.ts.map +1 -1
- package/dist/git/providers/pausedOperations.d.ts +3 -1
- package/dist/git/providers/pausedOperations.d.ts.map +1 -1
- package/dist/git/providers/refs.d.ts +23 -2
- package/dist/git/providers/refs.d.ts.map +1 -1
- package/dist/git/providers/staging.d.ts +16 -0
- package/dist/git/providers/staging.d.ts.map +1 -1
- package/dist/git/providers/status.d.ts +4 -1
- package/dist/git/providers/status.d.ts.map +1 -1
- package/dist/git/remotes/azure-devops.d.ts.map +1 -1
- package/dist/git/remotes/azure-devops.js.map +1 -1
- package/dist/git/remotes/custom.d.ts +2 -0
- package/dist/git/remotes/custom.d.ts.map +1 -1
- package/dist/git/remotes/custom.js +20 -0
- package/dist/git/remotes/custom.js.map +1 -1
- package/dist/git/{exec.types.d.ts → run.types.d.ts} +22 -3
- package/dist/git/run.types.d.ts.map +1 -0
- package/dist/git/run.types.js +2 -0
- package/dist/git/run.types.js.map +1 -0
- package/dist/git/service.d.ts.map +1 -1
- package/dist/git/service.js.map +1 -1
- package/dist/git/utils/autolink.utils.d.ts.map +1 -1
- package/dist/git/utils/autolink.utils.js.map +1 -1
- package/dist/git/utils/blame.utils.d.ts.map +1 -1
- package/dist/git/utils/blame.utils.js.map +1 -1
- package/dist/git/utils/conflictResolution.utils.d.ts +6 -0
- package/dist/git/utils/conflictResolution.utils.d.ts.map +1 -0
- package/dist/git/utils/conflictResolution.utils.js +25 -0
- package/dist/git/utils/conflictResolution.utils.js.map +1 -0
- package/dist/git/utils/contributor.utils.d.ts +3 -0
- package/dist/git/utils/contributor.utils.d.ts.map +1 -1
- package/dist/git/utils/contributor.utils.js +22 -0
- package/dist/git/utils/contributor.utils.js.map +1 -1
- package/dist/git/utils/fileStatus.utils.d.ts +2 -1
- package/dist/git/utils/fileStatus.utils.d.ts.map +1 -1
- package/dist/git/utils/fileStatus.utils.js +4 -0
- package/dist/git/utils/fileStatus.utils.js.map +1 -1
- package/dist/git/utils/reachability.utils.d.ts +37 -0
- package/dist/git/utils/reachability.utils.d.ts.map +1 -0
- package/dist/git/utils/reachability.utils.js +96 -0
- package/dist/git/utils/reachability.utils.js.map +1 -0
- package/dist/git/utils/search.utils.d.ts.map +1 -1
- package/dist/git/utils/search.utils.js +3 -0
- package/dist/git/utils/search.utils.js.map +1 -1
- package/dist/git/utils/sorting.d.ts +8 -0
- package/dist/git/utils/sorting.d.ts.map +1 -1
- package/dist/git/utils/sorting.js +15 -0
- package/dist/git/utils/sorting.js.map +1 -1
- package/dist/git/utils/status.utils.d.ts.map +1 -1
- package/dist/git/utils/status.utils.js.map +1 -1
- package/dist/git/watching/classifyChange.d.ts.map +1 -1
- package/dist/git/watching/classifyChange.js +8 -0
- package/dist/git/watching/classifyChange.js.map +1 -1
- package/dist/git/watching/gitIgnoreFilter.js +1 -1
- package/dist/git/watching/gitIgnoreFilter.js.map +1 -1
- package/dist/git/watching/initWatcher.d.ts.map +1 -1
- package/dist/git/watching/initWatcher.js.map +1 -1
- package/dist/git/watching/watchGroup.d.ts.map +1 -1
- package/dist/git/watching/watchGroup.js.map +1 -1
- package/dist/git/watching/watchService.d.ts +4 -2
- package/dist/git/watching/watchService.d.ts.map +1 -1
- package/dist/git/watching/watchService.js +31 -6
- package/dist/git/watching/watchService.js.map +1 -1
- package/dist/git/watching/watchSession.d.ts +14 -12
- package/dist/git/watching/watchSession.d.ts.map +1 -1
- package/dist/git/watching/watchSession.js +56 -55
- package/dist/git/watching/watchSession.js.map +1 -1
- package/dist/git-cli/exec/exec.types.d.ts +1 -1
- package/dist/git-cli/exec/exec.types.d.ts.map +1 -1
- package/dist/git-cli/exec/git.d.ts +3 -3
- package/dist/git-cli/exec/git.d.ts.map +1 -1
- package/dist/git-cli/exec/git.js.map +1 -1
- package/dist/git-cli/exec/gitQueue.d.ts +10 -2
- package/dist/git-cli/exec/gitQueue.d.ts.map +1 -1
- package/dist/git-cli/exec/gitQueue.js +39 -12
- package/dist/git-cli/exec/gitQueue.js.map +1 -1
- package/dist/git-cli/parsers/blameParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/blameParser.js.map +1 -1
- package/dist/git-cli/parsers/logParser.js.map +1 -1
- package/dist/git-cli/parsers/refParser.d.ts +3 -30
- package/dist/git-cli/parsers/refParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/refParser.js +30 -30
- package/dist/git-cli/parsers/refParser.js.map +1 -1
- package/dist/git-cli/providers/blame.d.ts.map +1 -1
- package/dist/git-cli/providers/blame.js.map +1 -1
- package/dist/git-cli/providers/branches.d.ts +15 -5
- package/dist/git-cli/providers/branches.d.ts.map +1 -1
- package/dist/git-cli/providers/branches.js +99 -68
- package/dist/git-cli/providers/branches.js.map +1 -1
- package/dist/git-cli/providers/commits.d.ts +1 -0
- package/dist/git-cli/providers/commits.d.ts.map +1 -1
- package/dist/git-cli/providers/commits.js +86 -30
- package/dist/git-cli/providers/commits.js.map +1 -1
- package/dist/git-cli/providers/config.d.ts +19 -6
- package/dist/git-cli/providers/config.d.ts.map +1 -1
- package/dist/git-cli/providers/config.js +86 -38
- package/dist/git-cli/providers/config.js.map +1 -1
- package/dist/git-cli/providers/diff.d.ts.map +1 -1
- package/dist/git-cli/providers/diff.js +5 -3
- package/dist/git-cli/providers/diff.js.map +1 -1
- package/dist/git-cli/providers/graph.d.ts.map +1 -1
- package/dist/git-cli/providers/graph.js +139 -16
- package/dist/git-cli/providers/graph.js.map +1 -1
- package/dist/git-cli/providers/operations.d.ts +17 -14
- package/dist/git-cli/providers/operations.d.ts.map +1 -1
- package/dist/git-cli/providers/operations.js +135 -63
- package/dist/git-cli/providers/operations.js.map +1 -1
- package/dist/git-cli/providers/patch.d.ts.map +1 -1
- package/dist/git-cli/providers/patch.js.map +1 -1
- package/dist/git-cli/providers/pausedOperations.d.ts +3 -1
- package/dist/git-cli/providers/pausedOperations.d.ts.map +1 -1
- package/dist/git-cli/providers/pausedOperations.js +7 -1
- package/dist/git-cli/providers/pausedOperations.js.map +1 -1
- package/dist/git-cli/providers/refs.d.ts +19 -2
- package/dist/git-cli/providers/refs.d.ts.map +1 -1
- package/dist/git-cli/providers/refs.js +286 -2
- package/dist/git-cli/providers/refs.js.map +1 -1
- package/dist/git-cli/providers/revision.js.map +1 -1
- package/dist/git-cli/providers/staging.d.ts +6 -0
- package/dist/git-cli/providers/staging.d.ts.map +1 -1
- package/dist/git-cli/providers/staging.js +32 -0
- package/dist/git-cli/providers/staging.js.map +1 -1
- package/dist/git-cli/providers/stash.d.ts.map +1 -1
- package/dist/git-cli/providers/stash.js +20 -2
- package/dist/git-cli/providers/stash.js.map +1 -1
- package/dist/git-cli/providers/status.d.ts +4 -1
- package/dist/git-cli/providers/status.d.ts.map +1 -1
- package/dist/git-cli/providers/status.js +8 -4
- package/dist/git-cli/providers/status.js.map +1 -1
- package/dist/git-cli/providers/tags.d.ts.map +1 -1
- package/dist/git-cli/providers/tags.js +10 -6
- package/dist/git-cli/providers/tags.js.map +1 -1
- package/dist/ipc/discovery.d.ts +49 -0
- package/dist/ipc/discovery.d.ts.map +1 -0
- package/dist/ipc/discovery.js +147 -0
- package/dist/ipc/discovery.js.map +1 -0
- package/dist/ipc/ipcServer.d.ts +20 -0
- package/dist/ipc/ipcServer.d.ts.map +1 -0
- package/dist/ipc/ipcServer.js +162 -0
- package/dist/ipc/ipcServer.js.map +1 -0
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts +167 -0
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +1 -0
- package/dist/plus/agents/providers/claudeCodeProvider.js +1786 -0
- package/dist/plus/agents/providers/claudeCodeProvider.js.map +1 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts +36 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts.map +1 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.js +171 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -0
- package/dist/plus/agents/sanitizePrompt.d.ts +15 -0
- package/dist/plus/agents/sanitizePrompt.d.ts.map +1 -0
- package/dist/plus/agents/sanitizePrompt.js +103 -0
- package/dist/plus/agents/sanitizePrompt.js.map +1 -0
- package/dist/plus/agents/stateMachine.d.ts +32 -0
- package/dist/plus/agents/stateMachine.d.ts.map +1 -0
- package/dist/plus/agents/stateMachine.js +180 -0
- package/dist/plus/agents/stateMachine.js.map +1 -0
- package/dist/plus/agents/types.d.ts +254 -0
- package/dist/plus/agents/types.d.ts.map +1 -0
- package/dist/plus/agents/types.js +49 -0
- package/dist/plus/agents/types.js.map +1 -0
- package/dist/plus/ai/errors.d.ts +4 -1
- package/dist/plus/ai/errors.d.ts.map +1 -1
- package/dist/plus/ai/errors.js +38 -0
- package/dist/plus/ai/errors.js.map +1 -1
- package/dist/plus/ai/models/model.d.ts +1 -1
- package/dist/plus/ai/models/model.d.ts.map +1 -1
- package/dist/plus/ai/models/model.js.map +1 -1
- package/dist/plus/ai/models/promptTemplates.d.ts +11 -2
- package/dist/plus/ai/models/promptTemplates.d.ts.map +1 -1
- package/dist/plus/ai/models/provider.d.ts +3 -0
- package/dist/plus/ai/models/provider.d.ts.map +1 -1
- package/dist/plus/ai/prompts.d.ts +1 -0
- package/dist/plus/ai/prompts.d.ts.map +1 -1
- package/dist/plus/ai/prompts.js +48 -8
- package/dist/plus/ai/prompts.js.map +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.d.ts +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.js +4 -1
- package/dist/plus/ai/providers/gitkrakenProvider.js.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts +4 -3
- package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.js +9 -6
- package/dist/plus/ai/providers/openAICompatibleProviderBase.js.map +1 -1
- package/dist/plus/ai/utils/ai.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/ai.utils.js +2 -0
- package/dist/plus/ai/utils/ai.utils.js.map +1 -1
- package/dist/plus/ai/utils/results.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/results.utils.js.map +1 -1
- package/dist/plus/git-github/api/github.d.ts +12 -1
- package/dist/plus/git-github/api/github.d.ts.map +1 -1
- package/dist/plus/git-github/api/github.js +245 -51
- package/dist/plus/git-github/api/github.js.map +1 -1
- package/dist/plus/git-github/api/types.d.ts +8 -0
- package/dist/plus/git-github/api/types.d.ts.map +1 -1
- package/dist/plus/git-github/models.d.ts +1 -1
- package/dist/plus/git-github/models.d.ts.map +1 -1
- package/dist/plus/git-github/models.js.map +1 -1
- package/dist/plus/git-github/providers/github/blame.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/blame.js.map +1 -1
- package/dist/plus/git-github/providers/github/branches.d.ts +5 -1
- package/dist/plus/git-github/providers/github/branches.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/branches.js +47 -24
- package/dist/plus/git-github/providers/github/branches.js.map +1 -1
- package/dist/plus/git-github/providers/github/commits.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/commits.js +144 -92
- package/dist/plus/git-github/providers/github/commits.js.map +1 -1
- package/dist/plus/git-github/providers/github/diff.d.ts +1 -1
- package/dist/plus/git-github/providers/github/diff.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/diff.js +23 -9
- package/dist/plus/git-github/providers/github/diff.js.map +1 -1
- package/dist/plus/git-github/providers/github/refs.d.ts +9 -1
- package/dist/plus/git-github/providers/github/refs.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/refs.js +39 -14
- package/dist/plus/git-github/providers/github/refs.js.map +1 -1
- package/dist/plus/git-github/providers/github/revision.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/revision.js +1 -2
- package/dist/plus/git-github/providers/github/revision.js.map +1 -1
- package/dist/plus/git-github/providers/github/status.d.ts +4 -1
- package/dist/plus/git-github/providers/github/status.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/status.js +1 -1
- package/dist/plus/git-github/providers/github/status.js.map +1 -1
- package/dist/plus/git-github/providers/github/tags.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/tags.js +35 -36
- package/dist/plus/git-github/providers/github/tags.js.map +1 -1
- package/dist/plus/git-github/providers/githubGitProvider.d.ts.map +1 -1
- package/dist/plus/git-github/providers/githubGitProvider.js.map +1 -1
- package/dist/utils/color.d.ts.map +1 -1
- package/dist/utils/color.js.map +1 -1
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +6 -0
- package/dist/utils/date.js.map +1 -1
- package/dist/utils/debounce.js +1 -1
- package/dist/utils/decorators/serializable.d.ts.map +1 -1
- package/dist/utils/decorators/serializable.js.map +1 -1
- package/dist/utils/dedupedAsyncCache.d.ts +37 -0
- package/dist/utils/dedupedAsyncCache.d.ts.map +1 -0
- package/dist/utils/dedupedAsyncCache.js +68 -0
- package/dist/utils/dedupedAsyncCache.js.map +1 -0
- package/dist/utils/diff.d.ts +2 -0
- package/dist/utils/diff.d.ts.map +1 -0
- package/dist/utils/diff.js +53 -0
- package/dist/utils/diff.js.map +1 -0
- package/dist/utils/disposable.d.ts.map +1 -1
- package/dist/utils/disposable.js.map +1 -1
- package/dist/utils/env/node/exec.d.ts.map +1 -1
- package/dist/utils/env/node/exec.js.map +1 -1
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.js.map +1 -1
- package/dist/utils/iterable.d.ts +7 -1
- package/dist/utils/iterable.d.ts.map +1 -1
- package/dist/utils/iterable.js +12 -4
- package/dist/utils/iterable.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/lruMap.d.ts +9 -0
- package/dist/utils/lruMap.d.ts.map +1 -1
- package/dist/utils/lruMap.js +26 -4
- package/dist/utils/lruMap.js.map +1 -1
- package/dist/utils/markdown.d.ts.map +1 -1
- package/dist/utils/markdown.js.map +1 -1
- package/dist/utils/mru.d.ts.map +1 -1
- package/dist/utils/mru.js.map +1 -1
- package/dist/utils/object.d.ts +22 -1
- package/dist/utils/object.d.ts.map +1 -1
- package/dist/utils/object.js +56 -3
- package/dist/utils/object.js.map +1 -1
- package/dist/utils/paging.js +14 -15
- package/dist/utils/paging.js.map +1 -1
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js.map +1 -1
- package/dist/utils/promise.d.ts +1 -0
- package/dist/utils/promise.d.ts.map +1 -1
- package/dist/utils/promise.js +17 -0
- package/dist/utils/promise.js.map +1 -1
- package/dist/utils/promiseCache.d.ts +10 -0
- package/dist/utils/promiseCache.d.ts.map +1 -1
- package/dist/utils/promiseCache.js +34 -4
- package/dist/utils/promiseCache.js.map +1 -1
- package/dist/utils/string.d.ts.map +1 -1
- package/dist/utils/string.js +1 -1
- package/dist/utils/string.js.map +1 -1
- package/dist/utils/uri.d.ts.map +1 -1
- package/dist/utils/uri.js.map +1 -1
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js.map +1 -1
- package/package.json +13 -1
- package/src/git/cache.ts +192 -90
- package/src/git/context.ts +21 -0
- package/src/git/features.ts +2 -0
- package/src/git/models/commit.ts +1 -0
- package/src/git/models/graph.ts +97 -0
- package/src/git/models/reference.ts +33 -0
- package/src/git/models/remote.ts +1 -0
- package/src/git/models/remoteProvider.ts +1 -0
- package/src/git/models/repository.ts +105 -96
- package/src/git/models/search.ts +2 -2
- package/src/git/models/statusFile.ts +12 -0
- package/src/git/models/worktree.ts +10 -2
- package/src/git/parsers/diffParser.ts +2 -0
- package/src/git/providers/branches.ts +22 -4
- package/src/git/providers/commits.ts +4 -0
- package/src/git/providers/config.ts +3 -5
- package/src/git/providers/operations.ts +65 -1
- package/src/git/providers/pausedOperations.ts +1 -0
- package/src/git/providers/refs.ts +32 -3
- package/src/git/providers/staging.ts +12 -0
- package/src/git/providers/status.ts +6 -1
- package/src/git/remotes/azure-devops.ts +2 -0
- package/src/git/remotes/custom.ts +23 -0
- package/src/git/{exec.types.ts → run.types.ts} +22 -2
- package/src/git/service.ts +1 -0
- package/src/git/utils/autolink.utils.ts +1 -0
- package/src/git/utils/blame.utils.ts +2 -0
- package/src/git/utils/conflictResolution.utils.ts +31 -0
- package/src/git/utils/contributor.utils.ts +24 -0
- package/src/git/utils/fileStatus.utils.ts +7 -1
- package/src/git/utils/reachability.utils.ts +109 -0
- package/src/git/utils/search.utils.ts +2 -0
- package/src/git/utils/sorting.ts +17 -0
- package/src/git/utils/status.utils.ts +1 -0
- package/src/git/watching/classifyChange.ts +9 -0
- package/src/git/watching/gitIgnoreFilter.ts +2 -2
- package/src/git/watching/initWatcher.ts +2 -0
- package/src/git/watching/watchGroup.ts +3 -0
- package/src/git/watching/watchService.ts +45 -7
- package/src/git/watching/watchSession.ts +71 -55
- package/src/git-cli/exec/exec.types.ts +2 -2
- package/src/git-cli/exec/git.ts +6 -5
- package/src/git-cli/exec/gitQueue.ts +41 -12
- package/src/git-cli/parsers/blameParser.ts +1 -0
- package/src/git-cli/parsers/logParser.ts +1 -0
- package/src/git-cli/parsers/refParser.ts +33 -34
- package/src/git-cli/providers/blame.ts +1 -0
- package/src/git-cli/providers/branches.ts +165 -93
- package/src/git-cli/providers/commits.ts +107 -37
- package/src/git-cli/providers/config.ts +101 -48
- package/src/git-cli/providers/diff.ts +10 -3
- package/src/git-cli/providers/graph.ts +156 -16
- package/src/git-cli/providers/operations.ts +208 -83
- package/src/git-cli/providers/patch.ts +1 -0
- package/src/git-cli/providers/pausedOperations.ts +8 -0
- package/src/git-cli/providers/refs.ts +247 -3
- package/src/git-cli/providers/revision.ts +2 -2
- package/src/git-cli/providers/staging.ts +33 -0
- package/src/git-cli/providers/stash.ts +20 -2
- package/src/git-cli/providers/status.ts +24 -5
- package/src/git-cli/providers/tags.ts +15 -16
- package/src/ipc/discovery.ts +186 -0
- package/src/ipc/ipcServer.ts +171 -0
- package/src/plus/agents/providers/claudeCodeProvider.ts +2122 -0
- package/src/plus/agents/providers/claudeCodeTranscript.ts +214 -0
- package/src/plus/agents/sanitizePrompt.ts +109 -0
- package/src/plus/agents/stateMachine.ts +197 -0
- package/src/plus/agents/types.ts +325 -0
- package/src/plus/ai/errors.ts +40 -0
- package/src/plus/ai/models/model.ts +1 -0
- package/src/plus/ai/models/promptTemplates.ts +13 -0
- package/src/plus/ai/models/provider.ts +7 -1
- package/src/plus/ai/prompts.ts +49 -8
- package/src/plus/ai/providers/gitkrakenProvider.ts +4 -0
- package/src/plus/ai/providers/openAICompatibleProviderBase.ts +21 -4
- package/src/plus/ai/utils/ai.utils.ts +2 -0
- package/src/plus/ai/utils/results.utils.ts +2 -0
- package/src/plus/git-github/api/github.ts +315 -57
- package/src/plus/git-github/api/types.ts +15 -0
- package/src/plus/git-github/models.ts +1 -1
- package/src/plus/git-github/providers/github/blame.ts +2 -0
- package/src/plus/git-github/providers/github/branches.ts +61 -31
- package/src/plus/git-github/providers/github/commits.ts +231 -160
- package/src/plus/git-github/providers/github/diff.ts +27 -19
- package/src/plus/git-github/providers/github/refs.ts +58 -23
- package/src/plus/git-github/providers/github/revision.ts +1 -2
- package/src/plus/git-github/providers/github/status.ts +6 -1
- package/src/plus/git-github/providers/github/tags.ts +61 -62
- package/src/plus/git-github/providers/githubGitProvider.ts +1 -0
- package/src/utils/color.ts +2 -0
- package/src/utils/date.ts +5 -0
- package/src/utils/debounce.ts +1 -1
- package/src/utils/decorators/serializable.ts +1 -0
- package/src/utils/dedupedAsyncCache.ts +74 -0
- package/src/utils/diff.ts +61 -0
- package/src/utils/disposable.ts +2 -0
- package/src/utils/env/node/exec.ts +2 -0
- package/src/utils/error.ts +1 -0
- package/src/utils/iterable.ts +17 -3
- package/src/utils/logger.ts +1 -0
- package/src/utils/lruMap.ts +29 -4
- package/src/utils/markdown.ts +1 -0
- package/src/utils/mru.ts +2 -0
- package/src/utils/object.ts +55 -4
- package/src/utils/paging.ts +14 -14
- package/src/utils/path.ts +1 -0
- package/src/utils/promise.ts +22 -0
- package/src/utils/promiseCache.ts +48 -16
- package/src/utils/string.ts +3 -1
- package/src/utils/uri.ts +1 -0
- package/src/utils/version.ts +1 -0
- package/dist/git/exec.types.d.ts.map +0 -1
- package/dist/git/exec.types.js +0 -2
- package/dist/git/exec.types.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.3.1] - 2026-06-19
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Fixes `push`, `fetch`, `pull`, `reset`, `checkout`, and `restore` resolving as success when the git command actually failed with output matching a `GitWarnings` pattern (e.g. a non-fast-forward `tipBehind` push rejection, an unreachable remote, or an invalid ref/revision) — the rejection was swallowed by the default handler and the typed-error mapping was unreachable; these now reject with the correct error (`PushError`/`FetchError`/`PullError`/`ResetError`/`CheckoutError`) (git-cli)
|
|
14
|
+
|
|
15
|
+
## [0.3.0] - 2026-05-27
|
|
16
|
+
|
|
9
17
|
## [0.2.0] - 2026-05-01
|
|
10
18
|
|
|
11
19
|
### Added
|
|
@@ -32,6 +40,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
|
|
|
32
40
|
|
|
33
41
|
- Initial release. Bundles `@gitlens/utils`, `@gitlens/git`, `@gitlens/git-cli`, `@gitlens/ai`, and `@gitlens/git-github` into a single core npm package with subpath exports.
|
|
34
42
|
|
|
35
|
-
[unreleased]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.
|
|
43
|
+
[unreleased]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.3.1...HEAD
|
|
44
|
+
[0.3.1]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.3.0...gitkraken:releases/core/v0.3.1
|
|
45
|
+
[0.3.0]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.2.0...gitkraken:releases/core/v0.3.0
|
|
36
46
|
[0.2.0]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.1.0...gitkraken:releases/core/v0.2.0
|
|
37
47
|
[0.1.0]: https://github.com/gitkraken/vscode-gitlens/releases/tag/releases/core/v0.1.0
|
package/dist/git/cache.d.ts
CHANGED
|
@@ -3,15 +3,15 @@ import type { PromiseOrValue } from '../utils/promise.js';
|
|
|
3
3
|
import type { CacheController } from '../utils/promiseCache.js';
|
|
4
4
|
import { PromiseCache, PromiseMap, RepoPromiseCacheMap } from '../utils/promiseCache.js';
|
|
5
5
|
import type { Uri } from '../utils/uri.js';
|
|
6
|
-
import type { GitResult } from './exec.types.js';
|
|
7
6
|
import type { ProgressiveGitBlame } from './models/blame.js';
|
|
8
7
|
import type { BranchMetadata, GitBranch } from './models/branch.js';
|
|
8
|
+
import type { GitCommit } from './models/commit.js';
|
|
9
9
|
import type { GitContributor, GitContributorsStats } from './models/contributor.js';
|
|
10
10
|
import type { ParsedGitDiffHunks } from './models/diff.js';
|
|
11
11
|
import type { GitLog } from './models/log.js';
|
|
12
12
|
import type { ConflictDetectionResult } from './models/mergeConflicts.js';
|
|
13
13
|
import type { GitPausedOperationStatus } from './models/pausedOperationStatus.js';
|
|
14
|
-
import type { GitBranchReference } from './models/reference.js';
|
|
14
|
+
import type { GitBranchReference, GitRefTip, RefRecord } from './models/reference.js';
|
|
15
15
|
import type { GitRemote } from './models/remote.js';
|
|
16
16
|
import type { RemoteProvider } from './models/remoteProvider.js';
|
|
17
17
|
import type { GitDir, RepositoryChange } from './models/repository.js';
|
|
@@ -23,6 +23,7 @@ import type { BranchContributionsOverview, GitBranchMergedStatus } from './provi
|
|
|
23
23
|
import type { GitCommitReachability, LeftRightCommitCountResult } from './providers/commits.js';
|
|
24
24
|
import type { GitContributorsResult } from './providers/contributors.js';
|
|
25
25
|
import type { ResolvedRevision } from './providers/revision.js';
|
|
26
|
+
import type { GitResult } from './run.types.js';
|
|
26
27
|
import type { GitIgnoreFilter } from './watching/gitIgnoreFilter.js';
|
|
27
28
|
type RepoPath = string;
|
|
28
29
|
/** Cache types that are keyed by file path within a repo — support per-file clearing */
|
|
@@ -30,6 +31,13 @@ export type UriScopedCachedGitTypes = 'blame' | 'diff' | 'fileLog';
|
|
|
30
31
|
export declare function areUriScopedCachedGitTypes(types: string[]): types is UriScopedCachedGitTypes[];
|
|
31
32
|
export type CachedGitTypes = UriScopedCachedGitTypes | 'branch' | 'branches' | 'config' | 'contributors' | 'gitignore' | 'gkConfig' | 'lastFetched' | 'providers' | 'remotes' | 'stashes' | 'status' | 'tags' | 'tracking' | 'worktrees';
|
|
32
33
|
export type ConflictDetectionCacheKey = `apply:${string}:${string}:${string}` | `merge:${string}:${string}`;
|
|
34
|
+
/**
|
|
35
|
+
* Downstream caches that `deleteGkConfig` may invalidate when a `branch.<ref>.gk-...` key changes.
|
|
36
|
+
* Callers performing a "self-write" (where the value being written matches what they just resolved,
|
|
37
|
+
* so the about-to-be-evicted entry is exactly the entry they want to preserve) can opt out by
|
|
38
|
+
* naming the targets to skip via `skipInvalidation`.
|
|
39
|
+
*/
|
|
40
|
+
export type GkConfigInvalidationTarget = 'branchOverviews' | 'baseBranchName';
|
|
33
41
|
export declare class Cache implements Disposable {
|
|
34
42
|
private _caches;
|
|
35
43
|
private _commonPathRegistry;
|
|
@@ -54,8 +62,7 @@ export declare class Cache implements Disposable {
|
|
|
54
62
|
private get sharedBranches();
|
|
55
63
|
private get configKeys();
|
|
56
64
|
private get configPatterns();
|
|
57
|
-
private get
|
|
58
|
-
private get gkConfigPatterns();
|
|
65
|
+
private get gkConfigMap();
|
|
59
66
|
get currentBranchReference(): PromiseCache<RepoPath, GitBranchReference | undefined>;
|
|
60
67
|
setCurrentBranchReferenceIfAbsent(worktreePath: string, reference: GitBranchReference | undefined): void;
|
|
61
68
|
get conflictDetection(): RepoPromiseCacheMap<ConflictDetectionCacheKey, ConflictDetectionResult>;
|
|
@@ -70,10 +77,14 @@ export declare class Cache implements Disposable {
|
|
|
70
77
|
get initialCommitSha(): PromiseMap<RepoPath, string | undefined>;
|
|
71
78
|
get lastFetched(): PromiseCache<RepoPath, number | undefined>;
|
|
72
79
|
get leftRightCommitCount(): RepoPromiseCacheMap<string, LeftRightCommitCountResult | undefined>;
|
|
73
|
-
|
|
80
|
+
get commit(): RepoPromiseCacheMap<string, GitCommit | undefined>;
|
|
81
|
+
get commitCount(): RepoPromiseCacheMap<string, number | undefined>;
|
|
82
|
+
get mergeBase(): RepoPromiseCacheMap<string, string | undefined>;
|
|
74
83
|
get logShas(): RepoPromiseCacheMap<string, string[]>;
|
|
75
84
|
get pausedOperationStatus(): PromiseMap<RepoPath, GitPausedOperationStatus | undefined>;
|
|
76
85
|
get resolvedRevisions(): RepoPromiseCacheMap<string, ResolvedRevision>;
|
|
86
|
+
get refs(): PromiseMap<RepoPath, RefRecord[]>;
|
|
87
|
+
get refTips(): PromiseMap<RepoPath, GitRefTip[]>;
|
|
77
88
|
get reachability(): RepoPromiseCacheMap<string, GitCommitReachability | undefined>;
|
|
78
89
|
get remotes(): PromiseMap<RepoPath, GitRemote[]>;
|
|
79
90
|
get stashes(): RepoPromiseCacheMap<string, GitStash>;
|
|
@@ -115,9 +126,26 @@ export declare class Cache implements Disposable {
|
|
|
115
126
|
getConfig(repoPath: string | undefined, key: string, factory: () => PromiseOrValue<string | undefined>): Promise<string | undefined>;
|
|
116
127
|
getConfigRegex(repoPath: string | undefined, pattern: string, factory: () => PromiseOrValue<Map<string, string>>): Promise<Map<string, string>>;
|
|
117
128
|
deleteConfig(repoPath: string | undefined, key: string): void;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
129
|
+
/**
|
|
130
|
+
* The whole `.git/gk/config` is read once and cached as a single map per commonPath; per-key and
|
|
131
|
+
* per-namespace gk lookups are served from it in-memory (see `getGkConfigMap` in the CLI config
|
|
132
|
+
* sub-provider). Invalidated by `deleteGkConfig` (write) and the coarse `'gkConfig'` clear (watcher).
|
|
133
|
+
*/
|
|
134
|
+
getGkConfigMap(repoPath: string, factory: () => PromiseOrValue<Map<string, string>>): Promise<Map<string, string>>;
|
|
135
|
+
/**
|
|
136
|
+
* Clears the cached `.git/gk/config` map and invalidates the derived caches
|
|
137
|
+
* (`baseBranchName`/`branchOverviews`) for the written key's ref.
|
|
138
|
+
*
|
|
139
|
+
* @param options.skipInvalidation Downstream caches the caller wants preserved despite this
|
|
140
|
+
* write. Use when the value being written is exactly what was just resolved — e.g. the Tier 2
|
|
141
|
+
* `storeMergeTargetBranchName` self-write inside `getBranchContributionsOverview` (skip
|
|
142
|
+
* `'branchOverviews'`) or the Tier 3 `storeBaseBranchName` self-write inside `getBaseBranchName`
|
|
143
|
+
* (skip both `'baseBranchName'` and `'branchOverviews'`). The bulk `gkConfigMap` map always
|
|
144
|
+
* invalidates so subsequent reads see the new value.
|
|
145
|
+
*/
|
|
146
|
+
deleteGkConfig(repoPath: string, key: string, options?: {
|
|
147
|
+
skipInvalidation?: readonly GkConfigInvalidationTarget[];
|
|
148
|
+
}): void;
|
|
121
149
|
getBranchOverview(repoPath: string, cacheKey: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<BranchContributionsOverview | undefined>, options?: {
|
|
122
150
|
accessTTL?: number;
|
|
123
151
|
cancellation?: AbortSignal;
|
|
@@ -140,6 +168,8 @@ export declare class Cache implements Disposable {
|
|
|
140
168
|
getDefaultBranchName(repoPath: string, remote: string, factory: (commonPath: string) => PromiseOrValue<string | undefined>): Promise<string | undefined>;
|
|
141
169
|
getInitialCommitSha(repoPath: string, factory: (commonPath: string) => PromiseOrValue<string | undefined>): Promise<string | undefined>;
|
|
142
170
|
getLastFetchedTimestamp(repoPath: string, factory: (commonPath: string) => PromiseOrValue<number | undefined>): Promise<number | undefined>;
|
|
171
|
+
getRefs(repoPath: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<RefRecord[]>, cancellation?: AbortSignal): Promise<RefRecord[]>;
|
|
172
|
+
getRefTips(repoPath: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<GitRefTip[]>, cancellation?: AbortSignal): Promise<GitRefTip[]>;
|
|
143
173
|
getRemotes(repoPath: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<GitRemote[]>, cancellation?: AbortSignal): Promise<GitRemote[]>;
|
|
144
174
|
getStash(repoPath: string, cacheKey: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<GitStash>, options?: {
|
|
145
175
|
accessTTL?: number;
|
package/dist/git/cache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/git/cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/git/cache.ts"],"names":[],"mappings":"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"}
|
package/dist/git/cache.js
CHANGED
|
@@ -21,7 +21,7 @@ export function areUriScopedCachedGitTypes(types) {
|
|
|
21
21
|
* gkConfig keys that participate in the `branchOverviews` cache's mergeTarget/mergeBase lineage.
|
|
22
22
|
* Capture group 1 is the ref name (which may itself contain `.`/`/`).
|
|
23
23
|
*/
|
|
24
|
-
const
|
|
24
|
+
const branchOverviewGkConfigKeysRegex = /^branch\.(.+)\.(?:gk-merge-(?:base|target(?:-user)?)|gk-target-base)$/;
|
|
25
25
|
/** Compile-time enforced: adding a key to SharedCaches without listing it here is a type error */
|
|
26
26
|
const sharedCacheKeys = new Set(exhaustiveArray()([
|
|
27
27
|
'baseBranchName',
|
|
@@ -36,10 +36,12 @@ const sharedCacheKeys = new Set(exhaustiveArray()([
|
|
|
36
36
|
'contributorsStats',
|
|
37
37
|
'defaultBranchName',
|
|
38
38
|
'gitResults',
|
|
39
|
-
'
|
|
40
|
-
'gkConfigPatterns',
|
|
39
|
+
'gkConfigMap',
|
|
41
40
|
'initialCommitSha',
|
|
41
|
+
'lastFetched',
|
|
42
42
|
'logShas',
|
|
43
|
+
'refs',
|
|
44
|
+
'refTips',
|
|
43
45
|
'remotes',
|
|
44
46
|
'sharedBranches',
|
|
45
47
|
'stashes',
|
|
@@ -56,9 +58,12 @@ function createEmptyCaches() {
|
|
|
56
58
|
branchMetadataMap: undefined,
|
|
57
59
|
branchOverviews: undefined,
|
|
58
60
|
branches: undefined,
|
|
61
|
+
commit: undefined,
|
|
62
|
+
commitCount: undefined,
|
|
59
63
|
fileExistence: undefined,
|
|
60
64
|
ignoreRevsFile: undefined,
|
|
61
65
|
leftRightCommitCount: undefined,
|
|
66
|
+
mergeBase: undefined,
|
|
62
67
|
configKeys: undefined,
|
|
63
68
|
configPatterns: undefined,
|
|
64
69
|
conflictDetection: undefined,
|
|
@@ -73,14 +78,15 @@ function createEmptyCaches() {
|
|
|
73
78
|
gitDir: undefined,
|
|
74
79
|
gitIgnore: undefined,
|
|
75
80
|
gitResults: undefined,
|
|
76
|
-
|
|
77
|
-
gkConfigPatterns: undefined,
|
|
81
|
+
gkConfigMap: undefined,
|
|
78
82
|
initialCommitSha: undefined,
|
|
79
83
|
lastFetched: undefined,
|
|
80
84
|
logShas: undefined,
|
|
81
85
|
pausedOperationStatus: undefined,
|
|
82
86
|
resolvedRevisions: undefined,
|
|
83
87
|
reachability: undefined,
|
|
88
|
+
refs: undefined,
|
|
89
|
+
refTips: undefined,
|
|
84
90
|
remotes: undefined,
|
|
85
91
|
sharedBranches: undefined,
|
|
86
92
|
stashes: undefined,
|
|
@@ -158,11 +164,8 @@ export class Cache {
|
|
|
158
164
|
createTTL: 1000 * 30, // 30 seconds - ensures global config changes are picked up
|
|
159
165
|
}));
|
|
160
166
|
}
|
|
161
|
-
get
|
|
162
|
-
return (this._caches.
|
|
163
|
-
}
|
|
164
|
-
get gkConfigPatterns() {
|
|
165
|
-
return (this._caches.gkConfigPatterns ??= new RepoPromiseCacheMap());
|
|
167
|
+
get gkConfigMap() {
|
|
168
|
+
return (this._caches.gkConfigMap ??= new PromiseMap());
|
|
166
169
|
}
|
|
167
170
|
get currentBranchReference() {
|
|
168
171
|
return (this._caches.currentBranchReference ??= new PromiseCache());
|
|
@@ -221,13 +224,23 @@ export class Cache {
|
|
|
221
224
|
capacity: 50, // Limit to 50 ref-pairs per repo
|
|
222
225
|
}));
|
|
223
226
|
}
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
227
|
+
get commit() {
|
|
228
|
+
return (this._caches.commit ??= new RepoPromiseCacheMap({
|
|
229
|
+
accessTTL: 1000 * 60 * 60, // 60 minutes
|
|
230
|
+
capacity: 100, // Limit to 100 commits per repo
|
|
231
|
+
}));
|
|
232
|
+
}
|
|
233
|
+
get commitCount() {
|
|
234
|
+
return (this._caches.commitCount ??= new RepoPromiseCacheMap({
|
|
235
|
+
accessTTL: 1000 * 60 * 60, // 60 minutes
|
|
236
|
+
capacity: 50,
|
|
237
|
+
}));
|
|
238
|
+
}
|
|
239
|
+
get mergeBase() {
|
|
240
|
+
return (this._caches.mergeBase ??= new RepoPromiseCacheMap({
|
|
241
|
+
accessTTL: 1000 * 60 * 60, // 60 minutes
|
|
242
|
+
capacity: 50,
|
|
243
|
+
}));
|
|
231
244
|
}
|
|
232
245
|
get logShas() {
|
|
233
246
|
return (this._caches.logShas ??= new RepoPromiseCacheMap({
|
|
@@ -244,6 +257,12 @@ export class Cache {
|
|
|
244
257
|
capacity: 100,
|
|
245
258
|
}));
|
|
246
259
|
}
|
|
260
|
+
get refs() {
|
|
261
|
+
return (this._caches.refs ??= new PromiseMap());
|
|
262
|
+
}
|
|
263
|
+
get refTips() {
|
|
264
|
+
return (this._caches.refTips ??= new PromiseMap());
|
|
265
|
+
}
|
|
247
266
|
get reachability() {
|
|
248
267
|
return (this._caches.reachability ??= new RepoPromiseCacheMap({
|
|
249
268
|
accessTTL: 1000 * 60 * 60, // 60 minutes
|
|
@@ -314,9 +333,15 @@ export class Cache {
|
|
|
314
333
|
keysToClear.add('branch');
|
|
315
334
|
keysToClear.add('branchMergedStatus');
|
|
316
335
|
keysToClear.add('branchOverviews');
|
|
336
|
+
// `commit`/`commitCount` are keyed by symbolic ref or SHA — symbolic-ref entries
|
|
337
|
+
// can drift when branches move; cascade-clear conservatively.
|
|
338
|
+
keysToClear.add('commit');
|
|
339
|
+
keysToClear.add('commitCount');
|
|
317
340
|
keysToClear.add('conflictDetection');
|
|
318
341
|
keysToClear.add('currentBranchReference');
|
|
319
342
|
keysToClear.add('leftRightCommitCount');
|
|
343
|
+
// `mergeBase` keyed by ref-pairs — symbolic refs can move; cascade-clear.
|
|
344
|
+
keysToClear.add('mergeBase');
|
|
320
345
|
keysToClear.add('reachability');
|
|
321
346
|
keysToClear.add('resolvedRevisions');
|
|
322
347
|
}
|
|
@@ -329,13 +354,18 @@ export class Cache {
|
|
|
329
354
|
keysToClear.add('defaultBranchName');
|
|
330
355
|
keysToClear.add('initialCommitSha');
|
|
331
356
|
keysToClear.add('logShas');
|
|
357
|
+
keysToClear.add('refs');
|
|
358
|
+
keysToClear.add('refTips');
|
|
332
359
|
}
|
|
333
360
|
if (types.includes('config')) {
|
|
334
361
|
keysToClear.add('configKeys');
|
|
335
362
|
keysToClear.add('configPatterns');
|
|
336
363
|
keysToClear.add('currentBranchReference');
|
|
337
364
|
keysToClear.add('currentUser');
|
|
338
|
-
|
|
365
|
+
// `gitDir` is immutable repo topology (toplevel/git-dir/common-dir/superproject) — a
|
|
366
|
+
// `.git/config` content change never relocates it, and it's owned by the repo lifecycle
|
|
367
|
+
// (registerRepoPath/unregisterRepoPath). Clearing it here forced a redundant `git rev-parse`
|
|
368
|
+
// re-spawn (gitDir is read by getGkConfigPath→getGitDir on every gk op), so leave it warm.
|
|
339
369
|
}
|
|
340
370
|
if (types.includes('contributors')) {
|
|
341
371
|
keysToClear.add('branchOverviews');
|
|
@@ -347,13 +377,12 @@ export class Cache {
|
|
|
347
377
|
keysToClear.add('gitIgnore');
|
|
348
378
|
}
|
|
349
379
|
if (types.includes('gkConfig')) {
|
|
350
|
-
keysToClear.add('
|
|
351
|
-
keysToClear.add('gkConfigPatterns');
|
|
380
|
+
keysToClear.add('gkConfigMap');
|
|
352
381
|
// Derived from `branch.<ref>.gk-merge-base`/`vscode-merge-base`; clear so external
|
|
353
382
|
// gkConfig mutations don't leave stale base-branch resolutions cached.
|
|
354
383
|
keysToClear.add('baseBranchName');
|
|
355
|
-
// Cached overviews
|
|
356
|
-
//
|
|
384
|
+
// Cached overviews are keyed by `${ref}|${mergeTarget}`; bulk gkConfig changes can
|
|
385
|
+
// affect any of the merge-target sources (stored, base, default), so clear all.
|
|
357
386
|
keysToClear.add('branchOverviews');
|
|
358
387
|
}
|
|
359
388
|
if (types.includes('lastFetched')) {
|
|
@@ -377,6 +406,8 @@ export class Cache {
|
|
|
377
406
|
}
|
|
378
407
|
if (types.includes('tags')) {
|
|
379
408
|
keysToClear.add('tags');
|
|
409
|
+
keysToClear.add('refs');
|
|
410
|
+
keysToClear.add('refTips');
|
|
380
411
|
}
|
|
381
412
|
if (types.includes('tracking')) {
|
|
382
413
|
keysToClear.add('fileExistence');
|
|
@@ -600,14 +631,18 @@ export class Cache {
|
|
|
600
631
|
// On factory invalidation, propagate to the derived per-worktree mapper entries
|
|
601
632
|
// via soft-invalidate — existing waiters on the mapper complete, and the entry
|
|
602
633
|
// self-evicts on mapper settle so the next callers build fresh derived entries.
|
|
603
|
-
void p
|
|
634
|
+
void p
|
|
635
|
+
.finally(() => {
|
|
604
636
|
if (cacheable.invalidated) {
|
|
605
637
|
this.branches.invalidate(commonPath);
|
|
606
638
|
for (const worktreePath of this.getWorktreePaths(commonPath)) {
|
|
607
639
|
this.branches.invalidate(worktreePath);
|
|
608
640
|
}
|
|
609
641
|
}
|
|
610
|
-
})
|
|
642
|
+
})
|
|
643
|
+
// Swallow the cleanup chain's rejection so a rejected factory (e.g. cancellation)
|
|
644
|
+
// doesn't surface as an unhandled rejection; the caller-facing promise handles it.
|
|
645
|
+
.catch(() => { });
|
|
611
646
|
return p;
|
|
612
647
|
}, cancellation);
|
|
613
648
|
void registration.catch(() => { });
|
|
@@ -647,36 +682,48 @@ export class Cache {
|
|
|
647
682
|
this._caches.configKeys?.delete(cacheKey, key);
|
|
648
683
|
this._caches.configPatterns?.delete(cacheKey);
|
|
649
684
|
}
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
this.
|
|
657
|
-
return factoryPromise;
|
|
658
|
-
}
|
|
659
|
-
getGkConfigRegex(repoPath, pattern, factory) {
|
|
660
|
-
const cacheKey = this.getCommonPath(repoPath);
|
|
661
|
-
const result = this.gkConfigPatterns.get(cacheKey, pattern);
|
|
662
|
-
if (result != null)
|
|
663
|
-
return result;
|
|
664
|
-
const factoryPromise = Promise.resolve(factory());
|
|
665
|
-
this.gkConfigPatterns.set(cacheKey, pattern, factoryPromise);
|
|
666
|
-
return factoryPromise;
|
|
685
|
+
/**
|
|
686
|
+
* The whole `.git/gk/config` is read once and cached as a single map per commonPath; per-key and
|
|
687
|
+
* per-namespace gk lookups are served from it in-memory (see `getGkConfigMap` in the CLI config
|
|
688
|
+
* sub-provider). Invalidated by `deleteGkConfig` (write) and the coarse `'gkConfig'` clear (watcher).
|
|
689
|
+
*/
|
|
690
|
+
getGkConfigMap(repoPath, factory) {
|
|
691
|
+
return this.getSharedSimple(this.gkConfigMap, repoPath, factory);
|
|
667
692
|
}
|
|
668
|
-
|
|
693
|
+
/**
|
|
694
|
+
* Clears the cached `.git/gk/config` map and invalidates the derived caches
|
|
695
|
+
* (`baseBranchName`/`branchOverviews`) for the written key's ref.
|
|
696
|
+
*
|
|
697
|
+
* @param options.skipInvalidation Downstream caches the caller wants preserved despite this
|
|
698
|
+
* write. Use when the value being written is exactly what was just resolved — e.g. the Tier 2
|
|
699
|
+
* `storeMergeTargetBranchName` self-write inside `getBranchContributionsOverview` (skip
|
|
700
|
+
* `'branchOverviews'`) or the Tier 3 `storeBaseBranchName` self-write inside `getBaseBranchName`
|
|
701
|
+
* (skip both `'baseBranchName'` and `'branchOverviews'`). The bulk `gkConfigMap` map always
|
|
702
|
+
* invalidates so subsequent reads see the new value.
|
|
703
|
+
*/
|
|
704
|
+
deleteGkConfig(repoPath, key, options) {
|
|
669
705
|
const cacheKey = this.getCommonPath(repoPath);
|
|
670
|
-
this._caches.
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
706
|
+
this._caches.gkConfigMap?.delete(cacheKey);
|
|
707
|
+
const refMatch = key.match(branchOverviewGkConfigKeysRegex);
|
|
708
|
+
if (refMatch == null)
|
|
709
|
+
return;
|
|
710
|
+
const ref = refMatch[1];
|
|
711
|
+
const skip = options?.skipInvalidation;
|
|
712
|
+
// `getBaseBranchName` reads `branch.<ref>.gk-merge-base` and caches the resolved value
|
|
713
|
+
// per-ref. A write to that key must invalidate the cached base or Tier 3 of
|
|
714
|
+
// `getBranchContributionsOverview` will resolve `mergeTarget` against the pre-write value.
|
|
715
|
+
if (key.endsWith('.gk-merge-base') && !skip?.includes('baseBranchName')) {
|
|
716
|
+
this._caches.baseBranchName?.delete(cacheKey, ref);
|
|
679
717
|
}
|
|
718
|
+
if (skip?.includes('branchOverviews'))
|
|
719
|
+
return;
|
|
720
|
+
// When the change affects a branch's merge-target/base lineage, invalidate that branch's
|
|
721
|
+
// cached overviews so subsequent reads pick up the new stored value rather than stale data.
|
|
722
|
+
// `getBranchContributionsOverview` keys `branchOverviews` by `${ref}|${mergeTarget}`, so
|
|
723
|
+
// invalidate every entry for the affected ref regardless of which target it resolved to.
|
|
724
|
+
// Uses `invalidateByKeyPrefix` (not `deleteByKeyPrefix`) so an in-flight factory is still
|
|
725
|
+
// shared with new callers instead of triggering a duplicate fetch.
|
|
726
|
+
this._caches.branchOverviews?.invalidateByKeyPrefix(cacheKey, `${ref}|`);
|
|
680
727
|
}
|
|
681
728
|
async getBranchOverview(repoPath, cacheKey, factory, options) {
|
|
682
729
|
return this.getSharedOrCreateWithKey(this.branchOverviews, repoPath, cacheKey, factory, (data, newRepoPath) => data == null
|
|
@@ -736,6 +783,16 @@ export class Cache {
|
|
|
736
783
|
getLastFetchedTimestamp(repoPath, factory) {
|
|
737
784
|
return this.getSharedSimple(this.lastFetched, repoPath, factory);
|
|
738
785
|
}
|
|
786
|
+
getRefs(repoPath, factory, cancellation) {
|
|
787
|
+
// Raw ref records are repoPath-agnostic (no per-worktree binding to remap), so we key only
|
|
788
|
+
// by commonPath and skip the per-worktree mapper that `getBranches`/`getTags` need.
|
|
789
|
+
const commonPath = this.getCommonPath(repoPath);
|
|
790
|
+
return this.refs.getOrCreate(commonPath, (cacheable, signal) => Promise.resolve(factory(commonPath, cacheable, signal)), cancellation);
|
|
791
|
+
}
|
|
792
|
+
getRefTips(repoPath, factory, cancellation) {
|
|
793
|
+
const commonPath = this.getCommonPath(repoPath);
|
|
794
|
+
return this.refTips.getOrCreate(commonPath, (cacheable, signal) => Promise.resolve(factory(commonPath, cacheable, signal)), cancellation);
|
|
795
|
+
}
|
|
739
796
|
async getRemotes(repoPath, factory, cancellation) {
|
|
740
797
|
return this.getSharedOrCreate(this.remotes, repoPath, factory, (data, newRepoPath) => data.map(r => r.withRepoPath(newRepoPath)), cancellation);
|
|
741
798
|
}
|
|
@@ -765,7 +822,8 @@ export class Cache {
|
|
|
765
822
|
// On factory invalidation (without rejection), propagate to the derived per-worktree
|
|
766
823
|
// mapper entries so they don't persist past the shared factory's settle. Mapper
|
|
767
824
|
// entries cached via `cache.set()` have no controller, so `invalidate` hard-deletes.
|
|
768
|
-
void p
|
|
825
|
+
void p
|
|
826
|
+
.finally(() => {
|
|
769
827
|
if (cacheable.invalidated) {
|
|
770
828
|
for (const worktreePath of this.getWorktreePaths(commonPath)) {
|
|
771
829
|
if (worktreePath === commonPath)
|
|
@@ -773,7 +831,10 @@ export class Cache {
|
|
|
773
831
|
cache.invalidate(worktreePath);
|
|
774
832
|
}
|
|
775
833
|
}
|
|
776
|
-
})
|
|
834
|
+
})
|
|
835
|
+
// Swallow the cleanup chain's rejection so a rejected factory (e.g. cancellation)
|
|
836
|
+
// doesn't surface as an unhandled rejection; the caller-facing promise handles it.
|
|
837
|
+
.catch(() => { });
|
|
777
838
|
return p;
|
|
778
839
|
}, cancellation);
|
|
779
840
|
// Swallow any rejection on the registration wrapper so it isn't surfaced as an unhandled
|
|
@@ -805,7 +866,8 @@ export class Cache {
|
|
|
805
866
|
// mapper entries for this `cacheKey` so they don't persist past the shared factory's
|
|
806
867
|
// settle. Mapper entries cached via `cache.set()` have no controller, so `invalidate`
|
|
807
868
|
// hard-deletes.
|
|
808
|
-
void p
|
|
869
|
+
void p
|
|
870
|
+
.finally(() => {
|
|
809
871
|
if (cacheable.invalidated) {
|
|
810
872
|
for (const worktreePath of this.getWorktreePaths(commonPath)) {
|
|
811
873
|
if (worktreePath === commonPath)
|
|
@@ -813,7 +875,10 @@ export class Cache {
|
|
|
813
875
|
cache.invalidate(worktreePath, cacheKey);
|
|
814
876
|
}
|
|
815
877
|
}
|
|
816
|
-
})
|
|
878
|
+
})
|
|
879
|
+
// Swallow the cleanup chain's rejection so a rejected factory (e.g. cancellation)
|
|
880
|
+
// doesn't surface as an unhandled rejection; the caller-facing promise handles it.
|
|
881
|
+
.catch(() => { });
|
|
817
882
|
return p;
|
|
818
883
|
}, options);
|
|
819
884
|
// Swallow any rejection on the registration wrapper so it isn't surfaced as an unhandled
|