@gitkraken/core-gitlens 0.5.113 → 0.5.115
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 +42 -1
- package/dist/git/cache.d.ts +4 -0
- package/dist/git/cache.d.ts.map +1 -1
- package/dist/git/cache.js +33 -0
- package/dist/git/cache.js.map +1 -1
- package/dist/git/context.d.ts +10 -0
- package/dist/git/context.d.ts.map +1 -1
- package/dist/git/context.js.map +1 -1
- package/dist/git/errors.d.ts +6 -3
- package/dist/git/errors.d.ts.map +1 -1
- package/dist/git/errors.js +9 -1
- package/dist/git/errors.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 +38 -0
- package/dist/git/features.js.map +1 -1
- package/dist/git/gitHealth.d.ts +153 -0
- package/dist/git/gitHealth.d.ts.map +1 -0
- package/dist/git/gitHealth.js +353 -0
- package/dist/git/gitHealth.js.map +1 -0
- package/dist/git/models/search.d.ts +6 -3
- package/dist/git/models/search.d.ts.map +1 -1
- package/dist/git/models/search.js +5 -1
- package/dist/git/models/search.js.map +1 -1
- package/dist/git/parsers/diffParser.d.ts +8 -2
- package/dist/git/parsers/diffParser.d.ts.map +1 -1
- package/dist/git/parsers/diffParser.js +27 -4
- package/dist/git/parsers/diffParser.js.map +1 -1
- package/dist/git/providers/config.d.ts +36 -3
- package/dist/git/providers/config.d.ts.map +1 -1
- package/dist/git/providers/graph.d.ts +9 -0
- package/dist/git/providers/graph.d.ts.map +1 -1
- package/dist/git/providers/maintenance.d.ts +222 -0
- package/dist/git/providers/maintenance.d.ts.map +1 -0
- package/dist/git/providers/maintenance.js +20 -0
- package/dist/git/providers/maintenance.js.map +1 -0
- package/dist/git/providers/operations.d.ts +10 -0
- package/dist/git/providers/operations.d.ts.map +1 -1
- package/dist/git/providers/pausedOperations.d.ts +3 -0
- package/dist/git/providers/pausedOperations.d.ts.map +1 -1
- package/dist/git/providers/provider.d.ts +2 -0
- package/dist/git/providers/provider.d.ts.map +1 -1
- package/dist/git/providers/tags.d.ts +3 -0
- package/dist/git/providers/tags.d.ts.map +1 -1
- package/dist/git/repositoryService.d.ts +1 -0
- package/dist/git/repositoryService.d.ts.map +1 -1
- package/dist/git/repositoryService.js.map +1 -1
- package/dist/git/run.types.d.ts +8 -0
- package/dist/git/run.types.d.ts.map +1 -1
- package/dist/git/service.js +3 -0
- package/dist/git/service.js.map +1 -1
- package/dist/git/utils/search.utils.d.ts.map +1 -1
- package/dist/git/utils/search.utils.js +112 -5
- package/dist/git/utils/search.utils.js.map +1 -1
- package/dist/git/watching/watchService.d.ts +3 -0
- package/dist/git/watching/watchService.d.ts.map +1 -1
- package/dist/git/watching/watchService.js +8 -0
- package/dist/git/watching/watchService.js.map +1 -1
- package/dist/git-cli/cliGitProvider.d.ts +11 -0
- package/dist/git-cli/cliGitProvider.d.ts.map +1 -1
- package/dist/git-cli/cliGitProvider.js +12 -0
- package/dist/git-cli/cliGitProvider.js.map +1 -1
- package/dist/git-cli/exec/git.d.ts +23 -1
- package/dist/git-cli/exec/git.d.ts.map +1 -1
- package/dist/git-cli/exec/git.js +83 -8
- package/dist/git-cli/exec/git.js.map +1 -1
- package/dist/git-cli/exec/gitQueue.d.ts +2 -0
- package/dist/git-cli/exec/gitQueue.d.ts.map +1 -1
- package/dist/git-cli/exec/gitQueue.js +19 -17
- package/dist/git-cli/exec/gitQueue.js.map +1 -1
- package/dist/git-cli/parsers/logParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/logParser.js +4 -1
- package/dist/git-cli/parsers/logParser.js.map +1 -1
- package/dist/git-cli/providers/blame.d.ts.map +1 -1
- package/dist/git-cli/providers/blame.js +4 -7
- package/dist/git-cli/providers/blame.js.map +1 -1
- package/dist/git-cli/providers/branches.d.ts.map +1 -1
- package/dist/git-cli/providers/branches.js +13 -3
- package/dist/git-cli/providers/branches.js.map +1 -1
- package/dist/git-cli/providers/commits.d.ts.map +1 -1
- package/dist/git-cli/providers/commits.js +34 -3
- package/dist/git-cli/providers/commits.js.map +1 -1
- package/dist/git-cli/providers/config.d.ts +27 -0
- package/dist/git-cli/providers/config.d.ts.map +1 -1
- package/dist/git-cli/providers/config.js +31 -6
- package/dist/git-cli/providers/config.js.map +1 -1
- package/dist/git-cli/providers/graph.d.ts +8 -0
- package/dist/git-cli/providers/graph.d.ts.map +1 -1
- package/dist/git-cli/providers/graph.js +85 -6
- package/dist/git-cli/providers/graph.js.map +1 -1
- package/dist/git-cli/providers/maintenance.d.ts +306 -0
- package/dist/git-cli/providers/maintenance.d.ts.map +1 -0
- package/dist/git-cli/providers/maintenance.js +2129 -0
- package/dist/git-cli/providers/maintenance.js.map +1 -0
- package/dist/git-cli/providers/operations.d.ts +1 -0
- package/dist/git-cli/providers/operations.d.ts.map +1 -1
- package/dist/git-cli/providers/operations.js +8 -0
- package/dist/git-cli/providers/operations.js.map +1 -1
- package/dist/git-cli/providers/pausedOperations.d.ts +1 -0
- package/dist/git-cli/providers/pausedOperations.d.ts.map +1 -1
- package/dist/git-cli/providers/pausedOperations.js +1 -1
- package/dist/git-cli/providers/pausedOperations.js.map +1 -1
- package/dist/git-cli/providers/tags.d.ts +3 -0
- package/dist/git-cli/providers/tags.d.ts.map +1 -1
- package/dist/git-cli/providers/tags.js +23 -1
- package/dist/git-cli/providers/tags.js.map +1 -1
- package/dist/plus/agents/agentCapabilities.d.ts +77 -0
- package/dist/plus/agents/agentCapabilities.d.ts.map +1 -0
- package/dist/plus/agents/agentCapabilities.js +197 -0
- package/dist/plus/agents/agentCapabilities.js.map +1 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts +77 -13
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts.map +1 -1
- package/dist/plus/agents/providers/claudeCodeTranscript.js +263 -55
- package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -1
- package/dist/plus/agents/providers/{claudeCodeProvider.d.ts → gkAgentProvider.d.ts} +52 -19
- package/dist/plus/agents/providers/gkAgentProvider.d.ts.map +1 -0
- package/dist/plus/agents/providers/{claudeCodeProvider.js → gkAgentProvider.js} +935 -262
- package/dist/plus/agents/providers/gkAgentProvider.js.map +1 -0
- package/dist/plus/agents/types.d.ts +113 -35
- package/dist/plus/agents/types.d.ts.map +1 -1
- package/dist/plus/agents/types.js +7 -4
- package/dist/plus/agents/types.js.map +1 -1
- package/dist/plus/ai/models/promptTemplates.d.ts +1 -1
- package/dist/plus/ai/models/promptTemplates.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 +59 -4
- package/dist/plus/ai/prompts.js.map +1 -1
- package/dist/plus/git-github/api/github.d.ts +44 -1
- package/dist/plus/git-github/api/github.d.ts.map +1 -1
- package/dist/plus/git-github/api/github.js +355 -62
- package/dist/plus/git-github/api/github.js.map +1 -1
- package/dist/plus/git-github/api/issueSearchQuery.d.ts +13 -0
- package/dist/plus/git-github/api/issueSearchQuery.d.ts.map +1 -1
- package/dist/plus/git-github/api/issueSearchQuery.js +41 -0
- package/dist/plus/git-github/api/issueSearchQuery.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 +2 -1
- package/dist/plus/git-github/providers/github/blame.js.map +1 -1
- package/dist/plus/integrations/collectionMetadata.d.ts +2 -0
- package/dist/plus/integrations/collectionMetadata.d.ts.map +1 -1
- package/dist/plus/integrations/collectionMetadata.js +17 -1
- package/dist/plus/integrations/collectionMetadata.js.map +1 -1
- package/dist/plus/integrations/context.d.ts +4 -1
- package/dist/plus/integrations/context.d.ts.map +1 -1
- package/dist/plus/integrations/index.d.ts +1 -0
- package/dist/plus/integrations/index.d.ts.map +1 -1
- package/dist/plus/integrations/integrationService.d.ts +20 -1
- package/dist/plus/integrations/integrationService.d.ts.map +1 -1
- package/dist/plus/integrations/integrationService.js +12 -4
- package/dist/plus/integrations/integrationService.js.map +1 -1
- package/dist/plus/integrations/manager.d.ts +48 -0
- package/dist/plus/integrations/manager.d.ts.map +1 -1
- package/dist/plus/integrations/models/gitHostIntegration.d.ts +53 -26
- package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -1
- package/dist/plus/integrations/models/gitHostIntegration.js +123 -47
- package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -1
- package/dist/plus/integrations/models/integration.d.ts +10 -1
- package/dist/plus/integrations/models/integration.d.ts.map +1 -1
- package/dist/plus/integrations/models/integration.js +52 -19
- package/dist/plus/integrations/models/integration.js.map +1 -1
- package/dist/plus/integrations/models/issueCache.d.ts +16 -0
- package/dist/plus/integrations/models/issueCache.d.ts.map +1 -0
- package/dist/plus/integrations/models/issueCache.js +9 -0
- package/dist/plus/integrations/models/issueCache.js.map +1 -0
- package/dist/plus/integrations/models/issueReads.d.ts +13 -0
- package/dist/plus/integrations/models/issueReads.d.ts.map +1 -1
- package/dist/plus/integrations/models/issuesIntegration.d.ts +11 -13
- package/dist/plus/integrations/models/issuesIntegration.d.ts.map +1 -1
- package/dist/plus/integrations/models/issuesIntegration.js +15 -1
- package/dist/plus/integrations/models/issuesIntegration.js.map +1 -1
- package/dist/plus/integrations/providers/azureDevOps.d.ts +3 -5
- package/dist/plus/integrations/providers/azureDevOps.d.ts.map +1 -1
- package/dist/plus/integrations/providers/azureDevOps.js +9 -8
- package/dist/plus/integrations/providers/azureDevOps.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket-server.d.ts +3 -5
- package/dist/plus/integrations/providers/bitbucket-server.d.ts.map +1 -1
- package/dist/plus/integrations/providers/bitbucket-server.js +2 -2
- package/dist/plus/integrations/providers/bitbucket-server.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket.d.ts +3 -5
- package/dist/plus/integrations/providers/bitbucket.d.ts.map +1 -1
- package/dist/plus/integrations/providers/bitbucket.js +2 -1
- package/dist/plus/integrations/providers/bitbucket.js.map +1 -1
- package/dist/plus/integrations/providers/github.d.ts +12 -5
- package/dist/plus/integrations/providers/github.d.ts.map +1 -1
- package/dist/plus/integrations/providers/github.js +10 -3
- package/dist/plus/integrations/providers/github.js.map +1 -1
- package/dist/plus/integrations/providers/gitlab.d.ts +3 -5
- package/dist/plus/integrations/providers/gitlab.d.ts.map +1 -1
- package/dist/plus/integrations/providers/gitlab.js +2 -2
- package/dist/plus/integrations/providers/gitlab.js.map +1 -1
- package/dist/plus/integrations/providers/jira.d.ts +3 -7
- package/dist/plus/integrations/providers/jira.d.ts.map +1 -1
- package/dist/plus/integrations/providers/jira.js +35 -22
- package/dist/plus/integrations/providers/jira.js.map +1 -1
- package/dist/plus/integrations/providers/jiraIssueByKey.d.ts +7 -0
- package/dist/plus/integrations/providers/jiraIssueByKey.d.ts.map +1 -0
- package/dist/plus/integrations/providers/jiraIssueByKey.js +102 -0
- package/dist/plus/integrations/providers/jiraIssueByKey.js.map +1 -0
- package/dist/plus/integrations/providers/linear.d.ts +3 -7
- package/dist/plus/integrations/providers/linear.d.ts.map +1 -1
- package/dist/plus/integrations/providers/linear.js +23 -22
- package/dist/plus/integrations/providers/linear.js.map +1 -1
- package/dist/plus/integrations/providers/models.d.ts +3 -1
- package/dist/plus/integrations/providers/models.d.ts.map +1 -1
- package/dist/plus/integrations/providers/models.js +10 -4
- package/dist/plus/integrations/providers/models.js.map +1 -1
- package/dist/plus/integrations/providers/providerErrors.d.ts +7 -0
- package/dist/plus/integrations/providers/providerErrors.d.ts.map +1 -0
- package/dist/plus/integrations/providers/providerErrors.js +91 -0
- package/dist/plus/integrations/providers/providerErrors.js.map +1 -0
- package/dist/plus/integrations/providers/providersApi.d.ts +3 -2
- package/dist/plus/integrations/providers/providersApi.d.ts.map +1 -1
- package/dist/plus/integrations/providers/providersApi.js +18 -52
- package/dist/plus/integrations/providers/providersApi.js.map +1 -1
- package/dist/plus/integrations/providers/trello.d.ts +2 -7
- package/dist/plus/integrations/providers/trello.d.ts.map +1 -1
- package/dist/plus/integrations/providers/trello.js +3 -1
- package/dist/plus/integrations/providers/trello.js.map +1 -1
- package/dist/plus/integrations/providers/utils/providerPaging.d.ts +2 -0
- package/dist/plus/integrations/providers/utils/providerPaging.d.ts.map +1 -1
- package/dist/plus/integrations/providers/utils/providerPaging.js +12 -7
- package/dist/plus/integrations/providers/utils/providerPaging.js.map +1 -1
- package/dist/plus/integrations/reads/broaden.d.ts +47 -10
- package/dist/plus/integrations/reads/broaden.d.ts.map +1 -1
- package/dist/plus/integrations/reads/broaden.js +144 -33
- package/dist/plus/integrations/reads/broaden.js.map +1 -1
- package/dist/plus/integrations/reads/filters.d.ts +18 -0
- package/dist/plus/integrations/reads/filters.d.ts.map +1 -1
- package/dist/plus/integrations/reads/filters.js +37 -1
- package/dist/plus/integrations/reads/filters.js.map +1 -1
- package/dist/plus/integrations/reads/issueBatch.d.ts +51 -0
- package/dist/plus/integrations/reads/issueBatch.d.ts.map +1 -0
- package/dist/plus/integrations/reads/issueBatch.js +91 -0
- package/dist/plus/integrations/reads/issueBatch.js.map +1 -0
- package/dist/plus/integrations/reads/issueTracker.d.ts.map +1 -1
- package/dist/plus/integrations/reads/issueTracker.js +23 -17
- package/dist/plus/integrations/reads/issueTracker.js.map +1 -1
- package/dist/plus/integrations/reads/sweeps.d.ts.map +1 -1
- package/dist/plus/integrations/reads/sweeps.js +5 -3
- package/dist/plus/integrations/reads/sweeps.js.map +1 -1
- package/dist/plus/integrations/reads/trackerIssue.d.ts +21 -0
- package/dist/plus/integrations/reads/trackerIssue.d.ts.map +1 -0
- package/dist/plus/integrations/reads/trackerIssue.js +51 -0
- package/dist/plus/integrations/reads/trackerIssue.js.map +1 -0
- package/dist/plus/integrations/reads/warnings.d.ts +2 -15
- package/dist/plus/integrations/reads/warnings.d.ts.map +1 -1
- package/dist/plus/integrations/reads/warnings.js +19 -1
- package/dist/plus/integrations/reads/warnings.js.map +1 -1
- package/dist/plus/integrations/results.d.ts +4 -20
- package/dist/plus/integrations/results.d.ts.map +1 -1
- package/dist/plus/integrations/results.js.map +1 -1
- package/dist/utils/promise.d.ts +2 -0
- package/dist/utils/promise.d.ts.map +1 -1
- package/dist/utils/promise.js +11 -0
- package/dist/utils/promise.js.map +1 -1
- package/dist/utils/promiseCache.d.ts +19 -0
- package/dist/utils/promiseCache.d.ts.map +1 -1
- package/dist/utils/promiseCache.js +30 -0
- package/dist/utils/promiseCache.js.map +1 -1
- package/dist/utils/resourceUsage.d.ts +5 -0
- package/dist/utils/resourceUsage.d.ts.map +1 -0
- package/dist/utils/resourceUsage.js +2 -0
- package/dist/utils/resourceUsage.js.map +1 -0
- package/dist/utils/string.d.ts +12 -0
- package/dist/utils/string.d.ts.map +1 -1
- package/dist/utils/string.js +36 -1
- package/dist/utils/string.js.map +1 -1
- package/docs/integrations.md +48 -33
- package/docs/kepler-read-api-parity.md +25 -4
- package/package.json +12 -4
- package/src/git/cache.ts +36 -0
- package/src/git/context.ts +11 -0
- package/src/git/errors.ts +13 -1
- package/src/git/features.ts +51 -0
- package/src/git/gitHealth.ts +522 -0
- package/src/git/models/search.ts +19 -4
- package/src/git/parsers/diffParser.ts +27 -4
- package/src/git/providers/config.ts +42 -1
- package/src/git/providers/graph.ts +12 -0
- package/src/git/providers/maintenance.ts +224 -0
- package/src/git/providers/operations.ts +10 -0
- package/src/git/providers/pausedOperations.ts +3 -0
- package/src/git/providers/provider.ts +2 -0
- package/src/git/providers/tags.ts +1 -0
- package/src/git/repositoryService.ts +1 -0
- package/src/git/run.types.ts +8 -0
- package/src/git/service.ts +3 -0
- package/src/git/utils/search.utils.ts +129 -5
- package/src/git/watching/watchService.ts +10 -0
- package/src/git-cli/cliGitProvider.ts +25 -0
- package/src/git-cli/exec/git.ts +120 -6
- package/src/git-cli/exec/gitQueue.ts +19 -17
- package/src/git-cli/parsers/logParser.ts +4 -1
- package/src/git-cli/providers/blame.ts +3 -8
- package/src/git-cli/providers/branches.ts +28 -8
- package/src/git-cli/providers/commits.ts +34 -2
- package/src/git-cli/providers/config.ts +38 -6
- package/src/git-cli/providers/graph.ts +107 -7
- package/src/git-cli/providers/maintenance.ts +2599 -0
- package/src/git-cli/providers/operations.ts +11 -0
- package/src/git-cli/providers/pausedOperations.ts +7 -2
- package/src/git-cli/providers/tags.ts +36 -1
- package/src/plus/agents/agentCapabilities.ts +286 -0
- package/src/plus/agents/providers/claudeCodeTranscript.ts +313 -58
- package/src/plus/agents/providers/{claudeCodeProvider.ts → gkAgentProvider.ts} +1123 -277
- package/src/plus/agents/types.ts +137 -40
- package/src/plus/ai/models/promptTemplates.ts +1 -1
- package/src/plus/ai/prompts.ts +62 -4
- package/src/plus/git-github/api/github.ts +404 -82
- package/src/plus/git-github/api/issueSearchQuery.ts +49 -1
- package/src/plus/git-github/providers/github/blame.ts +2 -1
- package/src/plus/integrations/collectionMetadata.ts +23 -1
- package/src/plus/integrations/context.ts +1 -1
- package/src/plus/integrations/index.ts +1 -0
- package/src/plus/integrations/integrationService.ts +29 -4
- package/src/plus/integrations/manager.ts +48 -0
- package/src/plus/integrations/models/gitHostIntegration.ts +165 -129
- package/src/plus/integrations/models/integration.ts +57 -22
- package/src/plus/integrations/models/issueCache.ts +29 -0
- package/src/plus/integrations/models/issueReads.ts +15 -0
- package/src/plus/integrations/models/issuesIntegration.ts +38 -8
- package/src/plus/integrations/providers/azureDevOps.ts +16 -13
- package/src/plus/integrations/providers/bitbucket-server.ts +4 -6
- package/src/plus/integrations/providers/bitbucket.ts +3 -4
- package/src/plus/integrations/providers/github.ts +23 -7
- package/src/plus/integrations/providers/gitlab.ts +4 -6
- package/src/plus/integrations/providers/jira.ts +52 -26
- package/src/plus/integrations/providers/jiraIssueByKey.ts +155 -0
- package/src/plus/integrations/providers/linear.ts +38 -25
- package/src/plus/integrations/providers/models.ts +17 -5
- package/src/plus/integrations/providers/providerErrors.ts +115 -0
- package/src/plus/integrations/providers/providersApi.ts +26 -68
- package/src/plus/integrations/providers/trello.ts +5 -4
- package/src/plus/integrations/providers/utils/providerPaging.ts +14 -7
- package/src/plus/integrations/reads/broaden.ts +282 -70
- package/src/plus/integrations/reads/filters.ts +39 -1
- package/src/plus/integrations/reads/issueBatch.ts +197 -0
- package/src/plus/integrations/reads/issueTracker.ts +26 -24
- package/src/plus/integrations/reads/sweeps.ts +19 -12
- package/src/plus/integrations/reads/trackerIssue.ts +105 -0
- package/src/plus/integrations/reads/warnings.ts +23 -17
- package/src/plus/integrations/results.ts +4 -20
- package/src/utils/promise.ts +15 -0
- package/src/utils/promiseCache.ts +43 -0
- package/src/utils/resourceUsage.ts +5 -0
- package/src/utils/string.ts +38 -1
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +0 -1
- package/dist/plus/agents/providers/claudeCodeProvider.js.map +0 -1
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import type { Cache } from '../../git/cache.js';
|
|
2
|
+
import type { GitServiceContext } from '../../git/context.js';
|
|
3
|
+
import type { GitHealthDetails, GitHealthSnapshot, GitMaintenanceSubProvider, GitMaintenanceTask, GitOptimizationCapability, GitOptimizationId } from '../../git/providers/maintenance.js';
|
|
4
|
+
import type { CliGitProviderInternal } from '../cliGitProvider.js';
|
|
5
|
+
import type { Git } from '../exec/git.js';
|
|
6
|
+
export declare class MaintenanceGitSubProvider implements GitMaintenanceSubProvider {
|
|
7
|
+
private readonly context;
|
|
8
|
+
private readonly git;
|
|
9
|
+
private readonly cache;
|
|
10
|
+
private readonly provider;
|
|
11
|
+
constructor(context: GitServiceContext, git: Git, cache: Cache, provider: CliGitProviderInternal);
|
|
12
|
+
private readonly commitGraphWrittenAt;
|
|
13
|
+
private readonly commitGraphWriteInflight;
|
|
14
|
+
request(repoPath: string, task: GitMaintenanceTask): Promise<boolean> | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Opportunistically refreshes git's commit-graph (the demand cadence behind `request('commit-graph')`).
|
|
17
|
+
* Without one that COVERS the history, any ordered walk (`--date-order`/`--topo-order` — exactly the
|
|
18
|
+
* graph's initial load) must inflate every commit object to sort BEFORE the first row can be emitted,
|
|
19
|
+
* costing a full-history walk per open; the commit-graph also accelerates `git log`, merge-base, and
|
|
20
|
+
* ahead/behind across the whole extension. It's a standard acceleration cache (`git gc`/`git maintenance`
|
|
21
|
+
* write it routinely) and is always safe to delete. Fire-and-forget: refreshed at most every few minutes
|
|
22
|
+
* per object database (a current chain makes the write a near-no-op), at background queue priority,
|
|
23
|
+
* failures swallowed. Cross-WINDOW writes aren't coordinated here — git's own `commit-graph-chain.lock`
|
|
24
|
+
* serializes them; a loser errors and is swallowed. Resolves `true` only when the write completes; the
|
|
25
|
+
* health service uses that signal for one post-write freshness probe, while graph consumers ignore it.
|
|
26
|
+
*/
|
|
27
|
+
private ensureCommitGraph;
|
|
28
|
+
/** Shared opt-out gate for automatic and explicit writes. */
|
|
29
|
+
private isCommitGraphWriteDisabled;
|
|
30
|
+
/**
|
|
31
|
+
* The commit-graph write itself. Always a `--split` write: mere existence isn't enough (a stale or thin
|
|
32
|
+
* chain — e.g. one auto-gc increment — accelerates nothing); `--split` appends an incremental layer
|
|
33
|
+
* covering only the uncovered commits (near-no-op when current) and git self-merges layers by its
|
|
34
|
+
* geometric policy. Background priority: a first write on a huge repo can run for a while and must never
|
|
35
|
+
* hold a queue slot ahead of interactive work. Throws on failure — callers decide whether to swallow.
|
|
36
|
+
*/
|
|
37
|
+
private writeCommitGraph;
|
|
38
|
+
/** Config-only partial/promisor detection; never examines an object and therefore cannot itself lazy-fetch. */
|
|
39
|
+
private isPartialClone;
|
|
40
|
+
/** Honors an explicit MIDX opt-out on both automatic and user-invoked incremental repacks. */
|
|
41
|
+
private isMultiPackIndexEnabled;
|
|
42
|
+
getHealthSnapshot(repoPath: string, cancellation?: AbortSignal): Promise<GitHealthSnapshot>;
|
|
43
|
+
/**
|
|
44
|
+
* Reads all Git Health gk markers (not-applicable flags + `gk.applied.*` ownership) from ONE bulk
|
|
45
|
+
* `.git/gk/config` read (git lowercases the section + variable in `--get-regexp` output, preserving the
|
|
46
|
+
* `applied` subsection). A read failure degrades to all-false — the report just re-suggests, never crashes.
|
|
47
|
+
*/
|
|
48
|
+
private probeGkMarkers;
|
|
49
|
+
getHealthDetails(repoPath: string, cancellation?: AbortSignal): Promise<GitHealthDetails>;
|
|
50
|
+
private _capabilities;
|
|
51
|
+
getCapabilities(_repoPath: string): Promise<GitOptimizationCapability[]>;
|
|
52
|
+
private getCapabilitiesCore;
|
|
53
|
+
runMaintenanceTask(repoPath: string, task: GitMaintenanceTask, options?: {
|
|
54
|
+
readonly auto?: boolean;
|
|
55
|
+
readonly cancellation?: AbortSignal;
|
|
56
|
+
}): Promise<boolean>;
|
|
57
|
+
applyOptimization(repoPath: string, id: GitOptimizationId, cancellation?: AbortSignal): Promise<boolean>;
|
|
58
|
+
revertOptimization(repoPath: string, id: GitOptimizationId, cancellation?: AbortSignal): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* The Git Health per-repository commit-graph off switch (`gk.commitGraphDisabled`). Unlike the
|
|
61
|
+
* ownership markers above, this isn't a "record prior, then restore" lever — it's a plain flag with no
|
|
62
|
+
* underlying config value to protect — so it needs no marker lock; two windows toggling it concurrently
|
|
63
|
+
* just resolve to whichever write lands last.
|
|
64
|
+
*/
|
|
65
|
+
setCommitGraphDisabled(repoPath: string, disabled: boolean, cancellation?: AbortSignal): Promise<void>;
|
|
66
|
+
private applyUntrackedCache;
|
|
67
|
+
/** Whether git's filesystem probe says the untracked cache can be used here (exit 0). */
|
|
68
|
+
private testUntrackedCacheSupport;
|
|
69
|
+
private applyFsmonitor;
|
|
70
|
+
private applyManyFiles;
|
|
71
|
+
/** Enables sparse-directory index entries for an existing cone-mode sparse checkout. */
|
|
72
|
+
private applySparseIndex;
|
|
73
|
+
/** Expands a sparse index only when this worktree's marker proves GitLens enabled it. */
|
|
74
|
+
private revertSparseIndex;
|
|
75
|
+
private runSparseCheckoutReapply;
|
|
76
|
+
/**
|
|
77
|
+
* The `git maintenance start` version gate for the current platform: launchctl/schtasks scheduling
|
|
78
|
+
* (win/mac) needs 2.31; Linux relies on a systemd timer (2.34), since 2.31–2.33 is cron-only and
|
|
79
|
+
* modern distros often ship without cron.
|
|
80
|
+
*/
|
|
81
|
+
private get backgroundMaintenanceFeature();
|
|
82
|
+
private startBackgroundMaintenance;
|
|
83
|
+
private revertBackgroundMaintenance;
|
|
84
|
+
/**
|
|
85
|
+
* Records a config lever's prior LOCAL value (or the `unset` sentinel) under its ownership marker BEFORE
|
|
86
|
+
* mutating, so undo restores the exact prior and never a hardcoded inverse; the marker's presence also
|
|
87
|
+
* means "applied by GitLens" (so undo is never offered for a user-enabled lever).
|
|
88
|
+
*/
|
|
89
|
+
private recordPriorAndMark;
|
|
90
|
+
/** The body of {@link recordPriorAndMark}, for callers already holding the marker lock. */
|
|
91
|
+
private recordPriorUnlocked;
|
|
92
|
+
/**
|
|
93
|
+
* Reconciles write-ahead records left by an interrupted direct config mutation. The cached namespace read
|
|
94
|
+
* keeps the normal probe free of extra subprocesses; an actual pending record is re-read under the marker
|
|
95
|
+
* lock before it is finalized or cleared.
|
|
96
|
+
*/
|
|
97
|
+
private reconcilePendingConfigChanges;
|
|
98
|
+
/** Body of {@link reconcilePendingConfigChanges} for a caller already holding the marker lock. */
|
|
99
|
+
private reconcilePendingConfigChangesUnlocked;
|
|
100
|
+
/**
|
|
101
|
+
* Applies direct config levers for a caller holding the ownership-marker lock. A write-ahead record closes
|
|
102
|
+
* the crash gap between the local config and ownership files; an ordinary failure restores every config
|
|
103
|
+
* value and marker without cancellation.
|
|
104
|
+
*/
|
|
105
|
+
private applyConfigChangesUnlocked;
|
|
106
|
+
claimMaintenancePass(repoPath: string, intervalMs: number): Promise<boolean>;
|
|
107
|
+
/** The `.git/gk/` directory (common dir, so worktrees of a repo share it). */
|
|
108
|
+
private getGkDir;
|
|
109
|
+
private getSparseIndexMarkerPaths;
|
|
110
|
+
/**
|
|
111
|
+
* Reconciles the sparse-index command's worktree-local write-ahead marker. The fast path is filesystem
|
|
112
|
+
* only; a pending or stale-applied marker takes the worktree's sparse-index operation lock and re-reads
|
|
113
|
+
* Git config before mutating anything, so it cannot act on a snapshot that raced another window's
|
|
114
|
+
* apply/undo. A live operation keeps that lock across the index rewrite, but snapshots never wait for it:
|
|
115
|
+
* they return the last committed marker state until the operation publishes its result.
|
|
116
|
+
*/
|
|
117
|
+
private reconcileSparseIndexMarkers;
|
|
118
|
+
/** Body of {@link reconcileSparseIndexMarkers} for a caller already holding the ownership lock. */
|
|
119
|
+
private reconcileSparseIndexMarkersUnlocked;
|
|
120
|
+
/** Reads the effective worktree-scoped sparse-index switch without relying on a cached config map. */
|
|
121
|
+
private probeSparseIndexEnabled;
|
|
122
|
+
/** Reads an ownership marker straight from `.git/gk/config`, bypassing every cache. */
|
|
123
|
+
private readGkMarkerUncached;
|
|
124
|
+
/**
|
|
125
|
+
* Runs `fn` holding an exclusive on-disk lock over one ownership-marker scope. By default that is the
|
|
126
|
+
* repository family's config-marker scope; callers can provide a worktree-local lock location for an
|
|
127
|
+
* operation whose state is isolated per worktree. Two layers make this safe across processes:
|
|
128
|
+
*
|
|
129
|
+
* - **Exclusive-create ownership, with an identity record.** `open(lockPath, 'wx')` — the same `O_EXCL`
|
|
130
|
+
* primitive git uses for its own `*.lock` files — is the only atomic step; a contender that loses the
|
|
131
|
+
* race retries for up to `maxAttempts`, then fails loudly rather than proceeding unlocked (see below).
|
|
132
|
+
* The winner immediately writes its host, pid, and a fresh random `ownerId` into the lock file — an
|
|
133
|
+
* identity record, not a liveness lease, since nothing here ever acts on it while another holder is
|
|
134
|
+
* still running.
|
|
135
|
+
* - **Ownership-verified release.** On the way out, the lock file is removed only if its `ownerId` still
|
|
136
|
+
* matches the one this call wrote — a fresh random value per acquisition can't collide with a
|
|
137
|
+
* re-created lock the way an inode COULD in principle on some filesystems, so it's the primary check;
|
|
138
|
+
* the inode is also compared as a cheap secondary one.
|
|
139
|
+
*
|
|
140
|
+
* A lock left behind by a crashed window is deliberately NOT recovered automatically. Two designs were
|
|
141
|
+
* tried and rejected. Time-based leasing can't tell a dead owner from a slow one — an age alone doesn't
|
|
142
|
+
* distinguish them (git timeouts are user-configurable, and can be disabled entirely), and making it tell
|
|
143
|
+
* them apart takes a full lease-plus-fencing-token protocol this lock has no need for otherwise.
|
|
144
|
+
* Automatic stealing (rename the lock aside once a PID probe says its owner is provably dead) was tried
|
|
145
|
+
* next, and is unsound for a different reason: automatic recovery of an abandoned fixed-path lock cannot
|
|
146
|
+
* be made race-free using only the portable stock-Node primitives available here (exclusive-create and
|
|
147
|
+
* rename) — every recovery attempt separates observation from mutation, so a delayed stealer can rename
|
|
148
|
+
* away a NEW, live lock a fresh contender created in the gap between the probe and the rename, evicting a
|
|
149
|
+
* holder that was never dead. Kernel-managed advisory locking (`flock`) would close that gap, but Node
|
|
150
|
+
* exposes no portable interface to it and a native, platform-sensitive dependency is disproportionate
|
|
151
|
+
* here. Therefore a contender NEVER mutates an existing lock — only the creator removes one, and no stale
|
|
152
|
+
* observation can authorize mutation. Recovery is a guided MANUAL step instead: a give-up runs the same PID
|
|
153
|
+
* probe ONCE, purely to choose the error's wording. For the sparse-operation lock, a confirmed-live owner gets
|
|
154
|
+
* wait-only guidance, a confirmed-dead owner gets crash-recovery guidance, and an unverifiable owner gets the
|
|
155
|
+
* lock path plus guarded manual-recovery guidance. The shared marker lock retains its generic non-dead error.
|
|
156
|
+
* No verdict authorizes an automatic steal.
|
|
157
|
+
*
|
|
158
|
+
* Because a live holder can't lose its lock, `fn` needs no cancellation coupling to the lock itself — the
|
|
159
|
+
* critical section only ever ends on its own terms.
|
|
160
|
+
*
|
|
161
|
+
* Acquisition beyond the initial `open` is not atomic: the ownership record is written in a separate step
|
|
162
|
+
* just after. A crash landing exactly there — not caught by anything, since the process is gone — leaves
|
|
163
|
+
* a permanently-empty orphan lock; the give-up error's manual-deletion instructions are the only recovery
|
|
164
|
+
* for that case, same as for a confirmed-dead owner. A failure our OWN code can observe in that window
|
|
165
|
+
* (the post-`mkdir` setup, or the ownership write itself) is different: it fails closed, removing the
|
|
166
|
+
* lock it just created — ownership is certain there, since we hold the only handle — before rethrowing,
|
|
167
|
+
* so a transient error (e.g. `ENOSPC`) never strands a lock nothing can ever prove dead.
|
|
168
|
+
*
|
|
169
|
+
* Deliberately NOT named `config.lock` — that's the name git takes when writing `.git/gk/config` itself.
|
|
170
|
+
*/
|
|
171
|
+
private withMarkerLock;
|
|
172
|
+
/**
|
|
173
|
+
* Diagnoses the process recorded in `lockPath` for the give-up error's wording ONLY — see
|
|
174
|
+
* `withMarkerLock`'s doc comment for why a verdict never causes an automatic steal. Returns 'dead' only when
|
|
175
|
+
* the OS kill-probe returns `ESRCH`, 'alive' when it succeeds, and 'unverifiable' for unreadable/malformed
|
|
176
|
+
* content, a lock recorded on another host, or a probe that fails with anything but `ESRCH`.
|
|
177
|
+
*/
|
|
178
|
+
private probeLockOwner;
|
|
179
|
+
/**
|
|
180
|
+
* Reverts a config lever GitLens applied: restores its recorded prior LOCAL value (set it back, or unset
|
|
181
|
+
* when the prior was absent) and clears the marker. Returns `false` (a no-op) when no marker exists —
|
|
182
|
+
* a lever the user enabled themselves is never touched.
|
|
183
|
+
*/
|
|
184
|
+
private revertConfigLever;
|
|
185
|
+
/** Restores a lever's config to its recorded prior after a failed apply, then drops the ownership marker. */
|
|
186
|
+
private restorePriorAndClear;
|
|
187
|
+
/** Sets a local config value back to a recorded prior, decoding the `unset`/`empty` sentinels. */
|
|
188
|
+
private restoreLocalConfig;
|
|
189
|
+
/** Writes a gk marker, swallowing+logging any failure — a marker write must never fail the apply itself. */
|
|
190
|
+
private markGkConfigSafe;
|
|
191
|
+
/**
|
|
192
|
+
* Throws when a run that swallowed its errors (`errors: 'ignore'`) was actually cancelled or never ran.
|
|
193
|
+
* Such a run resolves with no meaningful exit code, so `completion` — not `exitCode` — is the only thing
|
|
194
|
+
* that proves a command ran. Without this a timeout reads as a clean success, and a safety probe or an
|
|
195
|
+
* undo would act on a command that never happened.
|
|
196
|
+
*/
|
|
197
|
+
private throwIfDidNotComplete;
|
|
198
|
+
/**
|
|
199
|
+
* Reads a config key's LOCAL-scope value (independent of global/system config). `undefined` when unset.
|
|
200
|
+
*
|
|
201
|
+
* Uses `--get-regex` (anchored to the exact key), not `--get`: `--get` exits 0 with EMPTY stdout for
|
|
202
|
+
* BOTH a bareword entry (`[section]\n\tkey`, valid syntax, git-boolean TRUE) and an explicit empty value
|
|
203
|
+
* (`key =`, git-boolean FALSE) — indistinguishable, which would record a bareword-true prior as the
|
|
204
|
+
* `unset` sentinel and let undo flip the user's true to false. `--get-regex` prints the two differently
|
|
205
|
+
* (a bareword line has no space; an empty value keeps a trailing one), which `parseConfigRegexOutput`'s
|
|
206
|
+
* `includeValueless` tells apart; for a multi-valued key it also prints every value in file order, so the
|
|
207
|
+
* LAST line in the map is still the `--get`-equivalent value.
|
|
208
|
+
*/
|
|
209
|
+
private getLocalConfig;
|
|
210
|
+
/** Sets a LOCAL config value. Throws the git error on a genuine write failure (config refused). */
|
|
211
|
+
private setLocalConfig;
|
|
212
|
+
private unsetLocalConfig;
|
|
213
|
+
/** Best-effort run; returns the result so callers that must distinguish "didn't run" can check it. */
|
|
214
|
+
private runQuietly;
|
|
215
|
+
private probeConfig;
|
|
216
|
+
private _registeredMaintenanceRepos;
|
|
217
|
+
/** The global `maintenance.repo` list. Throws rather than reporting an unreadable list as "none". */
|
|
218
|
+
private readRegisteredMaintenancePaths;
|
|
219
|
+
/**
|
|
220
|
+
* `git maintenance register` stores the symlink-RESOLVED worktree path, while GitLens deliberately keeps
|
|
221
|
+
* the symlinked path as the repo path — so match against both spellings.
|
|
222
|
+
*/
|
|
223
|
+
private matchesRegistered;
|
|
224
|
+
/** Each path plus its symlink-resolved spelling — `maintenance register` stores the resolved one. */
|
|
225
|
+
private resolveRegistrationCandidates;
|
|
226
|
+
/**
|
|
227
|
+
* Whether ANY worktree of this repo family is registered — the DETECTION question ("should we suggest
|
|
228
|
+
* this?"). Family-wide, because a sibling the user registered already covers the shared object database,
|
|
229
|
+
* and suggesting it again would leave two scheduled entries for one repo.
|
|
230
|
+
*/
|
|
231
|
+
private isMaintenanceRegistered;
|
|
232
|
+
/**
|
|
233
|
+
* Whether ONE specific path is registered — the OWNERSHIP question ("did our unregister take?"). Never
|
|
234
|
+
* ask this family-wide: a sibling the user registered is theirs, and it would block undo forever.
|
|
235
|
+
*/
|
|
236
|
+
private isPathRegistered;
|
|
237
|
+
private readonly _worktreePaths;
|
|
238
|
+
/**
|
|
239
|
+
* Every worktree path of this repo, MAIN FIRST — git's `worktree list` order, which holds regardless of
|
|
240
|
+
* which worktree it runs from, and lists the repo itself for a bare one.
|
|
241
|
+
*
|
|
242
|
+
* `git maintenance register` records the CURRENT worktree's path, so a repo family can accumulate
|
|
243
|
+
* several `maintenance.repo` entries — several scheduled runs over a single shared object database —
|
|
244
|
+
* while the `gk.applied.*` ownership marker lives in the shared common git dir and can only describe
|
|
245
|
+
* one of them. GitLens therefore REGISTERS the main worktree ({@link resolveMaintenanceRepoPath}) but
|
|
246
|
+
* DETECTS across the whole family, so a registration the user made from a sibling isn't missed.
|
|
247
|
+
*/
|
|
248
|
+
private resolveWorktreePaths;
|
|
249
|
+
/** The path GitLens registers for background maintenance: the repo's MAIN worktree. */
|
|
250
|
+
private resolveMaintenanceRepoPath;
|
|
251
|
+
private probeCommitGraph;
|
|
252
|
+
/**
|
|
253
|
+
* Whether the NEWEST commit-graph layer carries changed-path Bloom filters (the `BIDX` chunk). Only the
|
|
254
|
+
* newest layer matters here — `--changed-paths` computes filters for the just-written batch, so an older
|
|
255
|
+
* base layer written without them says nothing about current coverage. Reads only the header + chunk
|
|
256
|
+
* lookup table (a handful of bytes), never the graph body. Never throws — any failure (missing file, a
|
|
257
|
+
* malformed chain, a truncated read) reads as "no filters", matching every other probe in this file.
|
|
258
|
+
*/
|
|
259
|
+
private probeChangedPathFilters;
|
|
260
|
+
/** The newest graph layer's file path: the chain's last-listed layer when split, else the single file. */
|
|
261
|
+
private resolveNewestCommitGraphLayer;
|
|
262
|
+
/**
|
|
263
|
+
* Reads a commit-graph file's fixed 8-byte header (`CGPH` magic, version, hash version, chunk count,
|
|
264
|
+
* base-graph count) plus the chunk lookup table (`(chunkCount + 1)` entries of 4-byte id + 8-byte
|
|
265
|
+
* big-endian offset), and reports whether a `BIDX` (Bloom-filter-index) chunk id is present. Bounded to
|
|
266
|
+
* the header + table only — never reads the graph body.
|
|
267
|
+
*/
|
|
268
|
+
private hasBloomFilterChunk;
|
|
269
|
+
/**
|
|
270
|
+
* Reads the pack names represented by the active classic or incremental MIDX. A classic MIDX wins when
|
|
271
|
+
* both layouts exist, matching Git's own lookup order. Malformed metadata is reported as unknown instead
|
|
272
|
+
* of treating every pack as uncovered and silently launching repair work.
|
|
273
|
+
*/
|
|
274
|
+
private probeMultiPackIndex;
|
|
275
|
+
/** Reads and validates the `PNAM` chunk of one MIDX file. */
|
|
276
|
+
private readMultiPackIndexPackNames;
|
|
277
|
+
private probePacks;
|
|
278
|
+
private sampleLooseObjects;
|
|
279
|
+
/**
|
|
280
|
+
* Counts loose refs without traversing past the point where the recommendation decision is already made.
|
|
281
|
+
* `readDirectory` is a test seam for deterministic ref-layout races between parent and child reads.
|
|
282
|
+
*/
|
|
283
|
+
private probeLooseRefs;
|
|
284
|
+
private statMtime;
|
|
285
|
+
/** Presence probe that distinguishes a missing path from an unreadable one. */
|
|
286
|
+
private probePathPresence;
|
|
287
|
+
private fileBytes;
|
|
288
|
+
/**
|
|
289
|
+
* Reads the index entry count straight from the index header — `DIRC` signature, version, entry count,
|
|
290
|
+
* all big-endian, the first 12 bytes of `.git/index` — for free, no `git` invocation needed.
|
|
291
|
+
* `undefined` on any failure (missing index, short read, wrong signature): never a guess, never a throw.
|
|
292
|
+
*/
|
|
293
|
+
private probeIndexEntryCount;
|
|
294
|
+
/**
|
|
295
|
+
* Conservative split-index detection without spawning git or scanning index bodies. A shared-index file
|
|
296
|
+
* proves this worktree uses split indexes; its largest base file is included in the byte-size proxy. Stale
|
|
297
|
+
* bases can only make that explicitly-approximate signal larger.
|
|
298
|
+
*/
|
|
299
|
+
private probeSharedIndex;
|
|
300
|
+
/**
|
|
301
|
+
* Conflict stages duplicate paths in the header count. Operation-state files conservatively suppress the
|
|
302
|
+
* exact claim without an unconditional `ls-files --unmerged` index scan on every staging event.
|
|
303
|
+
*/
|
|
304
|
+
private probeConflictOperation;
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=maintenance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maintenance.d.ts","sourceRoot":"","sources":["../../../src/git-cli/providers/maintenance.ts"],"names":[],"mappings":"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"}
|