@gitkraken/core-gitlens 0.3.0 → 0.4.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 +20 -1
- package/README.md +13 -10
- package/dist/git/cache.d.ts +12 -6
- package/dist/git/cache.d.ts.map +1 -1
- package/dist/git/cache.js +40 -39
- package/dist/git/cache.js.map +1 -1
- package/dist/git/context.d.ts +23 -3
- package/dist/git/context.d.ts.map +1 -1
- package/dist/git/context.js.map +1 -1
- package/dist/git/features.d.ts +1 -1
- package/dist/git/features.d.ts.map +1 -1
- package/dist/git/features.js +1 -0
- package/dist/git/features.js.map +1 -1
- package/dist/git/models/graph.d.ts +96 -0
- package/dist/git/models/graph.d.ts.map +1 -1
- package/dist/git/models/graph.js +24 -1
- package/dist/git/models/graph.js.map +1 -1
- package/dist/git/models/remoteProvider.d.ts +1 -0
- package/dist/git/models/remoteProvider.d.ts.map +1 -1
- package/dist/git/models/remoteProvider.js.map +1 -1
- package/dist/git/models/repository.d.ts +21 -12
- package/dist/git/models/repository.d.ts.map +1 -1
- package/dist/git/models/repository.js +70 -84
- package/dist/git/models/repository.js.map +1 -1
- package/dist/git/models/statusFile.d.ts +9 -0
- package/dist/git/models/statusFile.d.ts.map +1 -1
- package/dist/git/models/statusFile.js +11 -0
- package/dist/git/models/statusFile.js.map +1 -1
- package/dist/git/providers/commits.d.ts +4 -0
- package/dist/git/providers/commits.d.ts.map +1 -1
- package/dist/git/providers/config.d.ts +1 -3
- package/dist/git/providers/config.d.ts.map +1 -1
- package/dist/git/providers/operations.d.ts +40 -13
- package/dist/git/providers/operations.d.ts.map +1 -1
- package/dist/git/providers/worktrees.d.ts +2 -0
- package/dist/git/providers/worktrees.d.ts.map +1 -1
- package/dist/git/remotes/custom.d.ts +2 -0
- package/dist/git/remotes/custom.d.ts.map +1 -1
- package/dist/git/remotes/custom.js +20 -0
- package/dist/git/remotes/custom.js.map +1 -1
- package/dist/git/utils/conflictResolution.utils.d.ts +32 -0
- package/dist/git/utils/conflictResolution.utils.d.ts.map +1 -1
- package/dist/git/utils/conflictResolution.utils.js +95 -0
- package/dist/git/utils/conflictResolution.utils.js.map +1 -1
- package/dist/git/utils/contributor.utils.d.ts +3 -0
- package/dist/git/utils/contributor.utils.d.ts.map +1 -1
- package/dist/git/utils/contributor.utils.js +22 -0
- package/dist/git/utils/contributor.utils.js.map +1 -1
- package/dist/git/utils/reachability.utils.d.ts +37 -0
- package/dist/git/utils/reachability.utils.d.ts.map +1 -0
- package/dist/git/utils/reachability.utils.js +96 -0
- package/dist/git/utils/reachability.utils.js.map +1 -0
- package/dist/git/watching/watchService.d.ts +4 -2
- package/dist/git/watching/watchService.d.ts.map +1 -1
- package/dist/git/watching/watchService.js +8 -3
- package/dist/git/watching/watchService.js.map +1 -1
- package/dist/git/watching/watchSession.d.ts +14 -12
- package/dist/git/watching/watchSession.d.ts.map +1 -1
- package/dist/git/watching/watchSession.js +56 -55
- package/dist/git/watching/watchSession.js.map +1 -1
- package/dist/git-cli/providers/branches.d.ts.map +1 -1
- package/dist/git-cli/providers/branches.js +1 -0
- package/dist/git-cli/providers/branches.js.map +1 -1
- package/dist/git-cli/providers/commits.d.ts +1 -0
- package/dist/git-cli/providers/commits.d.ts.map +1 -1
- package/dist/git-cli/providers/commits.js +12 -0
- package/dist/git-cli/providers/commits.js.map +1 -1
- package/dist/git-cli/providers/config.d.ts +8 -4
- package/dist/git-cli/providers/config.d.ts.map +1 -1
- package/dist/git-cli/providers/config.js +62 -39
- package/dist/git-cli/providers/config.js.map +1 -1
- package/dist/git-cli/providers/diff.d.ts.map +1 -1
- package/dist/git-cli/providers/diff.js +1 -1
- 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 +132 -14
- package/dist/git-cli/providers/graph.js.map +1 -1
- package/dist/git-cli/providers/operations.d.ts +7 -5
- package/dist/git-cli/providers/operations.d.ts.map +1 -1
- package/dist/git-cli/providers/operations.js +118 -95
- package/dist/git-cli/providers/operations.js.map +1 -1
- package/dist/git-cli/providers/stash.d.ts.map +1 -1
- package/dist/git-cli/providers/stash.js +20 -2
- package/dist/git-cli/providers/stash.js.map +1 -1
- package/dist/git-cli/providers/status.d.ts.map +1 -1
- package/dist/git-cli/providers/status.js +5 -2
- package/dist/git-cli/providers/status.js.map +1 -1
- package/dist/git-cli/providers/worktrees.d.ts +2 -0
- package/dist/git-cli/providers/worktrees.d.ts.map +1 -1
- package/dist/git-cli/providers/worktrees.js +3 -0
- package/dist/git-cli/providers/worktrees.js.map +1 -1
- package/dist/ipc/discovery.d.ts +22 -0
- package/dist/ipc/discovery.d.ts.map +1 -1
- package/dist/ipc/discovery.js +111 -2
- package/dist/ipc/discovery.js.map +1 -1
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts +73 -20
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +1 -1
- package/dist/plus/agents/providers/claudeCodeProvider.js +394 -88
- package/dist/plus/agents/providers/claudeCodeProvider.js.map +1 -1
- package/dist/plus/agents/types.d.ts +62 -11
- package/dist/plus/agents/types.d.ts.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/provider.d.ts +3 -0
- package/dist/plus/ai/models/provider.d.ts.map +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.d.ts +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.js +4 -1
- package/dist/plus/ai/providers/gitkrakenProvider.js.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts +4 -3
- package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.js +9 -6
- package/dist/plus/ai/providers/openAICompatibleProviderBase.js.map +1 -1
- package/dist/plus/ai/utils/ai.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/ai.utils.js +6 -4
- package/dist/plus/ai/utils/ai.utils.js.map +1 -1
- package/dist/plus/git-github/api/github.d.ts +8 -13
- package/dist/plus/git-github/api/github.d.ts.map +1 -1
- package/dist/plus/git-github/api/github.js +96 -14
- package/dist/plus/git-github/api/github.js.map +1 -1
- package/dist/plus/git-github/providers/github/refs.js +1 -1
- package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts +11 -0
- package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts.map +1 -0
- package/dist/plus/integrations/authentication/cloudIntegrationService.js +90 -0
- package/dist/plus/integrations/authentication/cloudIntegrationService.js.map +1 -0
- package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts +67 -0
- package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts.map +1 -0
- package/dist/plus/integrations/authentication/configuredIntegrationService.js +295 -0
- package/dist/plus/integrations/authentication/configuredIntegrationService.js.map +1 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts +92 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts.map +1 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js +185 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js.map +1 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts +62 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts.map +1 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationService.js +122 -0
- package/dist/plus/integrations/authentication/integrationAuthenticationService.js.map +1 -0
- package/dist/plus/integrations/authentication/manualTokenProvider.d.ts +15 -0
- package/dist/plus/integrations/authentication/manualTokenProvider.d.ts.map +1 -0
- package/dist/plus/integrations/authentication/manualTokenProvider.js +49 -0
- package/dist/plus/integrations/authentication/manualTokenProvider.js.map +1 -0
- package/dist/plus/integrations/authentication/models.d.ts +87 -0
- package/dist/plus/integrations/authentication/models.d.ts.map +1 -0
- package/dist/plus/integrations/authentication/models.js +64 -0
- package/dist/plus/integrations/authentication/models.js.map +1 -0
- package/dist/plus/integrations/constants.d.ts +47 -0
- package/dist/plus/integrations/constants.d.ts.map +1 -0
- package/dist/plus/integrations/constants.js +128 -0
- package/dist/plus/integrations/constants.js.map +1 -0
- package/dist/plus/integrations/context.d.ts +354 -0
- package/dist/plus/integrations/context.d.ts.map +1 -0
- package/dist/plus/integrations/context.js +2 -0
- package/dist/plus/integrations/context.js.map +1 -0
- package/dist/plus/integrations/errors.d.ts +14 -0
- package/dist/plus/integrations/errors.d.ts.map +1 -0
- package/dist/plus/integrations/errors.js +19 -0
- package/dist/plus/integrations/errors.js.map +1 -0
- package/dist/plus/integrations/index.d.ts +32 -0
- package/dist/plus/integrations/index.d.ts.map +1 -0
- package/dist/plus/integrations/index.js +62 -0
- package/dist/plus/integrations/index.js.map +1 -0
- package/dist/plus/integrations/integrationService.d.ts +98 -0
- package/dist/plus/integrations/integrationService.d.ts.map +1 -0
- package/dist/plus/integrations/integrationService.js +627 -0
- package/dist/plus/integrations/integrationService.js.map +1 -0
- package/dist/plus/integrations/models/gitHostIntegration.d.ts +82 -0
- package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -0
- package/dist/plus/integrations/models/gitHostIntegration.js +522 -0
- package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -0
- package/dist/plus/integrations/models/integration.d.ts +127 -0
- package/dist/plus/integrations/models/integration.d.ts.map +1 -0
- package/dist/plus/integrations/models/integration.js +456 -0
- package/dist/plus/integrations/models/integration.js.map +1 -0
- package/dist/plus/integrations/models/issuesIntegration.d.ts +28 -0
- package/dist/plus/integrations/models/issuesIntegration.d.ts.map +1 -0
- package/dist/plus/integrations/models/issuesIntegration.js +101 -0
- package/dist/plus/integrations/models/issuesIntegration.js.map +1 -0
- package/dist/plus/integrations/providers/apiClients.d.ts +25 -0
- package/dist/plus/integrations/providers/apiClients.d.ts.map +1 -0
- package/dist/plus/integrations/providers/apiClients.js +39 -0
- package/dist/plus/integrations/providers/apiClients.js.map +1 -0
- package/dist/plus/integrations/providers/azure/azure.d.ts +47 -0
- package/dist/plus/integrations/providers/azure/azure.d.ts.map +1 -0
- package/dist/plus/integrations/providers/azure/azure.js +444 -0
- package/dist/plus/integrations/providers/azure/azure.js.map +1 -0
- package/dist/plus/integrations/providers/azure/models.d.ts +286 -0
- package/dist/plus/integrations/providers/azure/models.d.ts.map +1 -0
- package/dist/plus/integrations/providers/azure/models.js +203 -0
- package/dist/plus/integrations/providers/azure/models.js.map +1 -0
- package/dist/plus/integrations/providers/azureDevOps.d.ts +95 -0
- package/dist/plus/integrations/providers/azureDevOps.d.ts.map +1 -0
- package/dist/plus/integrations/providers/azureDevOps.js +432 -0
- package/dist/plus/integrations/providers/azureDevOps.js.map +1 -0
- package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts +42 -0
- package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts.map +1 -0
- package/dist/plus/integrations/providers/bitbucket/bitbucket.js +513 -0
- package/dist/plus/integrations/providers/bitbucket/bitbucket.js.map +1 -0
- package/dist/plus/integrations/providers/bitbucket/models.d.ts +222 -0
- package/dist/plus/integrations/providers/bitbucket/models.d.ts.map +1 -0
- package/dist/plus/integrations/providers/bitbucket/models.js +158 -0
- package/dist/plus/integrations/providers/bitbucket/models.js.map +1 -0
- package/dist/plus/integrations/providers/bitbucket-server/models.d.ts +120 -0
- package/dist/plus/integrations/providers/bitbucket-server/models.d.ts.map +1 -0
- package/dist/plus/integrations/providers/bitbucket-server/models.js +111 -0
- package/dist/plus/integrations/providers/bitbucket-server/models.js.map +1 -0
- package/dist/plus/integrations/providers/bitbucket-server.d.ts +60 -0
- package/dist/plus/integrations/providers/bitbucket-server.d.ts.map +1 -0
- package/dist/plus/integrations/providers/bitbucket-server.js +138 -0
- package/dist/plus/integrations/providers/bitbucket-server.js.map +1 -0
- package/dist/plus/integrations/providers/bitbucket.d.ts +50 -0
- package/dist/plus/integrations/providers/bitbucket.d.ts.map +1 -0
- package/dist/plus/integrations/providers/bitbucket.js +181 -0
- package/dist/plus/integrations/providers/bitbucket.js.map +1 -0
- package/dist/plus/integrations/providers/github/github.d.ts +5 -0
- package/dist/plus/integrations/providers/github/github.d.ts.map +1 -0
- package/dist/plus/integrations/providers/github/github.js +47 -0
- package/dist/plus/integrations/providers/github/github.js.map +1 -0
- package/dist/plus/integrations/providers/github/github.utils.d.ts +11 -0
- package/dist/plus/integrations/providers/github/github.utils.d.ts.map +1 -0
- package/dist/plus/integrations/providers/github/github.utils.js +6 -0
- package/dist/plus/integrations/providers/github/github.utils.js.map +1 -0
- package/dist/plus/integrations/providers/github/models.d.ts +3 -0
- package/dist/plus/integrations/providers/github/models.d.ts.map +1 -0
- package/dist/plus/integrations/providers/github/models.js +2 -0
- package/dist/plus/integrations/providers/github/models.js.map +1 -0
- package/dist/plus/integrations/providers/github.d.ts +73 -0
- package/dist/plus/integrations/providers/github.d.ts.map +1 -0
- package/dist/plus/integrations/providers/github.js +160 -0
- package/dist/plus/integrations/providers/github.js.map +1 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.d.ts +63 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.d.ts.map +1 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.js +828 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.js.map +1 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts +21 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts.map +1 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.js +45 -0
- package/dist/plus/integrations/providers/gitlab/gitlab.utils.js.map +1 -0
- package/dist/plus/integrations/providers/gitlab/models.d.ts +128 -0
- package/dist/plus/integrations/providers/gitlab/models.d.ts.map +1 -0
- package/dist/plus/integrations/providers/gitlab/models.js +96 -0
- package/dist/plus/integrations/providers/gitlab/models.js.map +1 -0
- package/dist/plus/integrations/providers/gitlab.d.ts +79 -0
- package/dist/plus/integrations/providers/gitlab.d.ts.map +1 -0
- package/dist/plus/integrations/providers/gitlab.js +253 -0
- package/dist/plus/integrations/providers/gitlab.js.map +1 -0
- package/dist/plus/integrations/providers/jira.d.ts +46 -0
- package/dist/plus/integrations/providers/jira.d.ts.map +1 -0
- package/dist/plus/integrations/providers/jira.js +255 -0
- package/dist/plus/integrations/providers/jira.js.map +1 -0
- package/dist/plus/integrations/providers/linear.d.ts +47 -0
- package/dist/plus/integrations/providers/linear.d.ts.map +1 -0
- package/dist/plus/integrations/providers/linear.js +198 -0
- package/dist/plus/integrations/providers/linear.js.map +1 -0
- package/dist/plus/integrations/providers/models.d.ts +433 -0
- package/dist/plus/integrations/providers/models.d.ts.map +1 -0
- package/dist/plus/integrations/providers/models.js +602 -0
- package/dist/plus/integrations/providers/models.js.map +1 -0
- package/dist/plus/integrations/providers/providersApi.d.ts +129 -0
- package/dist/plus/integrations/providers/providersApi.d.ts.map +1 -0
- package/dist/plus/integrations/providers/providersApi.js +602 -0
- package/dist/plus/integrations/providers/providersApi.js.map +1 -0
- package/dist/plus/integrations/providers/utils.d.ts +54 -0
- package/dist/plus/integrations/providers/utils.d.ts.map +1 -0
- package/dist/plus/integrations/providers/utils.js +262 -0
- package/dist/plus/integrations/providers/utils.js.map +1 -0
- package/dist/plus/integrations/telemetry.d.ts +26 -0
- package/dist/plus/integrations/telemetry.d.ts.map +1 -0
- package/dist/plus/integrations/telemetry.js +11 -0
- package/dist/plus/integrations/telemetry.js.map +1 -0
- package/dist/plus/integrations/utils/integration.utils.d.ts +14 -0
- package/dist/plus/integrations/utils/integration.utils.d.ts.map +1 -0
- package/dist/plus/integrations/utils/integration.utils.js +111 -0
- package/dist/plus/integrations/utils/integration.utils.js.map +1 -0
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +6 -0
- package/dist/utils/date.js.map +1 -1
- package/dist/utils/debounce.js +1 -1
- package/dist/utils/disposable.d.ts +15 -2
- package/dist/utils/disposable.d.ts.map +1 -1
- package/dist/utils/disposable.js.map +1 -1
- package/dist/utils/iterable.d.ts +7 -1
- package/dist/utils/iterable.d.ts.map +1 -1
- package/dist/utils/iterable.js +12 -4
- package/dist/utils/iterable.js.map +1 -1
- package/dist/utils/object.d.ts +22 -1
- package/dist/utils/object.d.ts.map +1 -1
- package/dist/utils/object.js +56 -3
- package/dist/utils/object.js.map +1 -1
- package/dist/utils/paging.js +14 -15
- package/dist/utils/paging.js.map +1 -1
- package/dist/utils/promiseCache.d.ts.map +1 -1
- package/dist/utils/promiseCache.js +12 -4
- package/dist/utils/promiseCache.js.map +1 -1
- package/dist/utils/string.js +1 -1
- package/package.json +43 -2
- package/src/git/cache.ts +58 -70
- package/src/git/context.ts +25 -3
- package/src/git/features.ts +2 -0
- package/src/git/models/graph.ts +97 -0
- package/src/git/models/remoteProvider.ts +1 -0
- package/src/git/models/repository.ts +84 -93
- package/src/git/models/statusFile.ts +12 -0
- package/src/git/providers/commits.ts +4 -0
- package/src/git/providers/config.ts +1 -5
- package/src/git/providers/operations.ts +42 -22
- package/src/git/providers/worktrees.ts +14 -2
- package/src/git/remotes/custom.ts +23 -0
- package/src/git/utils/conflictResolution.utils.ts +126 -0
- package/src/git/utils/contributor.utils.ts +24 -0
- package/src/git/utils/reachability.utils.ts +109 -0
- package/src/git/watching/watchService.ts +9 -4
- package/src/git/watching/watchSession.ts +61 -55
- package/src/git-cli/providers/branches.ts +1 -0
- package/src/git-cli/providers/commits.ts +24 -0
- package/src/git-cli/providers/config.ts +63 -49
- package/src/git-cli/providers/diff.ts +2 -1
- package/src/git-cli/providers/graph.ts +145 -14
- package/src/git-cli/providers/operations.ts +138 -130
- package/src/git-cli/providers/stash.ts +20 -2
- package/src/git-cli/providers/status.ts +11 -3
- package/src/git-cli/providers/worktrees.ts +17 -2
- package/src/ipc/discovery.ts +132 -2
- package/src/plus/agents/providers/claudeCodeProvider.ts +430 -90
- package/src/plus/agents/types.ts +59 -11
- package/src/plus/ai/models/model.ts +1 -0
- package/src/plus/ai/models/provider.ts +7 -1
- package/src/plus/ai/providers/gitkrakenProvider.ts +4 -0
- package/src/plus/ai/providers/openAICompatibleProviderBase.ts +21 -4
- package/src/plus/ai/utils/ai.utils.ts +6 -4
- package/src/plus/git-github/api/github.ts +131 -31
- package/src/plus/git-github/providers/github/refs.ts +1 -1
- package/src/plus/integrations/authentication/cloudIntegrationService.ts +120 -0
- package/src/plus/integrations/authentication/configuredIntegrationService.ts +414 -0
- package/src/plus/integrations/authentication/integrationAuthenticationProvider.ts +289 -0
- package/src/plus/integrations/authentication/integrationAuthenticationService.ts +144 -0
- package/src/plus/integrations/authentication/manualTokenProvider.ts +72 -0
- package/src/plus/integrations/authentication/models.ts +168 -0
- package/src/plus/integrations/constants.ts +169 -0
- package/src/plus/integrations/context.ts +383 -0
- package/src/plus/integrations/errors.ts +35 -0
- package/src/plus/integrations/index.ts +119 -0
- package/src/plus/integrations/integrationService.ts +924 -0
- package/src/plus/integrations/models/gitHostIntegration.ts +738 -0
- package/src/plus/integrations/models/integration.ts +657 -0
- package/src/plus/integrations/models/issuesIntegration.ts +124 -0
- package/src/plus/integrations/providers/apiClients.ts +72 -0
- package/src/plus/integrations/providers/azure/azure.ts +691 -0
- package/src/plus/integrations/providers/azure/models.ts +605 -0
- package/src/plus/integrations/providers/azureDevOps.ts +677 -0
- package/src/plus/integrations/providers/bitbucket/bitbucket.ts +774 -0
- package/src/plus/integrations/providers/bitbucket/models.ts +445 -0
- package/src/plus/integrations/providers/bitbucket-server/models.ts +252 -0
- package/src/plus/integrations/providers/bitbucket-server.ts +282 -0
- package/src/plus/integrations/providers/bitbucket.ts +350 -0
- package/src/plus/integrations/providers/github/github.ts +64 -0
- package/src/plus/integrations/providers/github/github.utils.ts +23 -0
- package/src/plus/integrations/providers/github/models.ts +29 -0
- package/src/plus/integrations/providers/github.ts +366 -0
- package/src/plus/integrations/providers/gitlab/gitlab.ts +1210 -0
- package/src/plus/integrations/providers/gitlab/gitlab.utils.ts +71 -0
- package/src/plus/integrations/providers/gitlab/models.ts +257 -0
- package/src/plus/integrations/providers/gitlab.ts +473 -0
- package/src/plus/integrations/providers/jira.ts +359 -0
- package/src/plus/integrations/providers/linear.ts +275 -0
- package/src/plus/integrations/providers/models.ts +1114 -0
- package/src/plus/integrations/providers/providersApi.ts +1126 -0
- package/src/plus/integrations/providers/utils.ts +359 -0
- package/src/plus/integrations/telemetry.ts +29 -0
- package/src/plus/integrations/utils/integration.utils.ts +138 -0
- package/src/utils/date.ts +5 -0
- package/src/utils/debounce.ts +1 -1
- package/src/utils/disposable.ts +15 -2
- package/src/utils/iterable.ts +14 -3
- package/src/utils/object.ts +55 -4
- package/src/utils/paging.ts +14 -14
- package/src/utils/promiseCache.ts +24 -16
- package/src/utils/string.ts +1 -1
|
@@ -14,6 +14,17 @@ export interface GitGraphRowHead {
|
|
|
14
14
|
name: string;
|
|
15
15
|
id: string;
|
|
16
16
|
};
|
|
17
|
+
/** Set when this branch is checked out in a (non-default) worktree. Grouped so producers can't
|
|
18
|
+
* half-populate id-without-path or vice versa. GitLens consumers should read this field. */
|
|
19
|
+
worktree?: {
|
|
20
|
+
id: string;
|
|
21
|
+
path: string;
|
|
22
|
+
};
|
|
23
|
+
/** Upstream-component-compatibility mirror of `worktree?.id`. The bundled
|
|
24
|
+
* `@gitkraken/gitkraken-components` library still reads `worktreeId` to switch between
|
|
25
|
+
* WORKTREE and HEAD ref-badge styling — keeping it populated preserves the visual cue.
|
|
26
|
+
* Producers MUST set this whenever they set `worktree`; do not read it from GitLens code,
|
|
27
|
+
* read `worktree.id` instead. */
|
|
17
28
|
worktreeId?: string;
|
|
18
29
|
}
|
|
19
30
|
export interface GitGraphRowRemoteHead {
|
|
@@ -32,11 +43,42 @@ export interface GitGraphRowTag {
|
|
|
32
43
|
annotated: boolean;
|
|
33
44
|
context?: string | object;
|
|
34
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Compact, host-computed flags for a commit/stash row, shipped instead of the bulky serialized
|
|
48
|
+
* `contexts.row`/`contexts.avatar` blobs (which duplicated sha/message/repoPath already on the row).
|
|
49
|
+
* The webview reconstructs the full webview-item contexts from these flags + row fields + repoPath.
|
|
50
|
+
* Bit 0: reachable-from-HEAD (`+current`); Bit 1: unique-to-one-local-branch (`+unique`);
|
|
51
|
+
* Bit 2: has-children — set ONLY on undo-eligible tip rows (active HEAD + worktree HEADs) that have a
|
|
52
|
+
* child, to gate Undo Commit to leaf tips (undoing a commit other work is stacked on is unsafe). It is
|
|
53
|
+
* NOT a general has-children signal: non-tip rows never carry it (the host only computes it for tips);
|
|
54
|
+
* Bit 3: unpushed/ahead-of-upstream (`+unpublished`).
|
|
55
|
+
* Bit 4: history-rewriteable (`+rewriteable`) — on the first-parent chain from HEAD up to (excluding)
|
|
56
|
+
* the first merge commit, so a plain (non-`--rebase-merges`) interactive rebase can safely rewrite it;
|
|
57
|
+
* gates squash/drop/reword/modify. Strictly narrower than `+current` (reachable-from-HEAD includes a
|
|
58
|
+
* merge's other-parent ancestry, which is NOT safely rewriteable).
|
|
59
|
+
* (`+HEAD` derives from `row.heads[].isCurrentHead`; contributor `+current` from `row.isCurrentUser`.)
|
|
60
|
+
*/
|
|
61
|
+
export declare const enum GitGraphRowContextFlags {
|
|
62
|
+
None = 0,
|
|
63
|
+
ReachableFromHead = 1,
|
|
64
|
+
UniqueToBranch = 2,
|
|
65
|
+
HasChildren = 4,
|
|
66
|
+
Unpublished = 8,
|
|
67
|
+
RewriteableFromHead = 16
|
|
68
|
+
}
|
|
35
69
|
/**
|
|
36
70
|
* Context data attached to graph row regions for command/menu handling.
|
|
37
71
|
* Structurally compatible with @gitkraken/gitkraken-components RowContexts.
|
|
38
72
|
*/
|
|
39
73
|
export interface GitGraphRowContexts {
|
|
74
|
+
/** Compact replacement for the serialized commit `row`/`avatar` contexts; see {@link GitGraphRowContextFlags}. */
|
|
75
|
+
flags?: GitGraphRowContextFlags;
|
|
76
|
+
/**
|
|
77
|
+
* Index into the per-graph `GraphReachabilityTable.sets` for this row's reachable-refs set,
|
|
78
|
+
* shipped instead of the per-row `reachability` object (which dominated the graph payload). The
|
|
79
|
+
* webview rebuilds `row.reachability` from the shared table. Absent ⇒ no reachability for this row.
|
|
80
|
+
*/
|
|
81
|
+
reachabilityIndex?: number;
|
|
40
82
|
row?: string | object;
|
|
41
83
|
ref?: string | object;
|
|
42
84
|
refGroups?: Record<string, string | object>;
|
|
@@ -53,6 +95,27 @@ export interface GitGraphRowStats {
|
|
|
53
95
|
additions: number;
|
|
54
96
|
deletions: number;
|
|
55
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Wire encoding for per-row reachability, shipped once per graph payload instead of inline on every
|
|
100
|
+
* row. Git reachability is monotone (adjacent commits share ref-sets), so the rows collapse to a
|
|
101
|
+
* relatively small number of distinct sets over the repo's ref universe — `dictionary` (the shared
|
|
102
|
+
* ref list) + `sets` (distinct membership bitmaps, base64; bit i ⇒ `dictionary[i]` reachable) + a
|
|
103
|
+
* per-row index (`GitGraphRowContexts.reachabilityIndex`) reconstructs every row's `reachability`
|
|
104
|
+
* client-side for a fraction of the bytes the inline objects cost. `current` is a per-ref property
|
|
105
|
+
* (the checked-out HEAD branch) and lives in the dictionary entry.
|
|
106
|
+
*
|
|
107
|
+
* The table is append-only within a graph generation, so the host ships only the entries appended
|
|
108
|
+
* since its last push (a delta) on same-generation pagination and the full table on a new generation;
|
|
109
|
+
* `id` lets the webview tell the two apart (same `id` ⇒ append the delta, new `id` ⇒ replace + reset
|
|
110
|
+
* its decode cache). A fresh `getGraph` walk mints a new `id`; `more()` keeps the same one.
|
|
111
|
+
*/
|
|
112
|
+
export interface GraphReachabilityTable {
|
|
113
|
+
/** Generation id — stable across `more()` pagination, new per fresh graph walk. */
|
|
114
|
+
readonly id: number;
|
|
115
|
+
readonly dictionary: GitCommitReachability['refs'];
|
|
116
|
+
/** Distinct ref-membership bitmaps, base64-encoded `Uint8Array` of `ceil(dictionary.length/8)` bytes. */
|
|
117
|
+
readonly sets: string[];
|
|
118
|
+
}
|
|
56
119
|
/** Library-owned graph row type. Structurally compatible with @gitkraken/gitkraken-components GraphRow. */
|
|
57
120
|
export interface GitGraphRow {
|
|
58
121
|
sha: string;
|
|
@@ -68,6 +131,12 @@ export interface GitGraphRow {
|
|
|
68
131
|
tags?: GitGraphRowTag[];
|
|
69
132
|
contexts?: GitGraphRowContexts;
|
|
70
133
|
stats?: GitGraphRowStats;
|
|
134
|
+
/**
|
|
135
|
+
* Transient, set only for the duration of {@link GraphRowProcessor.processRow} (the row processor's
|
|
136
|
+
* `+unique` decision reads it). The provider strips it before pushing the row and records the
|
|
137
|
+
* reachable-ref set into the shared {@link GitGraph.reachability} table instead (see
|
|
138
|
+
* {@link GitGraphRowContexts.reachabilityIndex}), so emitted rows do NOT retain the per-row arrays.
|
|
139
|
+
*/
|
|
71
140
|
reachability?: GitCommitReachability;
|
|
72
141
|
isCurrentUser?: boolean;
|
|
73
142
|
}
|
|
@@ -88,6 +157,20 @@ export interface GitGraph {
|
|
|
88
157
|
readonly worktreesByBranch: ReadonlyMap<string, GitWorktree> | undefined;
|
|
89
158
|
/** SHAs reachable from HEAD (for enrichment: marking commits on the current branch) */
|
|
90
159
|
readonly reachableFromHEAD?: ReadonlySet<string>;
|
|
160
|
+
/**
|
|
161
|
+
* SHAs on the first-parent chain from HEAD up to (excluding) the first merge commit — i.e. the
|
|
162
|
+
* commits a plain interactive rebase can safely rewrite. Empty when HEAD itself is a merge. Used by
|
|
163
|
+
* the graph's history-rewriting commands (squash/drop/reword/modify) to validate selections.
|
|
164
|
+
*/
|
|
165
|
+
readonly rewriteableFromHEAD?: ReadonlySet<string>;
|
|
166
|
+
/**
|
|
167
|
+
* Shared, append-only reachability table for the loaded rows (the primary representation — rows
|
|
168
|
+
* carry only a {@link GitGraphRowContexts.reachabilityIndex} into it, not per-row ref arrays).
|
|
169
|
+
* Grows monotonically across {@link more} pagination within a graph session: indices already
|
|
170
|
+
* assigned never change, so consumers can decode any row on demand and cache by index. Absent ⇒
|
|
171
|
+
* no row in the graph has reachability. See {@link GraphReachabilityTable}.
|
|
172
|
+
*/
|
|
173
|
+
readonly reachability?: GraphReachabilityTable;
|
|
91
174
|
/** The rows for the set of commits requested */
|
|
92
175
|
readonly rows: GitGraphRow[];
|
|
93
176
|
readonly id?: string;
|
|
@@ -164,6 +247,19 @@ export interface GraphContext {
|
|
|
164
247
|
readonly branchIdOfMainWorktree: string | undefined;
|
|
165
248
|
readonly stashes: ReadonlyMap<string, GitStashCommit> | undefined;
|
|
166
249
|
readonly reachableFromHEAD: ReadonlySet<string>;
|
|
250
|
+
/** SHAs on the first-parent chain from HEAD up to (excluding) the first merge commit — the commits
|
|
251
|
+
* a plain interactive rebase can safely rewrite. Empty when HEAD is a merge. Sets the
|
|
252
|
+
* {@link GitGraphRowContextFlags.RewriteableFromHead} flag, gating squash/drop/reword/modify. */
|
|
253
|
+
readonly rewriteableFromHEAD: ReadonlySet<string>;
|
|
254
|
+
/** The subset of undo-eligible tip shas (active HEAD + worktree HEADs) that have at least one
|
|
255
|
+
* child — i.e. are NOT leaves. Scoped to tips (not all commits) for performance; do not treat as
|
|
256
|
+
* a general has-children signal. Sets the {@link GitGraphRowContextFlags.HasChildren} flag, which
|
|
257
|
+
* gates Undo Commit to leaf tips. */
|
|
258
|
+
readonly tipShasWithChildren: ReadonlySet<string>;
|
|
259
|
+
/** SHAs reachable from HEAD's tracking-upstream tip, or `undefined` when HEAD has no upstream.
|
|
260
|
+
* A commit reachable from HEAD but NOT from this set is unpushed (`+unpublished`); `undefined`
|
|
261
|
+
* means there's no upstream to be ahead of, so nothing is flagged. */
|
|
262
|
+
readonly reachableFromHeadUpstream: ReadonlySet<string> | undefined;
|
|
167
263
|
readonly avatars: Map<string, string>;
|
|
168
264
|
}
|
|
169
265
|
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/models/graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/models/graph.ts"],"names":[],"mappings":"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"}
|
package/dist/git/models/graph.js
CHANGED
|
@@ -1,2 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Compact, host-computed flags for a commit/stash row, shipped instead of the bulky serialized
|
|
3
|
+
* `contexts.row`/`contexts.avatar` blobs (which duplicated sha/message/repoPath already on the row).
|
|
4
|
+
* The webview reconstructs the full webview-item contexts from these flags + row fields + repoPath.
|
|
5
|
+
* Bit 0: reachable-from-HEAD (`+current`); Bit 1: unique-to-one-local-branch (`+unique`);
|
|
6
|
+
* Bit 2: has-children — set ONLY on undo-eligible tip rows (active HEAD + worktree HEADs) that have a
|
|
7
|
+
* child, to gate Undo Commit to leaf tips (undoing a commit other work is stacked on is unsafe). It is
|
|
8
|
+
* NOT a general has-children signal: non-tip rows never carry it (the host only computes it for tips);
|
|
9
|
+
* Bit 3: unpushed/ahead-of-upstream (`+unpublished`).
|
|
10
|
+
* Bit 4: history-rewriteable (`+rewriteable`) — on the first-parent chain from HEAD up to (excluding)
|
|
11
|
+
* the first merge commit, so a plain (non-`--rebase-merges`) interactive rebase can safely rewrite it;
|
|
12
|
+
* gates squash/drop/reword/modify. Strictly narrower than `+current` (reachable-from-HEAD includes a
|
|
13
|
+
* merge's other-parent ancestry, which is NOT safely rewriteable).
|
|
14
|
+
* (`+HEAD` derives from `row.heads[].isCurrentHead`; contributor `+current` from `row.isCurrentUser`.)
|
|
15
|
+
*/
|
|
16
|
+
export var GitGraphRowContextFlags;
|
|
17
|
+
(function (GitGraphRowContextFlags) {
|
|
18
|
+
GitGraphRowContextFlags[GitGraphRowContextFlags["None"] = 0] = "None";
|
|
19
|
+
GitGraphRowContextFlags[GitGraphRowContextFlags["ReachableFromHead"] = 1] = "ReachableFromHead";
|
|
20
|
+
GitGraphRowContextFlags[GitGraphRowContextFlags["UniqueToBranch"] = 2] = "UniqueToBranch";
|
|
21
|
+
GitGraphRowContextFlags[GitGraphRowContextFlags["HasChildren"] = 4] = "HasChildren";
|
|
22
|
+
GitGraphRowContextFlags[GitGraphRowContextFlags["Unpublished"] = 8] = "Unpublished";
|
|
23
|
+
GitGraphRowContextFlags[GitGraphRowContextFlags["RewriteableFromHead"] = 16] = "RewriteableFromHead";
|
|
24
|
+
})(GitGraphRowContextFlags || (GitGraphRowContextFlags = {}));
|
|
2
25
|
//# sourceMappingURL=graph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/models/graph.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/models/graph.ts"],"names":[],"mappings":"AAkDA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAN,IAAkB,uBAOjB;AAPD,WAAkB,uBAAuB;IACxC,qEAAQ,CAAA;IACR,+FAA0B,CAAA;IAC1B,yFAAuB,CAAA;IACvB,mFAAoB,CAAA;IACpB,mFAAoB,CAAA;IACpB,oGAA4B,CAAA;AAC7B,CAAC,EAPiB,uBAAuB,KAAvB,uBAAuB,QAOxC"}
|
|
@@ -58,6 +58,7 @@ export interface RemotesUrlsConfig {
|
|
|
58
58
|
readonly fileInCommit: string;
|
|
59
59
|
readonly fileLine: string;
|
|
60
60
|
readonly fileRange: string;
|
|
61
|
+
readonly avatar?: string;
|
|
61
62
|
}
|
|
62
63
|
export declare abstract class RemoteProvider<T extends ResourceDescriptor = ResourceDescriptor> implements ProviderReference {
|
|
63
64
|
readonly domain: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remoteProvider.d.ts","sourceRoot":"","sources":["../../src/models/remoteProvider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"remoteProvider.d.ts","sourceRoot":"","sources":["../../src/models/remoteProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remoteProvider.js","sourceRoot":"","sources":["../../src/models/remoteProvider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGvD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAInD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"remoteProvider.js","sourceRoot":"","sources":["../../src/models/remoteProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,8 +23,6 @@ export interface RepositoryInit {
|
|
|
23
23
|
readonly gitDir: GitDir | undefined;
|
|
24
24
|
readonly index: number;
|
|
25
25
|
readonly root: boolean;
|
|
26
|
-
readonly closed?: boolean;
|
|
27
|
-
readonly suspended?: boolean;
|
|
28
26
|
readonly watchService: RepositoryWatchService;
|
|
29
27
|
}
|
|
30
28
|
export interface RepositoryWorkingTreeChangeEvent {
|
|
@@ -48,19 +46,21 @@ export declare class Repository {
|
|
|
48
46
|
readonly provider: GitProviderDescriptor;
|
|
49
47
|
readonly root: boolean;
|
|
50
48
|
protected readonly _gitDir: GitDir | undefined;
|
|
51
|
-
protected _pendingResumeTimer: ReturnType<typeof setTimeout> | undefined;
|
|
52
49
|
protected _repoSubscription: RepositorySubscription | undefined;
|
|
53
|
-
protected _suspended: boolean;
|
|
54
50
|
protected _watchHandle: WatchHandle | undefined;
|
|
55
51
|
protected readonly _watchService: RepositoryWatchService;
|
|
56
52
|
private _pendingWorkingTreeChange?;
|
|
57
53
|
private _pendingWorkingTreeFlush;
|
|
58
54
|
private _repoChangeListener;
|
|
55
|
+
/** Outstanding leases on the shared {@link _watchHandle} across `watch()` + `watchWorkingTree()`. */
|
|
56
|
+
private _watchHandleRefs;
|
|
57
|
+
/** Outstanding `watch()` (repo-change) leases; drives the single shared bridge subscription. */
|
|
58
|
+
private _watchRefs;
|
|
59
|
+
private _disposed;
|
|
59
60
|
constructor(init: RepositoryInit);
|
|
60
61
|
dispose(): void;
|
|
61
|
-
|
|
62
|
-
get
|
|
63
|
-
set closed(value: boolean);
|
|
62
|
+
/** Indicates whether this repository currently has an active `watch()` (repo-change) lease. */
|
|
63
|
+
get watching(): boolean;
|
|
64
64
|
get etag(): number;
|
|
65
65
|
get etagWorkingTree(): number | undefined;
|
|
66
66
|
get hasPendingChanges(): boolean;
|
|
@@ -78,9 +78,15 @@ export declare class Repository {
|
|
|
78
78
|
protected _updatedAt: number;
|
|
79
79
|
get updatedAt(): number;
|
|
80
80
|
get virtual(): boolean;
|
|
81
|
-
suspend(): void;
|
|
82
|
-
resume(delayMs?: number): void;
|
|
83
81
|
waitForRepoChange(timeoutMs: number): Promise<boolean>;
|
|
82
|
+
/**
|
|
83
|
+
* Starts watching this repository's `.git` directory for repo-change events (delivered via
|
|
84
|
+
* {@link onDidChange}) and returns a lease. Ref-counted: the underlying watch handle is acquired
|
|
85
|
+
* on the first lease (across `watch()` and {@link watchWorkingTree}) and released when the last
|
|
86
|
+
* is disposed. The model is inert until watched. No-ops (returns a disposable that does nothing)
|
|
87
|
+
* for repositories without a git directory (e.g. virtual repos).
|
|
88
|
+
*/
|
|
89
|
+
watch(): UnifiedDisposable;
|
|
84
90
|
watchWorkingTree(delay?: number): UnifiedDisposable;
|
|
85
91
|
/**
|
|
86
92
|
* Creates a RepositoryChangeEvent for this repository.
|
|
@@ -89,8 +95,6 @@ export declare class Repository {
|
|
|
89
95
|
protected createChangeEvent(changes: RepositoryChange[]): RepositoryChangeEvent;
|
|
90
96
|
protected fireChange(...changes: RepositoryChange[]): void;
|
|
91
97
|
protected fireChange(change: RepositoryChange, force: boolean): void;
|
|
92
|
-
/** Called when the closed state changes. Override to add behavior (e.g., branch access tracking). */
|
|
93
|
-
protected onClosedChanged(_closed: boolean): void;
|
|
94
98
|
/** Called when the watch service notifies of FETCH_HEAD changes. */
|
|
95
99
|
protected onFetchHeadChanged(): void;
|
|
96
100
|
/**
|
|
@@ -117,7 +121,12 @@ export declare class Repository {
|
|
|
117
121
|
* (graph, file history, compare branch, etc.) would fire N times for N active subscriptions.
|
|
118
122
|
*/
|
|
119
123
|
protected onWorkingTreeChanged(paths: ReadonlySet<string>): void;
|
|
120
|
-
|
|
124
|
+
/**
|
|
125
|
+
* Lazily acquires (and ref-counts) the shared {@link _watchHandle} for this repository, returning
|
|
126
|
+
* the handle plus a one-shot lease whose disposal decrements the ref count (releasing the handle
|
|
127
|
+
* when the last lease is gone). Returns `undefined` for repositories without a git directory.
|
|
128
|
+
*/
|
|
129
|
+
private acquireWatchHandle;
|
|
121
130
|
static is(repository: unknown): repository is Repository;
|
|
122
131
|
}
|
|
123
132
|
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/models/repository.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/models/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,6 @@ import { trace } from '../../utils/decorators/log.js';
|
|
|
11
11
|
import { memoize } from '../../utils/decorators/memoize.js';
|
|
12
12
|
import { createDisposable } from '../../utils/disposable.js';
|
|
13
13
|
import { Emitter } from '../../utils/event.js';
|
|
14
|
-
import { getScopedLogger } from '../../utils/logger.scoped.js';
|
|
15
14
|
import { basename, normalizePath } from '../../utils/path.js';
|
|
16
15
|
import { fileUri } from '../../utils/uri.js';
|
|
17
16
|
import { getCommonRepositoryUri } from '../utils/repository.utils.js';
|
|
@@ -60,17 +59,19 @@ export class Repository {
|
|
|
60
59
|
provider;
|
|
61
60
|
root;
|
|
62
61
|
_gitDir;
|
|
63
|
-
_pendingResumeTimer;
|
|
64
62
|
_repoSubscription;
|
|
65
|
-
_suspended;
|
|
66
63
|
_watchHandle;
|
|
67
64
|
_watchService;
|
|
68
65
|
_pendingWorkingTreeChange;
|
|
69
66
|
_pendingWorkingTreeFlush = false;
|
|
70
67
|
_repoChangeListener;
|
|
68
|
+
/** Outstanding leases on the shared {@link _watchHandle} across `watch()` + `watchWorkingTree()`. */
|
|
69
|
+
_watchHandleRefs = 0;
|
|
70
|
+
/** Outstanding `watch()` (repo-change) leases; drives the single shared bridge subscription. */
|
|
71
|
+
_watchRefs = 0;
|
|
72
|
+
_disposed = false;
|
|
71
73
|
constructor(init) {
|
|
72
74
|
({
|
|
73
|
-
closed: this._closed = init.closed ?? false,
|
|
74
75
|
id: this.id,
|
|
75
76
|
index: this.index,
|
|
76
77
|
gitDir: this._gitDir,
|
|
@@ -78,7 +79,6 @@ export class Repository {
|
|
|
78
79
|
path: this.path,
|
|
79
80
|
provider: this.provider,
|
|
80
81
|
root: this.root,
|
|
81
|
-
suspended: this._suspended = init.suspended ?? false,
|
|
82
82
|
uri: this.uri,
|
|
83
83
|
watchService: this._watchService,
|
|
84
84
|
} = init);
|
|
@@ -94,41 +94,23 @@ export class Repository {
|
|
|
94
94
|
this._name = `${prefix}${this._name}`;
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
this.setupWatching();
|
|
98
97
|
}
|
|
99
98
|
dispose() {
|
|
100
|
-
|
|
99
|
+
this._disposed = true;
|
|
101
100
|
this._repoChangeListener?.dispose();
|
|
102
101
|
this._repoChangeListener = undefined;
|
|
103
102
|
this._repoSubscription?.dispose();
|
|
104
103
|
this._repoSubscription = undefined;
|
|
105
104
|
this._watchHandle?.dispose();
|
|
106
105
|
this._watchHandle = undefined;
|
|
106
|
+
this._watchHandleRefs = 0;
|
|
107
|
+
this._watchRefs = 0;
|
|
107
108
|
this._onDidChange.dispose();
|
|
108
109
|
this._onDidChangeWorkingTree.dispose();
|
|
109
110
|
}
|
|
110
|
-
|
|
111
|
-
get
|
|
112
|
-
return this.
|
|
113
|
-
}
|
|
114
|
-
set closed(value) {
|
|
115
|
-
const changed = this._closed !== value;
|
|
116
|
-
this._closed = value;
|
|
117
|
-
if (changed) {
|
|
118
|
-
if (this._closed) {
|
|
119
|
-
// When closing, fire immediately even if suspended
|
|
120
|
-
this.fireChange('closed', true);
|
|
121
|
-
this._repoChangeListener?.dispose();
|
|
122
|
-
this._repoChangeListener = undefined;
|
|
123
|
-
this._repoSubscription?.dispose();
|
|
124
|
-
this._repoSubscription = undefined;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
this.setupWatching();
|
|
128
|
-
this.fireChange('opened');
|
|
129
|
-
}
|
|
130
|
-
this.onClosedChanged(value);
|
|
131
|
-
}
|
|
111
|
+
/** Indicates whether this repository currently has an active `watch()` (repo-change) lease. */
|
|
112
|
+
get watching() {
|
|
113
|
+
return this._watchRefs > 0;
|
|
132
114
|
}
|
|
133
115
|
get etag() {
|
|
134
116
|
return this._updatedAt;
|
|
@@ -170,33 +152,6 @@ export class Repository {
|
|
|
170
152
|
get virtual() {
|
|
171
153
|
return this.provider.virtual;
|
|
172
154
|
}
|
|
173
|
-
suspend() {
|
|
174
|
-
this._suspended = true;
|
|
175
|
-
this._watchHandle?.session.suspend();
|
|
176
|
-
if (this._pendingResumeTimer != null) {
|
|
177
|
-
clearTimeout(this._pendingResumeTimer);
|
|
178
|
-
this._pendingResumeTimer = undefined;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
resume(delayMs) {
|
|
182
|
-
if (delayMs) {
|
|
183
|
-
if (this._pendingResumeTimer != null) {
|
|
184
|
-
clearTimeout(this._pendingResumeTimer);
|
|
185
|
-
}
|
|
186
|
-
this._pendingResumeTimer = setTimeout(() => {
|
|
187
|
-
this._pendingResumeTimer = undefined;
|
|
188
|
-
this.resume();
|
|
189
|
-
}, delayMs);
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
const scope = getScopedLogger();
|
|
193
|
-
if (!this._suspended) {
|
|
194
|
-
scope?.addExitInfo('ignored; not suspended');
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
this._suspended = false;
|
|
198
|
-
this._watchHandle?.session.resume();
|
|
199
|
-
}
|
|
200
155
|
waitForRepoChange(timeoutMs) {
|
|
201
156
|
let timeoutId;
|
|
202
157
|
let listener;
|
|
@@ -223,15 +178,46 @@ export class Repository {
|
|
|
223
178
|
}),
|
|
224
179
|
]);
|
|
225
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* Starts watching this repository's `.git` directory for repo-change events (delivered via
|
|
183
|
+
* {@link onDidChange}) and returns a lease. Ref-counted: the underlying watch handle is acquired
|
|
184
|
+
* on the first lease (across `watch()` and {@link watchWorkingTree}) and released when the last
|
|
185
|
+
* is disposed. The model is inert until watched. No-ops (returns a disposable that does nothing)
|
|
186
|
+
* for repositories without a git directory (e.g. virtual repos).
|
|
187
|
+
*/
|
|
188
|
+
watch() {
|
|
189
|
+
const acquired = this.acquireWatchHandle();
|
|
190
|
+
if (acquired == null)
|
|
191
|
+
return createDisposable(() => { });
|
|
192
|
+
if (this._watchRefs++ === 0) {
|
|
193
|
+
const sub = acquired.handle.session.subscribe();
|
|
194
|
+
this._repoSubscription = sub;
|
|
195
|
+
this._repoChangeListener = sub.onDidChange(e => this.onSessionRepoChange(e));
|
|
196
|
+
}
|
|
197
|
+
return createDisposable(() => {
|
|
198
|
+
// Repo already torn down — its handle/subscriptions are gone; skip to avoid a negative refcount
|
|
199
|
+
if (this._disposed)
|
|
200
|
+
return;
|
|
201
|
+
if (--this._watchRefs === 0) {
|
|
202
|
+
this._repoChangeListener?.dispose();
|
|
203
|
+
this._repoChangeListener = undefined;
|
|
204
|
+
this._repoSubscription?.dispose();
|
|
205
|
+
this._repoSubscription = undefined;
|
|
206
|
+
}
|
|
207
|
+
acquired.lease.dispose();
|
|
208
|
+
}, { once: true });
|
|
209
|
+
}
|
|
226
210
|
watchWorkingTree(delay = 2500) {
|
|
227
|
-
const
|
|
228
|
-
if (
|
|
211
|
+
const acquired = this.acquireWatchHandle();
|
|
212
|
+
if (acquired == null)
|
|
229
213
|
return createDisposable(() => { });
|
|
214
|
+
const sub = acquired.handle.session.subscribeToWorkingTree({ delayMs: delay });
|
|
230
215
|
const listener = sub.onDidChangeWorkingTree(e => this.onWorkingTreeChanged(e.paths));
|
|
231
216
|
return createDisposable(() => {
|
|
232
217
|
listener.dispose();
|
|
233
218
|
sub.dispose();
|
|
234
|
-
|
|
219
|
+
acquired.lease.dispose();
|
|
220
|
+
}, { once: true });
|
|
235
221
|
}
|
|
236
222
|
/**
|
|
237
223
|
* Creates a RepositoryChangeEvent for this repository.
|
|
@@ -241,7 +227,7 @@ export class Repository {
|
|
|
241
227
|
return new RepositoryChangeEvent(this, changes);
|
|
242
228
|
}
|
|
243
229
|
fireChange(...args) {
|
|
244
|
-
const lastArg = args
|
|
230
|
+
const lastArg = args.at(-1);
|
|
245
231
|
const force = typeof lastArg === 'boolean' ? lastArg : false;
|
|
246
232
|
const changes = (force ? args.slice(0, -1) : args);
|
|
247
233
|
this._updatedAt = Date.now();
|
|
@@ -252,8 +238,6 @@ export class Repository {
|
|
|
252
238
|
}
|
|
253
239
|
this._watchHandle?.session.fireChange(...changes);
|
|
254
240
|
}
|
|
255
|
-
/** Called when the closed state changes. Override to add behavior (e.g., branch access tracking). */
|
|
256
|
-
onClosedChanged(_closed) { }
|
|
257
241
|
/** Called when the watch service notifies of FETCH_HEAD changes. */
|
|
258
242
|
onFetchHeadChanged() {
|
|
259
243
|
// Don't reset `_lastFetched` here: the FS watcher can fire even when the on-disk mtime
|
|
@@ -304,37 +288,45 @@ export class Repository {
|
|
|
304
288
|
for (const p of paths) {
|
|
305
289
|
this._pendingWorkingTreeChange.uris.add(fileUri(p));
|
|
306
290
|
}
|
|
307
|
-
if (this._suspended)
|
|
308
|
-
return;
|
|
309
291
|
if (this._pendingWorkingTreeFlush)
|
|
310
292
|
return;
|
|
311
293
|
this._pendingWorkingTreeFlush = true;
|
|
312
294
|
queueMicrotask(() => {
|
|
313
295
|
this._pendingWorkingTreeFlush = false;
|
|
314
296
|
const e = this._pendingWorkingTreeChange;
|
|
315
|
-
if (e == null
|
|
297
|
+
if (e == null)
|
|
316
298
|
return;
|
|
317
299
|
this._pendingWorkingTreeChange = undefined;
|
|
318
300
|
this._onDidChangeWorkingTree.fire(e);
|
|
319
301
|
});
|
|
320
302
|
}
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
303
|
+
/**
|
|
304
|
+
* Lazily acquires (and ref-counts) the shared {@link _watchHandle} for this repository, returning
|
|
305
|
+
* the handle plus a one-shot lease whose disposal decrements the ref count (releasing the handle
|
|
306
|
+
* when the last lease is gone). Returns `undefined` for repositories without a git directory.
|
|
307
|
+
*/
|
|
308
|
+
acquireWatchHandle() {
|
|
309
|
+
if (this._gitDir == null || this._disposed)
|
|
310
|
+
return undefined;
|
|
327
311
|
this._watchHandle ??= this._watchService.watch(this.path, this._gitDir, {
|
|
328
312
|
onFetchHeadChanged: () => this.onFetchHeadChanged(),
|
|
329
313
|
onGitIgnoreChanged: () => this.onGitIgnoreChanged(),
|
|
330
314
|
onIgnoresChanged: () => this.onIgnoresChanged(),
|
|
331
315
|
});
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
this.
|
|
336
|
-
|
|
337
|
-
|
|
316
|
+
const handle = this._watchHandle;
|
|
317
|
+
if (handle == null)
|
|
318
|
+
return undefined;
|
|
319
|
+
this._watchHandleRefs++;
|
|
320
|
+
const lease = createDisposable(() => {
|
|
321
|
+
// Repo already torn down — the handle is gone; skip to avoid a negative refcount
|
|
322
|
+
if (this._disposed)
|
|
323
|
+
return;
|
|
324
|
+
if (--this._watchHandleRefs === 0) {
|
|
325
|
+
this._watchHandle?.dispose();
|
|
326
|
+
this._watchHandle = undefined;
|
|
327
|
+
}
|
|
328
|
+
}, { once: true });
|
|
329
|
+
return { handle: handle, lease: lease };
|
|
338
330
|
}
|
|
339
331
|
static is(repository) {
|
|
340
332
|
return repository instanceof Repository;
|
|
@@ -345,17 +337,11 @@ __decorate([
|
|
|
345
337
|
], Repository.prototype, "idHash", null);
|
|
346
338
|
__decorate([
|
|
347
339
|
trace({ onlyExit: true })
|
|
348
|
-
], Repository.prototype, "
|
|
349
|
-
__decorate([
|
|
350
|
-
trace({ onlyExit: true })
|
|
351
|
-
], Repository.prototype, "resume", null);
|
|
340
|
+
], Repository.prototype, "watch", null);
|
|
352
341
|
__decorate([
|
|
353
342
|
trace({ onlyExit: true })
|
|
354
343
|
], Repository.prototype, "watchWorkingTree", null);
|
|
355
344
|
__decorate([
|
|
356
345
|
trace()
|
|
357
346
|
], Repository.prototype, "fireChange", null);
|
|
358
|
-
__decorate([
|
|
359
|
-
trace({ onlyExit: true })
|
|
360
|
-
], Repository.prototype, "setupWatching", null);
|
|
361
347
|
//# sourceMappingURL=repository.js.map
|