@gitkraken/core-gitlens 0.1.0 → 0.3.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 +25 -1
- package/dist/git/cache.d.ts +49 -9
- package/dist/git/cache.d.ts.map +1 -1
- package/dist/git/cache.js +174 -14
- package/dist/git/cache.js.map +1 -1
- package/dist/git/context.d.ts +11 -2
- package/dist/git/context.d.ts.map +1 -1
- package/dist/git/context.js.map +1 -1
- package/dist/git/models/branch.d.ts +1 -0
- package/dist/git/models/branch.d.ts.map +1 -1
- package/dist/git/models/branch.js.map +1 -1
- package/dist/git/models/commit.d.ts +1 -9
- package/dist/git/models/commit.d.ts.map +1 -1
- package/dist/git/models/commit.js +4 -9
- package/dist/git/models/commit.js.map +1 -1
- package/dist/git/models/graph.d.ts +2 -4
- package/dist/git/models/graph.d.ts.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/repository.d.ts +20 -3
- package/dist/git/models/repository.d.ts.map +1 -1
- package/dist/git/models/repository.js +42 -5
- 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/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 +0 -1
- package/dist/git/parsers/diffParser.d.ts.map +1 -1
- package/dist/git/parsers/diffParser.js +22 -61
- package/dist/git/parsers/diffParser.js.map +1 -1
- package/dist/git/providers/branches.d.ts +18 -4
- package/dist/git/providers/branches.d.ts.map +1 -1
- package/dist/git/providers/commits.d.ts +6 -0
- package/dist/git/providers/commits.d.ts.map +1 -1
- package/dist/git/providers/config.d.ts +6 -1
- package/dist/git/providers/config.d.ts.map +1 -1
- package/dist/git/providers/diff.d.ts +2 -0
- package/dist/git/providers/diff.d.ts.map +1 -1
- package/dist/git/providers/operations.d.ts +39 -10
- 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/revision.d.ts +1 -1
- package/dist/git/providers/revision.d.ts.map +1 -1
- package/dist/git/providers/staging.d.ts +18 -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/{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/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/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 +14 -0
- package/dist/git/utils/sorting.d.ts.map +1 -1
- package/dist/git/utils/sorting.js +34 -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.map +1 -1
- package/dist/git/watching/watchService.js +24 -4
- package/dist/git/watching/watchService.js.map +1 -1
- package/dist/git/watching/watchSession.d.ts.map +1 -1
- package/dist/git/watching/watchSession.js.map +1 -1
- package/dist/git-cli/cliGitProvider.js +1 -1
- package/dist/git-cli/cliGitProvider.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 +31 -6
- package/dist/git-cli/exec/git.d.ts.map +1 -1
- package/dist/git-cli/exec/git.js +70 -9
- package/dist/git-cli/exec/git.js.map +1 -1
- package/dist/git-cli/exec/gitQueue.d.ts +22 -6
- package/dist/git-cli/exec/gitQueue.d.ts.map +1 -1
- package/dist/git-cli/exec/gitQueue.js +88 -24
- 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.d.ts +1 -0
- package/dist/git-cli/parsers/logParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/logParser.js +4 -0
- 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 +1 -1
- package/dist/git-cli/providers/blame.js.map +1 -1
- package/dist/git-cli/providers/branches.d.ts +17 -5
- package/dist/git-cli/providers/branches.d.ts.map +1 -1
- package/dist/git-cli/providers/branches.js +245 -162
- package/dist/git-cli/providers/branches.js.map +1 -1
- package/dist/git-cli/providers/commits.d.ts +4 -0
- package/dist/git-cli/providers/commits.d.ts.map +1 -1
- package/dist/git-cli/providers/commits.js +120 -35
- package/dist/git-cli/providers/commits.js.map +1 -1
- package/dist/git-cli/providers/config.d.ts +11 -2
- package/dist/git-cli/providers/config.d.ts.map +1 -1
- package/dist/git-cli/providers/config.js +36 -11
- package/dist/git-cli/providers/config.js.map +1 -1
- package/dist/git-cli/providers/contributors.d.ts.map +1 -1
- package/dist/git-cli/providers/contributors.js +7 -4
- package/dist/git-cli/providers/contributors.js.map +1 -1
- package/dist/git-cli/providers/diff.d.ts +2 -0
- package/dist/git-cli/providers/diff.d.ts.map +1 -1
- package/dist/git-cli/providers/diff.js +92 -20
- 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 +49 -28
- package/dist/git-cli/providers/graph.js.map +1 -1
- package/dist/git-cli/providers/operations.d.ts +30 -11
- package/dist/git-cli/providers/operations.d.ts.map +1 -1
- package/dist/git-cli/providers/operations.js +146 -43
- 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 +15 -30
- 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 +13 -7
- 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 +312 -9
- package/dist/git-cli/providers/refs.js.map +1 -1
- package/dist/git-cli/providers/remotes.js +4 -4
- package/dist/git-cli/providers/remotes.js.map +1 -1
- package/dist/git-cli/providers/revision.d.ts +1 -1
- package/dist/git-cli/providers/revision.d.ts.map +1 -1
- package/dist/git-cli/providers/revision.js +15 -11
- package/dist/git-cli/providers/revision.js.map +1 -1
- package/dist/git-cli/providers/staging.d.ts +8 -0
- package/dist/git-cli/providers/staging.d.ts.map +1 -1
- package/dist/git-cli/providers/staging.js +52 -8
- package/dist/git-cli/providers/staging.js.map +1 -1
- package/dist/git-cli/providers/stash.d.ts +0 -8
- package/dist/git-cli/providers/stash.d.ts.map +1 -1
- package/dist/git-cli/providers/stash.js +63 -119
- 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 +10 -9
- 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 +13 -9
- package/dist/git-cli/providers/tags.js.map +1 -1
- package/dist/git-cli/providers/worktrees.js +3 -3
- package/dist/git-cli/providers/worktrees.js.map +1 -1
- package/dist/ipc/discovery.d.ts +27 -0
- package/dist/ipc/discovery.d.ts.map +1 -0
- package/dist/ipc/discovery.js +38 -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 +114 -0
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +1 -0
- package/dist/plus/agents/providers/claudeCodeProvider.js +1480 -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 +203 -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/constants.d.ts +2 -1
- package/dist/plus/ai/constants.d.ts.map +1 -1
- package/dist/plus/ai/constants.js +7 -0
- package/dist/plus/ai/constants.js.map +1 -1
- 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 +28 -2
- package/dist/plus/ai/models/promptTemplates.d.ts.map +1 -1
- package/dist/plus/ai/models/results.d.ts +28 -0
- package/dist/plus/ai/models/results.d.ts.map +1 -1
- package/dist/plus/ai/prompts.d.ts +4 -0
- package/dist/plus/ai/prompts.d.ts.map +1 -1
- package/dist/plus/ai/prompts.js +167 -1
- package/dist/plus/ai/prompts.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 +3 -0
- package/dist/plus/ai/utils/results.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/results.utils.js +75 -0
- package/dist/plus/ai/utils/results.utils.js.map +1 -1
- package/dist/plus/ai/utils/truncation.utils.d.ts +1 -1
- package/dist/plus/ai/utils/truncation.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/truncation.utils.js.map +1 -1
- package/dist/plus/git-github/api/github.d.ts +10 -1
- package/dist/plus/git-github/api/github.d.ts.map +1 -1
- package/dist/plus/git-github/api/github.js +156 -49
- 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 +60 -22
- 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 +3 -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 +38 -13
- 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/decorators/log.js +1 -1
- package/dist/utils/decorators/log.js.map +1 -1
- package/dist/utils/decorators/sequentialize.d.ts.map +1 -1
- package/dist/utils/decorators/sequentialize.js +4 -2
- package/dist/utils/decorators/sequentialize.js.map +1 -1
- package/dist/utils/decorators/serializable.d.ts.map +1 -1
- package/dist/utils/decorators/serializable.js.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/base64.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/formatter.d.ts.map +1 -1
- package/dist/utils/formatter.js +4 -10
- package/dist/utils/formatter.js.map +1 -1
- package/dist/utils/iterable.d.ts.map +1 -1
- 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 +49 -0
- package/dist/utils/lruMap.d.ts.map +1 -0
- package/dist/utils/lruMap.js +103 -0
- package/dist/utils/lruMap.js.map +1 -0
- 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/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 +22 -0
- package/dist/utils/promiseCache.js.map +1 -1
- package/dist/utils/string.d.ts.map +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 +14 -0
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +48 -0
- package/dist/utils/version.js.map +1 -1
- package/package.json +13 -1
- package/src/git/cache.ts +309 -29
- package/src/git/context.ts +11 -2
- package/src/git/models/branch.ts +1 -0
- package/src/git/models/commit.ts +2 -17
- package/src/git/models/graph.ts +2 -4
- package/src/git/models/reference.ts +33 -0
- package/src/git/models/remote.ts +1 -0
- package/src/git/models/repository.ts +44 -6
- package/src/git/models/search.ts +2 -2
- package/src/git/models/worktree.ts +10 -2
- package/src/git/parsers/diffParser.ts +9 -44
- package/src/git/providers/branches.ts +25 -4
- package/src/git/providers/commits.ts +7 -0
- package/src/git/providers/config.ts +4 -0
- package/src/git/providers/diff.ts +8 -2
- package/src/git/providers/operations.ts +54 -3
- package/src/git/providers/pausedOperations.ts +1 -0
- package/src/git/providers/refs.ts +32 -3
- package/src/git/providers/revision.ts +5 -1
- package/src/git/providers/staging.ts +14 -0
- package/src/git/providers/status.ts +6 -1
- package/src/git/remotes/azure-devops.ts +2 -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/fileStatus.utils.ts +7 -1
- package/src/git/utils/search.utils.ts +2 -0
- package/src/git/utils/sorting.ts +38 -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 +38 -5
- package/src/git/watching/watchSession.ts +10 -0
- package/src/git-cli/cliGitProvider.ts +1 -1
- package/src/git-cli/exec/exec.types.ts +2 -2
- package/src/git-cli/exec/git.ts +76 -23
- package/src/git-cli/exec/gitQueue.ts +98 -25
- package/src/git-cli/parsers/blameParser.ts +1 -0
- package/src/git-cli/parsers/logParser.ts +6 -1
- package/src/git-cli/parsers/refParser.ts +33 -34
- package/src/git-cli/providers/blame.ts +2 -1
- package/src/git-cli/providers/branches.ts +341 -196
- package/src/git-cli/providers/commits.ts +145 -46
- package/src/git-cli/providers/config.ts +50 -16
- package/src/git-cli/providers/contributors.ts +7 -12
- package/src/git-cli/providers/diff.ts +107 -20
- package/src/git-cli/providers/graph.ts +58 -29
- package/src/git-cli/providers/operations.ts +253 -57
- package/src/git-cli/providers/patch.ts +16 -37
- package/src/git-cli/providers/pausedOperations.ts +14 -6
- package/src/git-cli/providers/refs.ts +274 -11
- package/src/git-cli/providers/remotes.ts +4 -4
- package/src/git-cli/providers/revision.ts +22 -15
- package/src/git-cli/providers/staging.ts +51 -8
- package/src/git-cli/providers/stash.ts +67 -134
- package/src/git-cli/providers/status.ts +21 -10
- package/src/git-cli/providers/tags.ts +18 -19
- package/src/git-cli/providers/worktrees.ts +3 -3
- package/src/ipc/discovery.ts +56 -0
- package/src/ipc/ipcServer.ts +171 -0
- package/src/plus/agents/providers/claudeCodeProvider.ts +1782 -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 +277 -0
- package/src/plus/ai/constants.ts +8 -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 +42 -0
- package/src/plus/ai/models/results.ts +30 -0
- package/src/plus/ai/prompts.ts +171 -1
- package/src/plus/ai/utils/ai.utils.ts +2 -0
- package/src/plus/ai/utils/results.utils.ts +101 -0
- package/src/plus/ai/utils/truncation.utils.ts +3 -1
- package/src/plus/git-github/api/github.ts +199 -53
- 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 +75 -33
- package/src/plus/git-github/providers/github/commits.ts +231 -160
- package/src/plus/git-github/providers/github/diff.ts +35 -21
- package/src/plus/git-github/providers/github/refs.ts +57 -22
- 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/decorators/log.ts +1 -1
- package/src/utils/decorators/sequentialize.ts +8 -6
- 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/base64.ts +1 -1
- package/src/utils/env/node/exec.ts +4 -2
- package/src/utils/error.ts +1 -0
- package/src/utils/formatter.ts +4 -11
- package/src/utils/iterable.ts +4 -1
- package/src/utils/logger.ts +1 -0
- package/src/utils/lruMap.ts +112 -0
- package/src/utils/markdown.ts +1 -0
- package/src/utils/mru.ts +2 -0
- package/src/utils/path.ts +1 -0
- package/src/utils/promise.ts +22 -0
- package/src/utils/promiseCache.ts +24 -0
- package/src/utils/string.ts +2 -0
- package/src/utils/uri.ts +1 -0
- package/src/utils/version.ts +49 -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,11 +6,35 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.3.0] - 2026-05-27
|
|
10
|
+
|
|
11
|
+
## [0.2.0] - 2026-05-01
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- Adds sub-provider methods: `commit`, `getParsedDiff`, `createStash`, `stageAll`, `unstageAll`, `validateRepo`; SHA + index-restore on `applyStash`; `untracked` option on existence and diff queries (git, plus/git-github)
|
|
16
|
+
- Adds a `'lastFetched'` change type, `onCurrentBranchAgentActivity`, `BranchMetadata.agentLastActivityAt`, and `branch.<name>.gk-agent-last-activity` config (git)
|
|
17
|
+
- Adds `LruMap`, `compareByVersion`/`compareByVersionDescending`, and a `quiet` option on `exec` (utils)
|
|
18
|
+
- Adds `AbortSignal` cancellation in the git-cli command queue and signing-error handling — `classifySigningError`, `SigningError`, `hooks.commits.onSigningFailed`, `source?` — on `commit`/`merge`/`pull`/`rebase`/`revert`/`cherryPick` (git, git-cli)
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- `merge`/`rebase`/`cherryPick`/`revert` return structured results with affected files; diff queries parse `--numstat` + `--summary` via `parseDiffNumStatAndSummary` (git)
|
|
23
|
+
- Improves caching: tiered TTLs (~5 min SHAs / ~60 s refs), lazy stash parent-timestamp cache, tiered branch-overview cache, parallel merge-base / contributor fetches, soft-invalidation + aggregate `AbortSignal` in `PromiseCache` (git, git-cli, utils, plus/git-github)
|
|
24
|
+
- Coalesces working-tree change events on `Repository`; expands graph reachability to local + remote branches + tags (git)
|
|
25
|
+
- Tightens filtering: stash reachability via git's branch metadata, untracked excluded from non-HEAD diffs, merge-base skipped when local matches upstream SHA (git-cli)
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
|
|
29
|
+
- Fixes corrupted output in async `Formatter` calls (utils)
|
|
30
|
+
|
|
9
31
|
## [0.1.0]
|
|
10
32
|
|
|
11
33
|
### Added
|
|
12
34
|
|
|
13
35
|
- 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.
|
|
14
36
|
|
|
15
|
-
[unreleased]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.
|
|
37
|
+
[unreleased]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.3.0...HEAD
|
|
38
|
+
[0.3.0]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.2.0...gitkraken:releases/core/v0.3.0
|
|
39
|
+
[0.2.0]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.1.0...gitkraken:releases/core/v0.2.0
|
|
16
40
|
[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
|
-
import type { GitBranch } from './models/branch.js';
|
|
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';
|
|
@@ -19,16 +19,25 @@ import type { GitStash } from './models/stash.js';
|
|
|
19
19
|
import type { GitTag } from './models/tag.js';
|
|
20
20
|
import type { GitUser } from './models/user.js';
|
|
21
21
|
import type { GitWorktree } from './models/worktree.js';
|
|
22
|
+
import type { BranchContributionsOverview, GitBranchMergedStatus } from './providers/branches.js';
|
|
22
23
|
import type { GitCommitReachability, LeftRightCommitCountResult } from './providers/commits.js';
|
|
23
24
|
import type { GitContributorsResult } from './providers/contributors.js';
|
|
24
25
|
import type { ResolvedRevision } from './providers/revision.js';
|
|
26
|
+
import type { GitResult } from './run.types.js';
|
|
25
27
|
import type { GitIgnoreFilter } from './watching/gitIgnoreFilter.js';
|
|
26
28
|
type RepoPath = string;
|
|
27
29
|
/** Cache types that are keyed by file path within a repo — support per-file clearing */
|
|
28
30
|
export type UriScopedCachedGitTypes = 'blame' | 'diff' | 'fileLog';
|
|
29
31
|
export declare function areUriScopedCachedGitTypes(types: string[]): types is UriScopedCachedGitTypes[];
|
|
30
|
-
export type CachedGitTypes = UriScopedCachedGitTypes | 'branch' | 'branches' | 'config' | 'contributors' | 'gitignore' | 'gkConfig' | 'providers' | 'remotes' | 'stashes' | 'status' | 'tags' | 'tracking' | 'worktrees';
|
|
32
|
+
export type CachedGitTypes = UriScopedCachedGitTypes | 'branch' | 'branches' | 'config' | 'contributors' | 'gitignore' | 'gkConfig' | 'lastFetched' | 'providers' | 'remotes' | 'stashes' | 'status' | 'tags' | 'tracking' | 'worktrees';
|
|
31
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';
|
|
32
41
|
export declare class Cache implements Disposable {
|
|
33
42
|
private _caches;
|
|
34
43
|
private _commonPathRegistry;
|
|
@@ -40,7 +49,11 @@ export declare class Cache implements Disposable {
|
|
|
40
49
|
get blame(): RepoPromiseCacheMap<string, ProgressiveGitBlame | undefined>;
|
|
41
50
|
get diff(): RepoPromiseCacheMap<string, ParsedGitDiffHunks | undefined>;
|
|
42
51
|
get fileLog(): RepoPromiseCacheMap<string, GitLog | undefined>;
|
|
52
|
+
private get baseBranchName();
|
|
43
53
|
get branch(): PromiseMap<RepoPath, GitBranch | undefined>;
|
|
54
|
+
get branchMergedStatus(): RepoPromiseCacheMap<string, GitBranchMergedStatus>;
|
|
55
|
+
private get branchMetadataMap();
|
|
56
|
+
private get branchOverviews();
|
|
44
57
|
get branches(): PromiseMap<RepoPath, PagedResult<GitBranch>>;
|
|
45
58
|
/**
|
|
46
59
|
* Internal cache for raw shared branch data (keyed by commonPath)
|
|
@@ -65,13 +78,17 @@ export declare class Cache implements Disposable {
|
|
|
65
78
|
get initialCommitSha(): PromiseMap<RepoPath, string | undefined>;
|
|
66
79
|
get lastFetched(): PromiseCache<RepoPath, number | undefined>;
|
|
67
80
|
get leftRightCommitCount(): RepoPromiseCacheMap<string, LeftRightCommitCountResult | undefined>;
|
|
68
|
-
|
|
81
|
+
get commit(): RepoPromiseCacheMap<string, GitCommit | undefined>;
|
|
82
|
+
get commitCount(): RepoPromiseCacheMap<string, number | undefined>;
|
|
83
|
+
get mergeBase(): RepoPromiseCacheMap<string, string | undefined>;
|
|
69
84
|
get logShas(): RepoPromiseCacheMap<string, string[]>;
|
|
70
85
|
get pausedOperationStatus(): PromiseMap<RepoPath, GitPausedOperationStatus | undefined>;
|
|
71
86
|
get resolvedRevisions(): RepoPromiseCacheMap<string, ResolvedRevision>;
|
|
87
|
+
get refs(): PromiseMap<RepoPath, RefRecord[]>;
|
|
88
|
+
get refTips(): PromiseMap<RepoPath, GitRefTip[]>;
|
|
72
89
|
get reachability(): RepoPromiseCacheMap<string, GitCommitReachability | undefined>;
|
|
73
90
|
get remotes(): PromiseMap<RepoPath, GitRemote[]>;
|
|
74
|
-
get stashes():
|
|
91
|
+
get stashes(): RepoPromiseCacheMap<string, GitStash>;
|
|
75
92
|
get tags(): PromiseMap<RepoPath, PagedResult<GitTag>>;
|
|
76
93
|
get fileExistence(): RepoPromiseCacheMap<string, boolean>;
|
|
77
94
|
get ignoreRevsFile(): PromiseCache<string, boolean>;
|
|
@@ -112,7 +129,21 @@ export declare class Cache implements Disposable {
|
|
|
112
129
|
deleteConfig(repoPath: string | undefined, key: string): void;
|
|
113
130
|
getGkConfig(repoPath: string, key: string, factory: () => PromiseOrValue<string | undefined>): Promise<string | undefined>;
|
|
114
131
|
getGkConfigRegex(repoPath: string, pattern: string, factory: () => PromiseOrValue<Map<string, string>>): Promise<Map<string, string>>;
|
|
115
|
-
|
|
132
|
+
/**
|
|
133
|
+
* @param options.skipInvalidation Downstream caches the caller wants preserved despite this
|
|
134
|
+
* write. Use when the value being written is exactly what was just resolved — e.g. the Tier 2
|
|
135
|
+
* `storeMergeTargetBranchName` self-write inside `getBranchContributionsOverview` (skip
|
|
136
|
+
* `'branchOverviews'`) or the Tier 3 `storeBaseBranchName` self-write inside `getBaseBranchName`
|
|
137
|
+
* (skip both `'baseBranchName'` and `'branchOverviews'`). The upstream caches (`gkConfigKeys`,
|
|
138
|
+
* `gkConfigPatterns`) always invalidate so subsequent reads of this key see the new value.
|
|
139
|
+
*/
|
|
140
|
+
deleteGkConfig(repoPath: string, key: string, options?: {
|
|
141
|
+
skipInvalidation?: readonly GkConfigInvalidationTarget[];
|
|
142
|
+
}): void;
|
|
143
|
+
getBranchOverview(repoPath: string, cacheKey: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<BranchContributionsOverview | undefined>, options?: {
|
|
144
|
+
accessTTL?: number;
|
|
145
|
+
cancellation?: AbortSignal;
|
|
146
|
+
}): Promise<BranchContributionsOverview | undefined>;
|
|
116
147
|
getContributors(repoPath: string, cacheKey: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<GitContributorsResult>, options?: {
|
|
117
148
|
accessTTL?: number;
|
|
118
149
|
cancellation?: AbortSignal;
|
|
@@ -121,14 +152,23 @@ export declare class Cache implements Disposable {
|
|
|
121
152
|
accessTTL?: number;
|
|
122
153
|
cancellation?: AbortSignal;
|
|
123
154
|
}): Promise<GitContributor[]>;
|
|
124
|
-
getContributorsStats(repoPath: string, cacheKey: string, factory: (commonPath: string) => PromiseOrValue<GitContributorsStats | undefined>, options?: {
|
|
155
|
+
getContributorsStats(repoPath: string, cacheKey: string, factory: (commonPath: string, cancellation?: AbortSignal) => PromiseOrValue<GitContributorsStats | undefined>, options?: {
|
|
125
156
|
accessTTL?: number;
|
|
157
|
+
cancellation?: AbortSignal;
|
|
126
158
|
}): Promise<GitContributorsStats | undefined>;
|
|
159
|
+
getBaseBranchName(repoPath: string, ref: string, factory: (commonPath: string, cancellation?: AbortSignal) => PromiseOrValue<string | undefined>, cancellation?: AbortSignal): Promise<string | undefined>;
|
|
160
|
+
getBranchMergedStatus(repoPath: string, cacheKey: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<GitBranchMergedStatus>, cancellation?: AbortSignal): Promise<GitBranchMergedStatus>;
|
|
161
|
+
getBranchMetadataMap(repoPath: string, factory: (commonPath: string) => PromiseOrValue<Map<string, BranchMetadata>>): Promise<Map<string, BranchMetadata>>;
|
|
127
162
|
getDefaultBranchName(repoPath: string, remote: string, factory: (commonPath: string) => PromiseOrValue<string | undefined>): Promise<string | undefined>;
|
|
128
163
|
getInitialCommitSha(repoPath: string, factory: (commonPath: string) => PromiseOrValue<string | undefined>): Promise<string | undefined>;
|
|
129
164
|
getLastFetchedTimestamp(repoPath: string, factory: (commonPath: string) => PromiseOrValue<number | undefined>): Promise<number | undefined>;
|
|
165
|
+
getRefs(repoPath: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<RefRecord[]>, cancellation?: AbortSignal): Promise<RefRecord[]>;
|
|
166
|
+
getRefTips(repoPath: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<GitRefTip[]>, cancellation?: AbortSignal): Promise<GitRefTip[]>;
|
|
130
167
|
getRemotes(repoPath: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<GitRemote[]>, cancellation?: AbortSignal): Promise<GitRemote[]>;
|
|
131
|
-
getStash(repoPath: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<GitStash>,
|
|
168
|
+
getStash(repoPath: string, cacheKey: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<GitStash>, options?: {
|
|
169
|
+
accessTTL?: number;
|
|
170
|
+
cancellation?: AbortSignal;
|
|
171
|
+
}): Promise<GitStash>;
|
|
132
172
|
getTags(repoPath: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<PagedResult<GitTag>>, cancellation?: AbortSignal): Promise<PagedResult<GitTag>>;
|
|
133
173
|
getWorktrees(repoPath: string, factory: (commonPath: string, cacheable: CacheController, cancellation?: AbortSignal) => PromiseOrValue<GitWorktree[]>, cancellation?: AbortSignal): Promise<GitWorktree[]>;
|
|
134
174
|
private getSharedOrCreate;
|
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
|
@@ -10,13 +10,24 @@ import { debug } from '../utils/decorators/log.js';
|
|
|
10
10
|
import { invalidateMemoized } from '../utils/decorators/memoize.js';
|
|
11
11
|
import { normalizePath } from '../utils/path.js';
|
|
12
12
|
import { PromiseCache, PromiseMap, RepoPromiseCacheMap } from '../utils/promiseCache.js';
|
|
13
|
+
import { getBranchId } from './utils/branch.utils.js';
|
|
14
|
+
import { createReference } from './utils/reference.utils.js';
|
|
13
15
|
import { getCommonRepositoryPath, getRepositoryOrWorktreePath } from './utils/repository.utils.js';
|
|
14
16
|
const uriScopedCachedGitTypes = ['blame', 'diff', 'fileLog'];
|
|
15
17
|
export function areUriScopedCachedGitTypes(types) {
|
|
16
18
|
return types.every(t => uriScopedCachedGitTypes.includes(t));
|
|
17
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* gkConfig keys that participate in the `branchOverviews` cache's mergeTarget/mergeBase lineage.
|
|
22
|
+
* Capture group 1 is the ref name (which may itself contain `.`/`/`).
|
|
23
|
+
*/
|
|
24
|
+
const branchOverviewGkConfigKeysRegex = /^branch\.(.+)\.(?:gk-merge-(?:base|target(?:-user)?)|gk-target-base)$/;
|
|
18
25
|
/** Compile-time enforced: adding a key to SharedCaches without listing it here is a type error */
|
|
19
26
|
const sharedCacheKeys = new Set(exhaustiveArray()([
|
|
27
|
+
'baseBranchName',
|
|
28
|
+
'branchMergedStatus',
|
|
29
|
+
'branchMetadataMap',
|
|
30
|
+
'branchOverviews',
|
|
20
31
|
'branches',
|
|
21
32
|
'configKeys',
|
|
22
33
|
'configPatterns',
|
|
@@ -28,7 +39,10 @@ const sharedCacheKeys = new Set(exhaustiveArray()([
|
|
|
28
39
|
'gkConfigKeys',
|
|
29
40
|
'gkConfigPatterns',
|
|
30
41
|
'initialCommitSha',
|
|
42
|
+
'lastFetched',
|
|
31
43
|
'logShas',
|
|
44
|
+
'refs',
|
|
45
|
+
'refTips',
|
|
32
46
|
'remotes',
|
|
33
47
|
'sharedBranches',
|
|
34
48
|
'stashes',
|
|
@@ -37,13 +51,20 @@ const sharedCacheKeys = new Set(exhaustiveArray()([
|
|
|
37
51
|
]));
|
|
38
52
|
function createEmptyCaches() {
|
|
39
53
|
return {
|
|
54
|
+
baseBranchName: undefined,
|
|
40
55
|
bestRemotes: undefined,
|
|
41
56
|
blame: undefined,
|
|
42
57
|
branch: undefined,
|
|
58
|
+
branchMergedStatus: undefined,
|
|
59
|
+
branchMetadataMap: undefined,
|
|
60
|
+
branchOverviews: undefined,
|
|
43
61
|
branches: undefined,
|
|
62
|
+
commit: undefined,
|
|
63
|
+
commitCount: undefined,
|
|
44
64
|
fileExistence: undefined,
|
|
45
65
|
ignoreRevsFile: undefined,
|
|
46
66
|
leftRightCommitCount: undefined,
|
|
67
|
+
mergeBase: undefined,
|
|
47
68
|
configKeys: undefined,
|
|
48
69
|
configPatterns: undefined,
|
|
49
70
|
conflictDetection: undefined,
|
|
@@ -66,6 +87,8 @@ function createEmptyCaches() {
|
|
|
66
87
|
pausedOperationStatus: undefined,
|
|
67
88
|
resolvedRevisions: undefined,
|
|
68
89
|
reachability: undefined,
|
|
90
|
+
refs: undefined,
|
|
91
|
+
refTips: undefined,
|
|
69
92
|
remotes: undefined,
|
|
70
93
|
sharedBranches: undefined,
|
|
71
94
|
stashes: undefined,
|
|
@@ -106,9 +129,23 @@ export class Cache {
|
|
|
106
129
|
capacity: 50,
|
|
107
130
|
}));
|
|
108
131
|
}
|
|
132
|
+
get baseBranchName() {
|
|
133
|
+
return (this._caches.baseBranchName ??= new RepoPromiseCacheMap());
|
|
134
|
+
}
|
|
109
135
|
get branch() {
|
|
110
136
|
return (this._caches.branch ??= new PromiseMap());
|
|
111
137
|
}
|
|
138
|
+
get branchMergedStatus() {
|
|
139
|
+
return (this._caches.branchMergedStatus ??= new RepoPromiseCacheMap({
|
|
140
|
+
createTTL: 1000 * 60 * 5, // 5 minutes
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
get branchMetadataMap() {
|
|
144
|
+
return (this._caches.branchMetadataMap ??= new PromiseMap());
|
|
145
|
+
}
|
|
146
|
+
get branchOverviews() {
|
|
147
|
+
return (this._caches.branchOverviews ??= new RepoPromiseCacheMap({ accessTTL: 1000 * 60 * 60 }));
|
|
148
|
+
}
|
|
112
149
|
get branches() {
|
|
113
150
|
return (this._caches.branches ??= new PromiseMap());
|
|
114
151
|
}
|
|
@@ -192,13 +229,23 @@ export class Cache {
|
|
|
192
229
|
capacity: 50, // Limit to 50 ref-pairs per repo
|
|
193
230
|
}));
|
|
194
231
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
232
|
+
get commit() {
|
|
233
|
+
return (this._caches.commit ??= new RepoPromiseCacheMap({
|
|
234
|
+
accessTTL: 1000 * 60 * 60, // 60 minutes
|
|
235
|
+
capacity: 100, // Limit to 100 commits per repo
|
|
236
|
+
}));
|
|
237
|
+
}
|
|
238
|
+
get commitCount() {
|
|
239
|
+
return (this._caches.commitCount ??= new RepoPromiseCacheMap({
|
|
240
|
+
accessTTL: 1000 * 60 * 60, // 60 minutes
|
|
241
|
+
capacity: 50,
|
|
242
|
+
}));
|
|
243
|
+
}
|
|
244
|
+
get mergeBase() {
|
|
245
|
+
return (this._caches.mergeBase ??= new RepoPromiseCacheMap({
|
|
246
|
+
accessTTL: 1000 * 60 * 60, // 60 minutes
|
|
247
|
+
capacity: 50,
|
|
248
|
+
}));
|
|
202
249
|
}
|
|
203
250
|
get logShas() {
|
|
204
251
|
return (this._caches.logShas ??= new RepoPromiseCacheMap({
|
|
@@ -215,6 +262,12 @@ export class Cache {
|
|
|
215
262
|
capacity: 100,
|
|
216
263
|
}));
|
|
217
264
|
}
|
|
265
|
+
get refs() {
|
|
266
|
+
return (this._caches.refs ??= new PromiseMap());
|
|
267
|
+
}
|
|
268
|
+
get refTips() {
|
|
269
|
+
return (this._caches.refTips ??= new PromiseMap());
|
|
270
|
+
}
|
|
218
271
|
get reachability() {
|
|
219
272
|
return (this._caches.reachability ??= new RepoPromiseCacheMap({
|
|
220
273
|
accessTTL: 1000 * 60 * 60, // 60 minutes
|
|
@@ -225,7 +278,9 @@ export class Cache {
|
|
|
225
278
|
return (this._caches.remotes ??= new PromiseMap());
|
|
226
279
|
}
|
|
227
280
|
get stashes() {
|
|
228
|
-
return (this._caches.stashes ??= new
|
|
281
|
+
return (this._caches.stashes ??= new RepoPromiseCacheMap({
|
|
282
|
+
accessTTL: 1000 * 60 * 60, // 60 minutes
|
|
283
|
+
}));
|
|
229
284
|
}
|
|
230
285
|
get tags() {
|
|
231
286
|
return (this._caches.tags ??= new PromiseMap());
|
|
@@ -275,22 +330,37 @@ export class Cache {
|
|
|
275
330
|
if (types.includes('fileLog')) {
|
|
276
331
|
keysToClear.add('fileLog');
|
|
277
332
|
}
|
|
278
|
-
//
|
|
333
|
+
// Branch caches affected by HEAD/heads changes — `branchMergedStatus` is shared
|
|
334
|
+
// (the answer is invariant across worktrees of the same common repo) but is invalidated
|
|
335
|
+
// here because branch-tip movement in any worktree can change the merge status; the
|
|
336
|
+
// shared-clear logic below routes shared keys via commonPath.
|
|
279
337
|
if (types.includes('branch') || types.includes('branches')) {
|
|
280
338
|
keysToClear.add('branch');
|
|
339
|
+
keysToClear.add('branchMergedStatus');
|
|
340
|
+
keysToClear.add('branchOverviews');
|
|
341
|
+
// `commit`/`commitCount` are keyed by symbolic ref or SHA — symbolic-ref entries
|
|
342
|
+
// can drift when branches move; cascade-clear conservatively.
|
|
343
|
+
keysToClear.add('commit');
|
|
344
|
+
keysToClear.add('commitCount');
|
|
281
345
|
keysToClear.add('conflictDetection');
|
|
282
346
|
keysToClear.add('currentBranchReference');
|
|
283
347
|
keysToClear.add('leftRightCommitCount');
|
|
348
|
+
// `mergeBase` keyed by ref-pairs — symbolic refs can move; cascade-clear.
|
|
349
|
+
keysToClear.add('mergeBase');
|
|
284
350
|
keysToClear.add('reachability');
|
|
285
351
|
keysToClear.add('resolvedRevisions');
|
|
286
352
|
}
|
|
287
353
|
// Shared branch caches (branch list, metadata)
|
|
288
354
|
if (types.includes('branches')) {
|
|
355
|
+
keysToClear.add('baseBranchName');
|
|
356
|
+
keysToClear.add('branchMetadataMap');
|
|
289
357
|
keysToClear.add('branches');
|
|
290
358
|
keysToClear.add('sharedBranches');
|
|
291
359
|
keysToClear.add('defaultBranchName');
|
|
292
360
|
keysToClear.add('initialCommitSha');
|
|
293
361
|
keysToClear.add('logShas');
|
|
362
|
+
keysToClear.add('refs');
|
|
363
|
+
keysToClear.add('refTips');
|
|
294
364
|
}
|
|
295
365
|
if (types.includes('config')) {
|
|
296
366
|
keysToClear.add('configKeys');
|
|
@@ -300,6 +370,7 @@ export class Cache {
|
|
|
300
370
|
keysToClear.add('gitDir');
|
|
301
371
|
}
|
|
302
372
|
if (types.includes('contributors')) {
|
|
373
|
+
keysToClear.add('branchOverviews');
|
|
303
374
|
keysToClear.add('contributors');
|
|
304
375
|
keysToClear.add('contributorsLite');
|
|
305
376
|
keysToClear.add('contributorsStats');
|
|
@@ -310,6 +381,15 @@ export class Cache {
|
|
|
310
381
|
if (types.includes('gkConfig')) {
|
|
311
382
|
keysToClear.add('gkConfigKeys');
|
|
312
383
|
keysToClear.add('gkConfigPatterns');
|
|
384
|
+
// Derived from `branch.<ref>.gk-merge-base`/`vscode-merge-base`; clear so external
|
|
385
|
+
// gkConfig mutations don't leave stale base-branch resolutions cached.
|
|
386
|
+
keysToClear.add('baseBranchName');
|
|
387
|
+
// Cached overviews are keyed by `${ref}|${mergeTarget}`; bulk gkConfig changes can
|
|
388
|
+
// affect any of the merge-target sources (stored, base, default), so clear all.
|
|
389
|
+
keysToClear.add('branchOverviews');
|
|
390
|
+
}
|
|
391
|
+
if (types.includes('lastFetched')) {
|
|
392
|
+
keysToClear.add('lastFetched');
|
|
313
393
|
}
|
|
314
394
|
if (types.includes('providers')) {
|
|
315
395
|
keysToClear.add('remotes');
|
|
@@ -329,6 +409,8 @@ export class Cache {
|
|
|
329
409
|
}
|
|
330
410
|
if (types.includes('tags')) {
|
|
331
411
|
keysToClear.add('tags');
|
|
412
|
+
keysToClear.add('refs');
|
|
413
|
+
keysToClear.add('refTips');
|
|
332
414
|
}
|
|
333
415
|
if (types.includes('tracking')) {
|
|
334
416
|
keysToClear.add('fileExistence');
|
|
@@ -516,6 +598,9 @@ export class Cache {
|
|
|
516
598
|
if (hasAny('gkConfig')) {
|
|
517
599
|
types.add('gkConfig');
|
|
518
600
|
}
|
|
601
|
+
if (hasAny('lastFetched')) {
|
|
602
|
+
types.add('lastFetched');
|
|
603
|
+
}
|
|
519
604
|
if (hasAny('remoteProviders')) {
|
|
520
605
|
types.add('providers');
|
|
521
606
|
}
|
|
@@ -614,10 +699,47 @@ export class Cache {
|
|
|
614
699
|
this.gkConfigPatterns.set(cacheKey, pattern, factoryPromise);
|
|
615
700
|
return factoryPromise;
|
|
616
701
|
}
|
|
617
|
-
|
|
702
|
+
/**
|
|
703
|
+
* @param options.skipInvalidation Downstream caches the caller wants preserved despite this
|
|
704
|
+
* write. Use when the value being written is exactly what was just resolved — e.g. the Tier 2
|
|
705
|
+
* `storeMergeTargetBranchName` self-write inside `getBranchContributionsOverview` (skip
|
|
706
|
+
* `'branchOverviews'`) or the Tier 3 `storeBaseBranchName` self-write inside `getBaseBranchName`
|
|
707
|
+
* (skip both `'baseBranchName'` and `'branchOverviews'`). The upstream caches (`gkConfigKeys`,
|
|
708
|
+
* `gkConfigPatterns`) always invalidate so subsequent reads of this key see the new value.
|
|
709
|
+
*/
|
|
710
|
+
deleteGkConfig(repoPath, key, options) {
|
|
618
711
|
const cacheKey = this.getCommonPath(repoPath);
|
|
619
712
|
this._caches.gkConfigKeys?.delete(cacheKey, key);
|
|
620
713
|
this._caches.gkConfigPatterns?.delete(cacheKey);
|
|
714
|
+
const refMatch = key.match(branchOverviewGkConfigKeysRegex);
|
|
715
|
+
if (refMatch == null)
|
|
716
|
+
return;
|
|
717
|
+
const ref = refMatch[1];
|
|
718
|
+
const skip = options?.skipInvalidation;
|
|
719
|
+
// `getBaseBranchName` reads `branch.<ref>.gk-merge-base` and caches the resolved value
|
|
720
|
+
// per-ref. A write to that key must invalidate the cached base or Tier 3 of
|
|
721
|
+
// `getBranchContributionsOverview` will resolve `mergeTarget` against the pre-write value.
|
|
722
|
+
if (key.endsWith('.gk-merge-base') && !skip?.includes('baseBranchName')) {
|
|
723
|
+
this._caches.baseBranchName?.delete(cacheKey, ref);
|
|
724
|
+
}
|
|
725
|
+
if (skip?.includes('branchOverviews'))
|
|
726
|
+
return;
|
|
727
|
+
// When the change affects a branch's merge-target/base lineage, invalidate that branch's
|
|
728
|
+
// cached overviews so subsequent reads pick up the new stored value rather than stale data.
|
|
729
|
+
// `getBranchContributionsOverview` keys `branchOverviews` by `${ref}|${mergeTarget}`, so
|
|
730
|
+
// invalidate every entry for the affected ref regardless of which target it resolved to.
|
|
731
|
+
// Uses `invalidateByKeyPrefix` (not `deleteByKeyPrefix`) so an in-flight factory is still
|
|
732
|
+
// shared with new callers instead of triggering a duplicate fetch.
|
|
733
|
+
this._caches.branchOverviews?.invalidateByKeyPrefix(cacheKey, `${ref}|`);
|
|
734
|
+
}
|
|
735
|
+
async getBranchOverview(repoPath, cacheKey, factory, options) {
|
|
736
|
+
return this.getSharedOrCreateWithKey(this.branchOverviews, repoPath, cacheKey, factory, (data, newRepoPath) => data == null
|
|
737
|
+
? data
|
|
738
|
+
: {
|
|
739
|
+
...data,
|
|
740
|
+
repoPath: newRepoPath,
|
|
741
|
+
contributors: data.contributors.map(c => c.withRepoPath(newRepoPath)),
|
|
742
|
+
}, options);
|
|
621
743
|
}
|
|
622
744
|
async getContributors(repoPath, cacheKey, factory, options) {
|
|
623
745
|
return this.getSharedOrCreateWithKey(this.contributors, repoPath, cacheKey, factory, (data, newRepoPath) => ({
|
|
@@ -631,6 +753,34 @@ export class Cache {
|
|
|
631
753
|
getContributorsStats(repoPath, cacheKey, factory, options) {
|
|
632
754
|
return this.getSharedSimpleWithKey(this.contributorsStats, repoPath, cacheKey, factory, options);
|
|
633
755
|
}
|
|
756
|
+
getBaseBranchName(repoPath, ref, factory, cancellation) {
|
|
757
|
+
return this.getSharedSimpleWithKey(this.baseBranchName, repoPath, ref, factory, {
|
|
758
|
+
cancellation: cancellation,
|
|
759
|
+
});
|
|
760
|
+
}
|
|
761
|
+
getBranchMergedStatus(repoPath, cacheKey, factory, cancellation) {
|
|
762
|
+
return this.getSharedOrCreateWithKey(this.branchMergedStatus, repoPath, cacheKey, factory, (data, newRepoPath) => {
|
|
763
|
+
if (!data.merged)
|
|
764
|
+
return data;
|
|
765
|
+
if (data.localBranchOnly == null)
|
|
766
|
+
return data;
|
|
767
|
+
const lbo = data.localBranchOnly;
|
|
768
|
+
return {
|
|
769
|
+
...data,
|
|
770
|
+
localBranchOnly: createReference(lbo.ref, newRepoPath, {
|
|
771
|
+
id: getBranchId(newRepoPath, lbo.remote, lbo.name),
|
|
772
|
+
refType: 'branch',
|
|
773
|
+
name: lbo.name,
|
|
774
|
+
remote: lbo.remote,
|
|
775
|
+
upstream: lbo.upstream,
|
|
776
|
+
sha: lbo.sha,
|
|
777
|
+
}),
|
|
778
|
+
};
|
|
779
|
+
}, { cancellation: cancellation });
|
|
780
|
+
}
|
|
781
|
+
getBranchMetadataMap(repoPath, factory) {
|
|
782
|
+
return this.getSharedSimple(this.branchMetadataMap, repoPath, factory);
|
|
783
|
+
}
|
|
634
784
|
getDefaultBranchName(repoPath, remote, factory) {
|
|
635
785
|
return this.getSharedSimpleWithKey(this.defaultBranchName, repoPath, remote, factory);
|
|
636
786
|
}
|
|
@@ -640,17 +790,27 @@ export class Cache {
|
|
|
640
790
|
getLastFetchedTimestamp(repoPath, factory) {
|
|
641
791
|
return this.getSharedSimple(this.lastFetched, repoPath, factory);
|
|
642
792
|
}
|
|
793
|
+
getRefs(repoPath, factory, cancellation) {
|
|
794
|
+
// Raw ref records are repoPath-agnostic (no per-worktree binding to remap), so we key only
|
|
795
|
+
// by commonPath and skip the per-worktree mapper that `getBranches`/`getTags` need.
|
|
796
|
+
const commonPath = this.getCommonPath(repoPath);
|
|
797
|
+
return this.refs.getOrCreate(commonPath, (cacheable, signal) => Promise.resolve(factory(commonPath, cacheable, signal)), cancellation);
|
|
798
|
+
}
|
|
799
|
+
getRefTips(repoPath, factory, cancellation) {
|
|
800
|
+
const commonPath = this.getCommonPath(repoPath);
|
|
801
|
+
return this.refTips.getOrCreate(commonPath, (cacheable, signal) => Promise.resolve(factory(commonPath, cacheable, signal)), cancellation);
|
|
802
|
+
}
|
|
643
803
|
async getRemotes(repoPath, factory, cancellation) {
|
|
644
804
|
return this.getSharedOrCreate(this.remotes, repoPath, factory, (data, newRepoPath) => data.map(r => r.withRepoPath(newRepoPath)), cancellation);
|
|
645
805
|
}
|
|
646
|
-
async getStash(repoPath, factory,
|
|
647
|
-
return this.
|
|
806
|
+
async getStash(repoPath, cacheKey, factory, options) {
|
|
807
|
+
return this.getSharedOrCreateWithKey(this.stashes, repoPath, cacheKey, factory, (data, newRepoPath) => ({
|
|
648
808
|
repoPath: newRepoPath,
|
|
649
809
|
stashes: new Map(Array.from(data.stashes.entries(), ([sha, s]) => [
|
|
650
810
|
sha,
|
|
651
811
|
s.withRepoPath(newRepoPath),
|
|
652
812
|
])),
|
|
653
|
-
}),
|
|
813
|
+
}), options);
|
|
654
814
|
}
|
|
655
815
|
async getTags(repoPath, factory, cancellation) {
|
|
656
816
|
return this.getSharedOrCreate(this.tags, repoPath, factory, (data, newRepoPath) => ({ ...data, values: data.values.map(t => t.withRepoPath(newRepoPath)) }), cancellation);
|
|
@@ -747,7 +907,7 @@ export class Cache {
|
|
|
747
907
|
}
|
|
748
908
|
async getSharedSimpleWithKey(cache, repoPath, cacheKey, factory, options) {
|
|
749
909
|
const commonPath = this.getCommonPath(repoPath);
|
|
750
|
-
return cache.getOrCreate(commonPath, cacheKey, () => Promise.resolve(factory(commonPath)), options);
|
|
910
|
+
return cache.getOrCreate(commonPath, cacheKey, (_cacheable, signal) => Promise.resolve(factory(commonPath, signal)), options);
|
|
751
911
|
}
|
|
752
912
|
}
|
|
753
913
|
__decorate([
|