@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../src/providers/linear.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACnG,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAC5G,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAG7G,OAAO,KAAK,EAAE,2CAA2C,EAAE,MAAM,wDAAwD,CAAC;AAC1H,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AAO9D,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACpE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA6B,SAAQ,uBAAuB;IAC5E,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;CAAG;AAE3E,qBAAa,iBAAkB,SAAQ,iBAAiB,CAAC,4BAA4B,CAAC,MAAM,CAAC;IAC5F,OAAO,CAAC,UAAU,CAA4E;IAC/E,SAAS,IAAI,OAAO,CAAC,CAAC,iBAAiB,GAAG,wBAAwB,CAAC,EAAE,CAAC;IAkDrF,OAAO,CAAC,cAAc,CAAoE;YAC5E,eAAe;IA0B7B,OAAO,CAAC,MAAM,CAA8D;YAC9D,QAAQ;cA0BH,2BAA2B,CAC7C,QAAQ,EAAE,6BAA6B,GACrC,OAAO,CAAC,kBAAkB,EAAE,GAAG,SAAS,CAAC;cAGzB,+BAA+B,CACjD,QAAQ,EAAE,6BAA6B,EACvC,UAAU,EAAE,kBAAkB,EAAE,GAC9B,OAAO,CAAC,kBAAkB,EAAE,GAAG,SAAS,CAAC;IAG5C,QAAQ,CAAC,YAAY,EAAE,2CAA2C,CAAgB;cAE/D,6BAA6B,CAC/C,QAAQ,EAAE,6BAA6B,EACvC,SAAS,EAAE,kBAAkB,GAC3B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;cAIZ,2BAA2B,CAC7C,QAAQ,EAAE,6BAA6B,EACvC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAA;KAAE,GACnD,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC;IAIpC,IAAa,EAAE,IAAI,4BAA4B,CAAC,MAAM,CAErD;IACD,cAAuB,GAAG,IAAI,QAAQ,CAErC;IACD,IAAa,IAAI,IAAI,MAAM,CAE1B;IACD,IAAa,MAAM,IAAI,MAAM,CAE5B;cACwB,sBAAsB,CAC9C,OAAO,EAAE,6BAA6B,EACtC,SAAS,CAAC,EAAE,kBAAkB,EAAE,EAChC,YAAY,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC;cAsCX,mCAAmC,CAC3D,OAAO,EAAE,6BAA6B,EACtC,QAAQ,EAAE,kBAAkB,EAC5B,EAAE,GAAG,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EACpC,KAAK,EAAE,SAAS,GAAG,sBAAsB,GACvC,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;cAQjB,gBAAgB,CACxC,OAAO,EAAE,6BAA6B,EACtC,QAAQ,EAAE,kBAAkB,EAC5B,EAAE,EAAE,MAAM,GACR,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;YAKf,mBAAmB;IAyBjC,OAAO,CAAC,uBAAuB;CAU/B"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { isIssueResourceDescriptor } from '../../../git/utils/resourceDescriptor.utils.js';
|
|
2
|
+
import { Logger } from '../../../utils/logger.js';
|
|
3
|
+
import { toTokenWithInfo } from '../authentication/models.js';
|
|
4
|
+
import { IssuesCloudHostIntegrationId } from '../constants.js';
|
|
5
|
+
import { IssuesIntegration } from '../models/issuesIntegration.js';
|
|
6
|
+
import { fromProviderIssue, providersMetadata, toIssueShape } from './models.js';
|
|
7
|
+
const metadata = providersMetadata[IssuesCloudHostIntegrationId.Linear];
|
|
8
|
+
const authProvider = Object.freeze({ id: metadata.id, scopes: metadata.scopes });
|
|
9
|
+
const maxPagesPerRequest = 10;
|
|
10
|
+
export class LinearIntegration extends IssuesIntegration {
|
|
11
|
+
_autolinks;
|
|
12
|
+
async autolinks() {
|
|
13
|
+
const connected = this.maybeConnected ?? (await this.isConnected());
|
|
14
|
+
if (!connected || this._session == null) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
const cachedAutolinks = this._autolinks?.get(this._session.accessToken);
|
|
18
|
+
if (cachedAutolinks != null)
|
|
19
|
+
return cachedAutolinks;
|
|
20
|
+
const organization = await this.getOrganization(this._session);
|
|
21
|
+
if (organization == null)
|
|
22
|
+
return [];
|
|
23
|
+
const autolinks = [];
|
|
24
|
+
const teams = await this.getTeams(this._session);
|
|
25
|
+
for (const team of teams ?? []) {
|
|
26
|
+
const dashedPrefix = `${team.key}-`;
|
|
27
|
+
const underscoredPrefix = `${team.key}_`;
|
|
28
|
+
autolinks.push({
|
|
29
|
+
prefix: dashedPrefix,
|
|
30
|
+
url: `${organization.url}/issue/${dashedPrefix}<num>`,
|
|
31
|
+
alphanumeric: false,
|
|
32
|
+
ignoreCase: false,
|
|
33
|
+
title: `Open Issue ${dashedPrefix}<num> on ${organization.name}`,
|
|
34
|
+
type: 'issue',
|
|
35
|
+
description: `${organization.name} Issue ${dashedPrefix}<num>`,
|
|
36
|
+
descriptor: { ...organization },
|
|
37
|
+
});
|
|
38
|
+
autolinks.push({
|
|
39
|
+
prefix: underscoredPrefix,
|
|
40
|
+
url: `${organization.url}/issue/${dashedPrefix}<num>`,
|
|
41
|
+
alphanumeric: false,
|
|
42
|
+
ignoreCase: false,
|
|
43
|
+
referenceType: 'branch',
|
|
44
|
+
title: `Open Issue ${dashedPrefix}<num> on ${organization.name}`,
|
|
45
|
+
type: 'issue',
|
|
46
|
+
description: `${organization.name} Issue ${dashedPrefix}<num>`,
|
|
47
|
+
descriptor: { ...organization },
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
this._autolinks ??= new Map();
|
|
51
|
+
this._autolinks.set(this._session.accessToken, autolinks);
|
|
52
|
+
return autolinks;
|
|
53
|
+
}
|
|
54
|
+
_organizations;
|
|
55
|
+
async getOrganization(session, force = false) {
|
|
56
|
+
const { accessToken } = session;
|
|
57
|
+
this._organizations ??= new Map();
|
|
58
|
+
const cachedResources = this._organizations.get(accessToken);
|
|
59
|
+
if (cachedResources == null || force) {
|
|
60
|
+
const api = await this.getProvidersApi();
|
|
61
|
+
const organization = await api.getLinearOrganization(toTokenWithInfo(this.id, session));
|
|
62
|
+
const descriptor = organization && {
|
|
63
|
+
id: organization.id,
|
|
64
|
+
key: organization.key,
|
|
65
|
+
name: organization.name,
|
|
66
|
+
url: organization.url,
|
|
67
|
+
};
|
|
68
|
+
if (descriptor) {
|
|
69
|
+
this._organizations.set(accessToken, descriptor);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return this._organizations.get(accessToken);
|
|
73
|
+
}
|
|
74
|
+
_teams;
|
|
75
|
+
async getTeams(session, force = false) {
|
|
76
|
+
const { accessToken } = session;
|
|
77
|
+
this._teams ??= new Map();
|
|
78
|
+
const cachedResources = this._teams.get(accessToken);
|
|
79
|
+
if (cachedResources == null || force) {
|
|
80
|
+
const api = await this.getProvidersApi();
|
|
81
|
+
const teams = await api.getLinearTeamsForCurrentUser(toTokenWithInfo(this.id, session));
|
|
82
|
+
const descriptors = teams?.map(t => ({
|
|
83
|
+
id: t.id,
|
|
84
|
+
key: t.key,
|
|
85
|
+
name: t.name,
|
|
86
|
+
avatarUrl: t.iconUrl,
|
|
87
|
+
}));
|
|
88
|
+
if (descriptors) {
|
|
89
|
+
this._teams.set(accessToken, descriptors);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return this._teams.get(accessToken);
|
|
93
|
+
}
|
|
94
|
+
getProviderResourcesForUser(_session) {
|
|
95
|
+
throw new Error('Method not implemented.');
|
|
96
|
+
}
|
|
97
|
+
getProviderProjectsForResources(_session, _resources) {
|
|
98
|
+
throw new Error('Method not implemented.');
|
|
99
|
+
}
|
|
100
|
+
authProvider = authProvider;
|
|
101
|
+
getProviderAccountForResource(_session, _resource) {
|
|
102
|
+
throw new Error('Method not implemented.');
|
|
103
|
+
}
|
|
104
|
+
getProviderIssuesForProject(_session, _project, _options) {
|
|
105
|
+
throw new Error('Method not implemented.');
|
|
106
|
+
}
|
|
107
|
+
get id() {
|
|
108
|
+
return IssuesCloudHostIntegrationId.Linear;
|
|
109
|
+
}
|
|
110
|
+
get key() {
|
|
111
|
+
return 'linear';
|
|
112
|
+
}
|
|
113
|
+
get name() {
|
|
114
|
+
return metadata.name;
|
|
115
|
+
}
|
|
116
|
+
get domain() {
|
|
117
|
+
return metadata.domain;
|
|
118
|
+
}
|
|
119
|
+
async searchProviderMyIssues(session, resources, cancellation) {
|
|
120
|
+
if (resources != null) {
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
const api = await this.getProvidersApi();
|
|
124
|
+
let cursor = undefined;
|
|
125
|
+
let hasMore;
|
|
126
|
+
let requestCount = 0;
|
|
127
|
+
const issues = [];
|
|
128
|
+
try {
|
|
129
|
+
do {
|
|
130
|
+
if (cancellation?.aborted) {
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
const result = await api.getIssuesForCurrentUser(toTokenWithInfo(this.id, session), {
|
|
134
|
+
cursor: cursor,
|
|
135
|
+
});
|
|
136
|
+
requestCount += 1;
|
|
137
|
+
hasMore = result.paging?.more ?? false;
|
|
138
|
+
cursor = result.paging?.cursor;
|
|
139
|
+
const formattedIssues = result.values
|
|
140
|
+
.map(issue => toIssueShape(issue, this))
|
|
141
|
+
.filter((result) => result != null);
|
|
142
|
+
if (formattedIssues.length > 0) {
|
|
143
|
+
issues.push(...formattedIssues);
|
|
144
|
+
}
|
|
145
|
+
} while (requestCount < maxPagesPerRequest && hasMore);
|
|
146
|
+
}
|
|
147
|
+
catch (ex) {
|
|
148
|
+
if (issues.length === 0) {
|
|
149
|
+
throw ex;
|
|
150
|
+
}
|
|
151
|
+
Logger.error(ex, 'searchProviderMyIssues');
|
|
152
|
+
}
|
|
153
|
+
return issues;
|
|
154
|
+
}
|
|
155
|
+
async getProviderLinkedIssueOrPullRequest(session, resource, { key }, _type) {
|
|
156
|
+
const issue = await this.getRawProviderIssue(session, resource, key);
|
|
157
|
+
const autolinkableIssue = issue && {
|
|
158
|
+
...issue,
|
|
159
|
+
url: this.getIssueAutolinkLikeUrl(issue),
|
|
160
|
+
};
|
|
161
|
+
return autolinkableIssue && toIssueShape(autolinkableIssue, this);
|
|
162
|
+
}
|
|
163
|
+
async getProviderIssue(session, resource, id) {
|
|
164
|
+
const result = await this.getRawProviderIssue(session, resource, id);
|
|
165
|
+
return result && fromProviderIssue(result, this);
|
|
166
|
+
}
|
|
167
|
+
async getRawProviderIssue(session, resource, id) {
|
|
168
|
+
const api = await this.getProvidersApi();
|
|
169
|
+
try {
|
|
170
|
+
if (!isIssueResourceDescriptor(resource)) {
|
|
171
|
+
Logger.error(undefined, 'getProviderIssue: resource is not an IssueResourceDescriptor');
|
|
172
|
+
return undefined;
|
|
173
|
+
}
|
|
174
|
+
const result = await api.getIssue(toTokenWithInfo(this.id, session), {
|
|
175
|
+
resourceId: resource.id,
|
|
176
|
+
number: id,
|
|
177
|
+
});
|
|
178
|
+
if (result == null)
|
|
179
|
+
return undefined;
|
|
180
|
+
return result;
|
|
181
|
+
}
|
|
182
|
+
catch (ex) {
|
|
183
|
+
Logger.error(ex, 'getProviderIssue');
|
|
184
|
+
return undefined;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
getIssueAutolinkLikeUrl(issue) {
|
|
188
|
+
const url = issue.url;
|
|
189
|
+
if (url == null)
|
|
190
|
+
return null;
|
|
191
|
+
const lastSegment = url.split('/').pop();
|
|
192
|
+
if (!lastSegment || issue.number === lastSegment) {
|
|
193
|
+
return url;
|
|
194
|
+
}
|
|
195
|
+
return url.substring(0, url.length - lastSegment.length - 1);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=linear.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear.js","sourceRoot":"","sources":["../../src/providers/linear.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,433 @@
|
|
|
1
|
+
import type { Account, ActionablePullRequest, AnyEntityIdentifierInput, AzureDevOps, AzureOrganization, AzureProject, AzureSetPullRequestInput, Bitbucket, BitbucketServer, BitbucketWorkspaceStub, EnterpriseOptions, GetRepoInput, GitHub, GitLab, GitMergeStrategy, GitPullRequest, GitRepository, Jira, JiraProject, JiraResource, Linear, LinearOrganization, LinearTeam, NumberedPageInput, Issue as ProviderApiIssue, PullRequestWithUniqueID, RequestFunction, RequestOptions, Response, SetPullRequestInput, Trello } from '@gitkraken/provider-apis';
|
|
2
|
+
import { GitBuildStatusState, GitPullRequestMergeableState, GitPullRequestReviewState, GitPullRequestState } from '@gitkraken/provider-apis';
|
|
3
|
+
import type { Account as UserAccount } from '../../../git/models/author.js';
|
|
4
|
+
import type { IssueMember, IssueProject, IssueShape } from '../../../git/models/issue.js';
|
|
5
|
+
import { Issue } from '../../../git/models/issue.js';
|
|
6
|
+
import type { PullRequestMember, PullRequestRefs, PullRequestRepositoryIdentityDescriptor, PullRequestReviewer, PullRequestState } from '../../../git/models/pullRequest.js';
|
|
7
|
+
import { PullRequest, PullRequestMergeableState, PullRequestReviewDecision, PullRequestReviewState, PullRequestStatusCheckRollupState } from '../../../git/models/pullRequest.js';
|
|
8
|
+
import type { Provider, ProviderReference } from '../../../git/models/remoteProvider.js';
|
|
9
|
+
import type { IntegrationIds } from '../constants.js';
|
|
10
|
+
import type { Integration, IntegrationType } from '../models/integration.js';
|
|
11
|
+
/**
|
|
12
|
+
* Forward-only host type — the package only sets `EnrichablePullRequest.enrichable`
|
|
13
|
+
* for the host to consume. Typed as `any` to avoid duplicating the host's
|
|
14
|
+
* `EnrichableItem` shape.
|
|
15
|
+
*/
|
|
16
|
+
type EnrichableItem = any;
|
|
17
|
+
export type ProviderAccount = Account;
|
|
18
|
+
export type ProviderReposInput = (string | number)[] | GetRepoInput[];
|
|
19
|
+
export type ProviderRepoInput = GetRepoInput;
|
|
20
|
+
export type ProviderPullRequest = GitPullRequest;
|
|
21
|
+
export type ProviderRepository = GitRepository;
|
|
22
|
+
export type ProviderIssue = ProviderApiIssue;
|
|
23
|
+
export type ProviderEnterpriseOptions = EnterpriseOptions;
|
|
24
|
+
export type ProviderJiraProject = JiraProject;
|
|
25
|
+
export type ProviderJiraResource = JiraResource;
|
|
26
|
+
export type ProviderLinearTeam = LinearTeam;
|
|
27
|
+
export type ProviderLinearOrganization = LinearOrganization;
|
|
28
|
+
export type ProviderAzureProject = AzureProject;
|
|
29
|
+
export type ProviderAzureResource = AzureOrganization;
|
|
30
|
+
export type ProviderBitbucketResource = BitbucketWorkspaceStub;
|
|
31
|
+
export declare const ProviderPullRequestReviewState: typeof GitPullRequestReviewState;
|
|
32
|
+
export declare const ProviderBuildStatusState: typeof GitBuildStatusState;
|
|
33
|
+
export type ProviderRequestFunction = RequestFunction;
|
|
34
|
+
export type ProviderRequestResponse<T> = Response<T>;
|
|
35
|
+
export type ProviderRequestOptions = RequestOptions;
|
|
36
|
+
export declare enum PullRequestFilter {
|
|
37
|
+
Author = "author",
|
|
38
|
+
Assignee = "assignee",
|
|
39
|
+
ReviewRequested = "review-requested",
|
|
40
|
+
Mention = "mention"
|
|
41
|
+
}
|
|
42
|
+
export declare enum IssueFilter {
|
|
43
|
+
Author = "author",
|
|
44
|
+
Assignee = "assignee",
|
|
45
|
+
Mention = "mention"
|
|
46
|
+
}
|
|
47
|
+
export declare enum PagingMode {
|
|
48
|
+
Project = "project",
|
|
49
|
+
Repo = "repo",
|
|
50
|
+
Repos = "repos"
|
|
51
|
+
}
|
|
52
|
+
export interface PagingInput {
|
|
53
|
+
cursor?: string | null;
|
|
54
|
+
page?: number;
|
|
55
|
+
}
|
|
56
|
+
export interface PagedRepoInput {
|
|
57
|
+
repo: GetRepoInput;
|
|
58
|
+
cursor?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface PagedProjectInput {
|
|
61
|
+
namespace: string;
|
|
62
|
+
project: string;
|
|
63
|
+
cursor?: string;
|
|
64
|
+
}
|
|
65
|
+
export interface GetPullRequestsOptions {
|
|
66
|
+
authorLogin?: string;
|
|
67
|
+
assigneeLogins?: string[];
|
|
68
|
+
reviewRequestedLogin?: string;
|
|
69
|
+
mentionLogin?: string;
|
|
70
|
+
query?: string;
|
|
71
|
+
cursor?: string;
|
|
72
|
+
baseUrl?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface GetPullRequestsForUserOptions {
|
|
75
|
+
includeFromArchivedRepos?: boolean;
|
|
76
|
+
cursor?: string;
|
|
77
|
+
baseUrl?: string;
|
|
78
|
+
}
|
|
79
|
+
export interface GetPullRequestsForUserInput extends GetPullRequestsForUserOptions {
|
|
80
|
+
userId: string;
|
|
81
|
+
}
|
|
82
|
+
export interface GetPullRequestsAssociatedWithUserInput extends GetPullRequestsForUserOptions {
|
|
83
|
+
username: string;
|
|
84
|
+
}
|
|
85
|
+
export interface GetPullRequestsForRepoInput extends GetPullRequestsOptions {
|
|
86
|
+
repo: GetRepoInput;
|
|
87
|
+
}
|
|
88
|
+
export interface GetPullRequestsForReposInput extends GetPullRequestsOptions {
|
|
89
|
+
repos: GetRepoInput[];
|
|
90
|
+
}
|
|
91
|
+
export interface GetPullRequestsForRepoIdsInput extends GetPullRequestsOptions {
|
|
92
|
+
repoIds: (string | number)[];
|
|
93
|
+
}
|
|
94
|
+
export interface GetIssuesOptions {
|
|
95
|
+
authorLogin?: string;
|
|
96
|
+
assigneeLogins?: string[];
|
|
97
|
+
mentionLogin?: string;
|
|
98
|
+
cursor?: string;
|
|
99
|
+
baseUrl?: string;
|
|
100
|
+
}
|
|
101
|
+
export interface GetIssuesForRepoInput extends GetIssuesOptions {
|
|
102
|
+
repo: GetRepoInput;
|
|
103
|
+
}
|
|
104
|
+
export interface GetIssuesForReposInput extends GetIssuesOptions {
|
|
105
|
+
repos: GetRepoInput[];
|
|
106
|
+
}
|
|
107
|
+
export interface GetIssuesForRepoIdsInput extends GetIssuesOptions {
|
|
108
|
+
repoIds: (string | number)[];
|
|
109
|
+
}
|
|
110
|
+
export interface GetIssuesForProjectInput extends GetIssuesOptions {
|
|
111
|
+
project: string;
|
|
112
|
+
resourceId: string;
|
|
113
|
+
}
|
|
114
|
+
export interface GetIssuesForAzureProjectInput extends GetIssuesOptions {
|
|
115
|
+
namespace: string;
|
|
116
|
+
project: string;
|
|
117
|
+
}
|
|
118
|
+
export interface GetReposOptions {
|
|
119
|
+
cursor?: string;
|
|
120
|
+
}
|
|
121
|
+
export interface GetReposForAzureProjectInput {
|
|
122
|
+
namespace: string;
|
|
123
|
+
project: string;
|
|
124
|
+
}
|
|
125
|
+
export interface PageInfo {
|
|
126
|
+
hasNextPage: boolean;
|
|
127
|
+
endCursor?: string | null;
|
|
128
|
+
nextPage?: number | null;
|
|
129
|
+
}
|
|
130
|
+
export type GetRepoFn = (input: ProviderRepoInput, options?: EnterpriseOptions) => Promise<{
|
|
131
|
+
data: ProviderRepository;
|
|
132
|
+
}>;
|
|
133
|
+
export type GetRepoOfProjectFn = (input: ProviderRepoInput & {
|
|
134
|
+
project: string;
|
|
135
|
+
}, options?: EnterpriseOptions) => Promise<{
|
|
136
|
+
data: ProviderRepository;
|
|
137
|
+
}>;
|
|
138
|
+
export type GetPullRequestsForReposFn = (input: (GetPullRequestsForReposInput | GetPullRequestsForRepoIdsInput) & PagingInput, options?: EnterpriseOptions) => Promise<{
|
|
139
|
+
data: ProviderPullRequest[];
|
|
140
|
+
pageInfo?: PageInfo;
|
|
141
|
+
}>;
|
|
142
|
+
export type GetPullRequestsForRepoFn = (input: GetPullRequestsForRepoInput & PagingInput, options?: EnterpriseOptions) => Promise<{
|
|
143
|
+
data: ProviderPullRequest[];
|
|
144
|
+
pageInfo?: PageInfo;
|
|
145
|
+
}>;
|
|
146
|
+
export type GetPullRequestsForUserFn = (input: GetPullRequestsForUserInput | GetPullRequestsAssociatedWithUserInput, options?: EnterpriseOptions) => Promise<{
|
|
147
|
+
data: ProviderPullRequest[];
|
|
148
|
+
pageInfo?: PageInfo;
|
|
149
|
+
}>;
|
|
150
|
+
export type GetPullRequestsForAzureProjectsFn = (input: {
|
|
151
|
+
projects: {
|
|
152
|
+
namespace: string;
|
|
153
|
+
project: string;
|
|
154
|
+
}[];
|
|
155
|
+
authorLogin?: string;
|
|
156
|
+
assigneeLogins?: string[];
|
|
157
|
+
}, options?: EnterpriseOptions) => Promise<{
|
|
158
|
+
data: ProviderPullRequest[];
|
|
159
|
+
}>;
|
|
160
|
+
export type MergePullRequestFn = ((input: {
|
|
161
|
+
pullRequest: {
|
|
162
|
+
headRef: {
|
|
163
|
+
oid: string | null;
|
|
164
|
+
} | null;
|
|
165
|
+
version?: number;
|
|
166
|
+
} & SetPullRequestInput;
|
|
167
|
+
mergeStrategy?: GitMergeStrategy;
|
|
168
|
+
}, options?: EnterpriseOptions) => Promise<void>) | ((input: {
|
|
169
|
+
pullRequest: {
|
|
170
|
+
headRef: {
|
|
171
|
+
oid: string | null;
|
|
172
|
+
} | null;
|
|
173
|
+
} & SetPullRequestInput;
|
|
174
|
+
mergeStrategy?: GitMergeStrategy.Squash;
|
|
175
|
+
}, options?: EnterpriseOptions) => Promise<void>) | ((input: {
|
|
176
|
+
pullRequest: {
|
|
177
|
+
headRef: {
|
|
178
|
+
oid: string;
|
|
179
|
+
};
|
|
180
|
+
} & AzureSetPullRequestInput;
|
|
181
|
+
mergeStrategy?: GitMergeStrategy.MergeCommit | GitMergeStrategy.Rebase | GitMergeStrategy.RebaseThenMergeCommit | GitMergeStrategy.Squash;
|
|
182
|
+
}, options?: EnterpriseOptions) => Promise<void>);
|
|
183
|
+
export type GetIssueFn = (input: {
|
|
184
|
+
resourceId: string;
|
|
185
|
+
number: string;
|
|
186
|
+
} | {
|
|
187
|
+
namespace: string;
|
|
188
|
+
name: string;
|
|
189
|
+
number: string;
|
|
190
|
+
}, // gitlab
|
|
191
|
+
options?: EnterpriseOptions) => Promise<{
|
|
192
|
+
data: ProviderIssue;
|
|
193
|
+
}>;
|
|
194
|
+
export type GetIssuesForReposFn = (input: (GetIssuesForReposInput | GetIssuesForRepoIdsInput) & PagingInput, options?: EnterpriseOptions) => Promise<{
|
|
195
|
+
data: ProviderIssue[];
|
|
196
|
+
pageInfo?: PageInfo;
|
|
197
|
+
}>;
|
|
198
|
+
export type GetIssuesForCurrentUserFn = (input: PagingInput, options?: EnterpriseOptions) => Promise<{
|
|
199
|
+
data: ProviderIssue[];
|
|
200
|
+
pageInfo?: PageInfo;
|
|
201
|
+
}>;
|
|
202
|
+
export type GetIssuesForRepoFn = (input: GetIssuesForRepoInput & PagingInput, options?: EnterpriseOptions) => Promise<{
|
|
203
|
+
data: ProviderIssue[];
|
|
204
|
+
pageInfo?: PageInfo;
|
|
205
|
+
}>;
|
|
206
|
+
export type GetIssuesForAzureProjectFn = (input: GetIssuesForAzureProjectInput & PagingInput, options?: EnterpriseOptions) => Promise<{
|
|
207
|
+
data: ProviderIssue[];
|
|
208
|
+
pageInfo?: PageInfo;
|
|
209
|
+
}>;
|
|
210
|
+
export type GetReposForAzureProjectFn = (input: GetReposForAzureProjectInput & PagingInput, options?: EnterpriseOptions) => Promise<{
|
|
211
|
+
data: ProviderRepository[];
|
|
212
|
+
pageInfo?: PageInfo;
|
|
213
|
+
}>;
|
|
214
|
+
export type GetCurrentUserFn = (input: Record<string, never>, options?: EnterpriseOptions) => Promise<{
|
|
215
|
+
data: ProviderAccount;
|
|
216
|
+
}>;
|
|
217
|
+
export type GetCurrentUserForInstanceFn = (input: {
|
|
218
|
+
namespace: string;
|
|
219
|
+
}, options?: EnterpriseOptions) => Promise<{
|
|
220
|
+
data: ProviderAccount;
|
|
221
|
+
}>;
|
|
222
|
+
export type GetCurrentUserForResourceFn = (input: {
|
|
223
|
+
resourceId: string;
|
|
224
|
+
}, options?: EnterpriseOptions) => Promise<{
|
|
225
|
+
data: ProviderAccount;
|
|
226
|
+
}>;
|
|
227
|
+
export type GetJiraResourcesForCurrentUserFn = (options?: EnterpriseOptions) => Promise<{
|
|
228
|
+
data: JiraResource[];
|
|
229
|
+
}>;
|
|
230
|
+
export type GetLinearOrganizationFn = (options?: EnterpriseOptions) => Promise<{
|
|
231
|
+
data: LinearOrganization;
|
|
232
|
+
}>;
|
|
233
|
+
export type GetLinearTeamsForCurrentUserFn = (options?: EnterpriseOptions) => Promise<{
|
|
234
|
+
data: LinearTeam[];
|
|
235
|
+
}>;
|
|
236
|
+
export type GetJiraProjectsForResourcesFn = (input: {
|
|
237
|
+
resourceIds: string[];
|
|
238
|
+
}, options?: EnterpriseOptions) => Promise<{
|
|
239
|
+
data: JiraProject[];
|
|
240
|
+
}>;
|
|
241
|
+
export type GetAzureResourcesForUserFn = (input: {
|
|
242
|
+
userId: string;
|
|
243
|
+
}, options?: EnterpriseOptions) => Promise<{
|
|
244
|
+
data: AzureOrganization[];
|
|
245
|
+
}>;
|
|
246
|
+
export type GetAzureProjectsForResourceFn = (input: {
|
|
247
|
+
namespace: string;
|
|
248
|
+
cursor?: string;
|
|
249
|
+
}, options?: EnterpriseOptions) => Promise<{
|
|
250
|
+
data: AzureProject[];
|
|
251
|
+
pageInfo?: PageInfo;
|
|
252
|
+
}>;
|
|
253
|
+
export type GetBitbucketResourcesForCurrentUserFn = (input: Record<string, never>, options?: EnterpriseOptions) => Promise<{
|
|
254
|
+
data: BitbucketWorkspaceStub[];
|
|
255
|
+
}>;
|
|
256
|
+
export type GetBitbucketPullRequestsAuthoredByUserForWorkspaceFn = (input: {
|
|
257
|
+
userId: string;
|
|
258
|
+
workspaceSlug: string;
|
|
259
|
+
} & NumberedPageInput, options?: EnterpriseOptions) => Promise<{
|
|
260
|
+
pageInfo: {
|
|
261
|
+
hasNextPage: boolean;
|
|
262
|
+
nextPage: number | null;
|
|
263
|
+
};
|
|
264
|
+
data: GitPullRequest[];
|
|
265
|
+
}>;
|
|
266
|
+
export type GetBitbucketServerPullRequestsForCurrentUserFn = (input: NumberedPageInput, options?: EnterpriseOptions) => Promise<{
|
|
267
|
+
pageInfo: {
|
|
268
|
+
hasNextPage: boolean;
|
|
269
|
+
nextPage: number | null;
|
|
270
|
+
};
|
|
271
|
+
data: GitPullRequest[];
|
|
272
|
+
}>;
|
|
273
|
+
export type GetIssuesForProjectFn = Jira['getIssuesForProject'];
|
|
274
|
+
export type GetIssuesForResourceForCurrentUserFn = (input: {
|
|
275
|
+
resourceId: string;
|
|
276
|
+
}, options?: EnterpriseOptions) => Promise<{
|
|
277
|
+
data: ProviderIssue[];
|
|
278
|
+
}>;
|
|
279
|
+
export interface ProviderInfo extends ProviderMetadata {
|
|
280
|
+
provider: GitHub | GitLab | Bitbucket | BitbucketServer | Jira | Linear | Trello | AzureDevOps;
|
|
281
|
+
getRepoFn?: GetRepoFn;
|
|
282
|
+
getRepoOfProjectFn?: GetRepoOfProjectFn;
|
|
283
|
+
getPullRequestsForReposFn?: GetPullRequestsForReposFn;
|
|
284
|
+
getPullRequestsForRepoFn?: GetPullRequestsForRepoFn;
|
|
285
|
+
getPullRequestsForUserFn?: GetPullRequestsForUserFn;
|
|
286
|
+
getPullRequestsForAzureProjectsFn?: GetPullRequestsForAzureProjectsFn;
|
|
287
|
+
getIssueFn?: GetIssueFn;
|
|
288
|
+
getIssuesForReposFn?: GetIssuesForReposFn;
|
|
289
|
+
getIssuesForCurrentUserFn?: GetIssuesForCurrentUserFn;
|
|
290
|
+
getIssuesForRepoFn?: GetIssuesForRepoFn;
|
|
291
|
+
getIssuesForAzureProjectFn?: GetIssuesForAzureProjectFn;
|
|
292
|
+
getCurrentUserFn?: GetCurrentUserFn;
|
|
293
|
+
getCurrentUserForInstanceFn?: GetCurrentUserForInstanceFn;
|
|
294
|
+
getCurrentUserForResourceFn?: GetCurrentUserForResourceFn;
|
|
295
|
+
getJiraResourcesForCurrentUserFn?: GetJiraResourcesForCurrentUserFn;
|
|
296
|
+
getLinearOrganizationFn?: GetLinearOrganizationFn;
|
|
297
|
+
getLinearTeamsForCurrentUserFn?: GetLinearTeamsForCurrentUserFn;
|
|
298
|
+
getAzureResourcesForUserFn?: GetAzureResourcesForUserFn;
|
|
299
|
+
getBitbucketResourcesForCurrentUserFn?: GetBitbucketResourcesForCurrentUserFn;
|
|
300
|
+
getBitbucketPullRequestsAuthoredByUserForWorkspaceFn?: GetBitbucketPullRequestsAuthoredByUserForWorkspaceFn;
|
|
301
|
+
getBitbucketServerPullRequestsForCurrentUserFn?: GetBitbucketServerPullRequestsForCurrentUserFn;
|
|
302
|
+
getJiraProjectsForResourcesFn?: GetJiraProjectsForResourcesFn;
|
|
303
|
+
getAzureProjectsForResourceFn?: GetAzureProjectsForResourceFn;
|
|
304
|
+
getIssuesForProjectFn?: GetIssuesForProjectFn;
|
|
305
|
+
getReposForAzureProjectFn?: GetReposForAzureProjectFn;
|
|
306
|
+
getIssuesForResourceForCurrentUserFn?: GetIssuesForResourceForCurrentUserFn;
|
|
307
|
+
mergePullRequestFn?: MergePullRequestFn;
|
|
308
|
+
}
|
|
309
|
+
export interface ProviderMetadata {
|
|
310
|
+
domain: string;
|
|
311
|
+
id: IntegrationIds;
|
|
312
|
+
name: string;
|
|
313
|
+
type: IntegrationType;
|
|
314
|
+
/** Key for the `gl-provider-<iconKey>` glicon. Cloud self-managed variants reuse the base
|
|
315
|
+
* `'github-enterprise'`/`'gitlab-self-hosted'` icon (no enum member exists for those anymore). */
|
|
316
|
+
iconKey: string;
|
|
317
|
+
issuesPagingMode?: PagingMode;
|
|
318
|
+
pullRequestsPagingMode?: PagingMode;
|
|
319
|
+
scopes: string[];
|
|
320
|
+
supportedPullRequestFilters?: PullRequestFilter[];
|
|
321
|
+
supportedIssueFilters?: IssueFilter[];
|
|
322
|
+
}
|
|
323
|
+
export type Providers = Record<IntegrationIds, ProviderInfo>;
|
|
324
|
+
export type ProvidersMetadata = Record<IntegrationIds, ProviderMetadata>;
|
|
325
|
+
export declare const providersMetadata: ProvidersMetadata;
|
|
326
|
+
export declare function getReasonsForUserIssue(issue: ProviderIssue, userLogin: string): string[];
|
|
327
|
+
export declare function toIssueShape(issue: ProviderIssue, provider: ProviderReference): IssueShape | undefined;
|
|
328
|
+
export declare function issueFilterToReason(filter: IssueFilter): 'authored' | 'assigned' | 'mentioned';
|
|
329
|
+
export declare function toAccount(account: ProviderAccount, provider: ProviderReference): UserAccount;
|
|
330
|
+
export declare const toProviderBuildStatusState: {
|
|
331
|
+
success: GitBuildStatusState;
|
|
332
|
+
failed: GitBuildStatusState;
|
|
333
|
+
pending: GitBuildStatusState;
|
|
334
|
+
};
|
|
335
|
+
export declare const fromProviderBuildStatusState: {
|
|
336
|
+
SUCCESS: PullRequestStatusCheckRollupState;
|
|
337
|
+
FAILED: PullRequestStatusCheckRollupState;
|
|
338
|
+
PENDING: PullRequestStatusCheckRollupState;
|
|
339
|
+
ACTION_REQUIRED: PullRequestStatusCheckRollupState;
|
|
340
|
+
ERROR: undefined;
|
|
341
|
+
CANCELLED: undefined;
|
|
342
|
+
OPTIONAL_ACTION_REQUIRED: undefined;
|
|
343
|
+
SKIPPED: undefined;
|
|
344
|
+
RUNNING: undefined;
|
|
345
|
+
WARNING: undefined;
|
|
346
|
+
};
|
|
347
|
+
export declare const toProviderPullRequestReviewState: {
|
|
348
|
+
APPROVED: GitPullRequestReviewState;
|
|
349
|
+
CHANGES_REQUESTED: GitPullRequestReviewState;
|
|
350
|
+
COMMENTED: GitPullRequestReviewState;
|
|
351
|
+
REVIEW_REQUESTED: GitPullRequestReviewState;
|
|
352
|
+
DISMISSED: null;
|
|
353
|
+
PENDING: null;
|
|
354
|
+
};
|
|
355
|
+
export declare const fromProviderPullRequestReviewState: {
|
|
356
|
+
APPROVED: PullRequestReviewState;
|
|
357
|
+
CHANGES_REQUESTED: PullRequestReviewState;
|
|
358
|
+
COMMENTED: PullRequestReviewState;
|
|
359
|
+
REVIEW_REQUESTED: PullRequestReviewState;
|
|
360
|
+
};
|
|
361
|
+
export declare const toProviderPullRequestMergeableState: {
|
|
362
|
+
Mergeable: GitPullRequestMergeableState;
|
|
363
|
+
Conflicting: GitPullRequestMergeableState;
|
|
364
|
+
Unknown: GitPullRequestMergeableState;
|
|
365
|
+
FailingChecks: GitPullRequestMergeableState;
|
|
366
|
+
BlockedByPolicy: GitPullRequestMergeableState;
|
|
367
|
+
};
|
|
368
|
+
export declare const fromProviderPullRequestMergeableState: {
|
|
369
|
+
MERGEABLE: PullRequestMergeableState;
|
|
370
|
+
CONFLICTS: PullRequestMergeableState;
|
|
371
|
+
BLOCKED: PullRequestMergeableState;
|
|
372
|
+
FAILING_CHECKS: PullRequestMergeableState;
|
|
373
|
+
UNKNOWN: PullRequestMergeableState;
|
|
374
|
+
BEHIND: PullRequestMergeableState;
|
|
375
|
+
UNKNOWN_AND_BLOCKED: PullRequestMergeableState;
|
|
376
|
+
UNSTABLE: PullRequestMergeableState;
|
|
377
|
+
};
|
|
378
|
+
export declare function toProviderReviews(reviewers: PullRequestReviewer[]): ProviderPullRequest['reviews'];
|
|
379
|
+
export declare function toReviewRequests(reviews: ProviderPullRequest['reviews']): PullRequestReviewer[] | undefined;
|
|
380
|
+
export declare function toCompletedReviews(reviews: ProviderPullRequest['reviews']): PullRequestReviewer[] | undefined;
|
|
381
|
+
export declare function toProviderReviewDecision(reviewDecision?: PullRequestReviewDecision, reviewers?: PullRequestReviewer[]): GitPullRequestReviewState | null;
|
|
382
|
+
export declare const fromPullRequestReviewDecision: {
|
|
383
|
+
APPROVED: PullRequestReviewDecision;
|
|
384
|
+
CHANGES_REQUESTED: PullRequestReviewDecision;
|
|
385
|
+
COMMENTED: undefined;
|
|
386
|
+
REVIEW_REQUESTED: PullRequestReviewDecision;
|
|
387
|
+
};
|
|
388
|
+
export declare function toProviderPullRequestState(state: PullRequestState): GitPullRequestState;
|
|
389
|
+
export declare function fromProviderPullRequestState(state: GitPullRequestState): PullRequestState;
|
|
390
|
+
export declare function toProviderPullRequest(pr: PullRequest): ProviderPullRequest;
|
|
391
|
+
export declare function fromProviderPullRequest(pr: ProviderPullRequest, provider: Provider, options?: {
|
|
392
|
+
project?: IssueProject;
|
|
393
|
+
}): PullRequest;
|
|
394
|
+
export declare function fromProviderIssue(issue: ProviderIssue, integration: Integration, options?: {
|
|
395
|
+
project?: IssueProject;
|
|
396
|
+
}): Issue;
|
|
397
|
+
export declare function toProviderPullRequestWithUniqueId(pr: PullRequest): PullRequestWithUniqueID;
|
|
398
|
+
export declare function toProviderAccount(account: PullRequestMember | IssueMember): ProviderAccount;
|
|
399
|
+
export declare function fromProviderAccount(account: ProviderAccount | null): PullRequestMember | IssueMember;
|
|
400
|
+
export type ProviderActionablePullRequest = ActionablePullRequest;
|
|
401
|
+
export type EnrichablePullRequest = ProviderPullRequest & {
|
|
402
|
+
uuid: string;
|
|
403
|
+
type: 'pullrequest';
|
|
404
|
+
provider: ProviderReference;
|
|
405
|
+
enrichable: EnrichableItem;
|
|
406
|
+
repoIdentity: PullRequestRepositoryIdentityDescriptor;
|
|
407
|
+
refs?: PullRequestRefs;
|
|
408
|
+
underlyingPullRequest: PullRequest;
|
|
409
|
+
};
|
|
410
|
+
export declare const getActionablePullRequests: (pullRequests: PullRequestWithUniqueID[], currentUser: Pick<Account, "id"> | null, options?: {
|
|
411
|
+
enrichedItemsByUniqueId?: import("@gitkraken/provider-apis").EnrichedItemsByUniqueId;
|
|
412
|
+
codeSuggestionsCountByPrUuid?: import("@gitkraken/provider-apis").CodeSuggestionsCountByPrUuid;
|
|
413
|
+
}) => ActionablePullRequest[];
|
|
414
|
+
export type GitConfigEntityIdentifier = AnyEntityIdentifierInput & {
|
|
415
|
+
metadata: {
|
|
416
|
+
id: string;
|
|
417
|
+
owner: {
|
|
418
|
+
key: string;
|
|
419
|
+
name: string;
|
|
420
|
+
id: string | undefined;
|
|
421
|
+
owner: string | undefined;
|
|
422
|
+
};
|
|
423
|
+
createdDate: string;
|
|
424
|
+
isCloudEnterprise?: boolean;
|
|
425
|
+
};
|
|
426
|
+
};
|
|
427
|
+
export declare function isGitHubDotCom(domain: string | null | undefined): boolean;
|
|
428
|
+
export declare function isGitLabDotCom(domain: string | null | undefined): boolean;
|
|
429
|
+
export declare function isAzureCloudDomain(domain: string | undefined): boolean;
|
|
430
|
+
export declare function isBitbucketCloudDomain(domain: string | undefined): boolean;
|
|
431
|
+
export declare function supportsCodeSuggest(provider: ProviderReference): boolean;
|
|
432
|
+
export {};
|
|
433
|
+
//# sourceMappingURL=models.d.ts.map
|