@gitkraken/core-gitlens 0.5.109 → 0.5.111
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 +48 -1
- package/dist/git/cache.d.ts +111 -6
- package/dist/git/cache.d.ts.map +1 -1
- package/dist/git/cache.js +312 -43
- package/dist/git/cache.js.map +1 -1
- package/dist/git/context.d.ts +11 -0
- package/dist/git/context.d.ts.map +1 -1
- package/dist/git/context.js.map +1 -1
- package/dist/git/models/fileStatus.d.ts +1 -0
- package/dist/git/models/fileStatus.d.ts.map +1 -1
- package/dist/git/models/fileStatus.js +1 -0
- package/dist/git/models/fileStatus.js.map +1 -1
- package/dist/git/models/issue.d.ts +4 -0
- package/dist/git/models/issue.d.ts.map +1 -1
- package/dist/git/models/mergeConflicts.d.ts +2 -0
- package/dist/git/models/mergeConflicts.d.ts.map +1 -1
- package/dist/git/models/pullRequest.d.ts +119 -2
- package/dist/git/models/pullRequest.d.ts.map +1 -1
- package/dist/git/models/pullRequest.js +27 -1
- package/dist/git/models/pullRequest.js.map +1 -1
- package/dist/git/models/repository.d.ts +32 -5
- package/dist/git/models/repository.d.ts.map +1 -1
- package/dist/git/models/repository.js +58 -12
- package/dist/git/models/repository.js.map +1 -1
- package/dist/git/models/statusFile.d.ts.map +1 -1
- package/dist/git/models/statusFile.js +3 -0
- package/dist/git/models/statusFile.js.map +1 -1
- package/dist/git/providers/branches.d.ts +2 -0
- package/dist/git/providers/branches.d.ts.map +1 -1
- package/dist/git/providers/commits.d.ts +8 -0
- package/dist/git/providers/commits.d.ts.map +1 -1
- package/dist/git/providers/config.d.ts +19 -1
- package/dist/git/providers/config.d.ts.map +1 -1
- package/dist/git/providers/operations.d.ts +1 -0
- package/dist/git/providers/operations.d.ts.map +1 -1
- package/dist/git/providers/pausedOperations.d.ts +2 -0
- package/dist/git/providers/pausedOperations.d.ts.map +1 -1
- package/dist/git/providers/status.d.ts +1 -0
- package/dist/git/providers/status.d.ts.map +1 -1
- package/dist/git/utils/config.utils.d.ts +3 -0
- package/dist/git/utils/config.utils.d.ts.map +1 -0
- package/dist/git/utils/config.utils.js +8 -0
- package/dist/git/utils/config.utils.js.map +1 -0
- package/dist/git/utils/issue.utils.d.ts.map +1 -1
- package/dist/git/utils/issue.utils.js +2 -0
- package/dist/git/utils/issue.utils.js.map +1 -1
- package/dist/git/utils/pausedOperationStatus.utils.d.ts +14 -0
- package/dist/git/utils/pausedOperationStatus.utils.d.ts.map +1 -1
- package/dist/git/utils/pausedOperationStatus.utils.js +23 -0
- package/dist/git/utils/pausedOperationStatus.utils.js.map +1 -1
- package/dist/git/utils/pullRequest.utils.d.ts +24 -1
- package/dist/git/utils/pullRequest.utils.d.ts.map +1 -1
- package/dist/git/utils/pullRequest.utils.js +71 -0
- package/dist/git/utils/pullRequest.utils.js.map +1 -1
- package/dist/git/watching/changeEvent.d.ts +6 -1
- package/dist/git/watching/changeEvent.d.ts.map +1 -1
- package/dist/git/watching/classifyChange.d.ts.map +1 -1
- package/dist/git/watching/classifyChange.js +14 -1
- package/dist/git/watching/classifyChange.js.map +1 -1
- package/dist/git/watching/watchService.d.ts.map +1 -1
- package/dist/git/watching/watchService.js +18 -3
- package/dist/git/watching/watchService.js.map +1 -1
- package/dist/git/watching/watchSession.d.ts +8 -1
- package/dist/git/watching/watchSession.d.ts.map +1 -1
- package/dist/git/watching/watchSession.js +38 -6
- package/dist/git/watching/watchSession.js.map +1 -1
- package/dist/git/watching/watcherPatterns.d.ts +2 -2
- package/dist/git/watching/watcherPatterns.d.ts.map +1 -1
- package/dist/git/watching/watcherPatterns.js +1 -1
- package/dist/git/watching/watcherPatterns.js.map +1 -1
- package/dist/git-cli/exec/git.d.ts +1 -1
- package/dist/git-cli/exec/git.d.ts.map +1 -1
- package/dist/git-cli/exec/git.js +13 -3
- package/dist/git-cli/exec/git.js.map +1 -1
- package/dist/git-cli/providers/branches.d.ts +19 -0
- package/dist/git-cli/providers/branches.d.ts.map +1 -1
- package/dist/git-cli/providers/branches.js +282 -78
- package/dist/git-cli/providers/branches.js.map +1 -1
- package/dist/git-cli/providers/commits.d.ts +4 -0
- package/dist/git-cli/providers/commits.d.ts.map +1 -1
- package/dist/git-cli/providers/commits.js +84 -11
- package/dist/git-cli/providers/commits.js.map +1 -1
- package/dist/git-cli/providers/config.d.ts +42 -0
- package/dist/git-cli/providers/config.d.ts.map +1 -1
- package/dist/git-cli/providers/config.js +186 -5
- package/dist/git-cli/providers/config.js.map +1 -1
- package/dist/git-cli/providers/contributors.d.ts.map +1 -1
- package/dist/git-cli/providers/contributors.js +1 -1
- package/dist/git-cli/providers/contributors.js.map +1 -1
- package/dist/git-cli/providers/graph.d.ts +2 -2
- package/dist/git-cli/providers/graph.d.ts.map +1 -1
- package/dist/git-cli/providers/graph.js +27 -9
- package/dist/git-cli/providers/graph.js.map +1 -1
- package/dist/git-cli/providers/operations.d.ts.map +1 -1
- package/dist/git-cli/providers/operations.js +40 -12
- package/dist/git-cli/providers/operations.js.map +1 -1
- package/dist/git-cli/providers/pausedOperations.d.ts +5 -0
- package/dist/git-cli/providers/pausedOperations.d.ts.map +1 -1
- package/dist/git-cli/providers/pausedOperations.js +87 -16
- package/dist/git-cli/providers/pausedOperations.js.map +1 -1
- package/dist/git-cli/providers/refs.d.ts +5 -3
- package/dist/git-cli/providers/refs.d.ts.map +1 -1
- package/dist/git-cli/providers/refs.js +33 -4
- package/dist/git-cli/providers/refs.js.map +1 -1
- package/dist/git-cli/providers/status.d.ts +1 -0
- package/dist/git-cli/providers/status.d.ts.map +1 -1
- package/dist/git-cli/providers/status.js +18 -3
- package/dist/git-cli/providers/status.js.map +1 -1
- package/dist/git-cli/providers/worktrees.d.ts.map +1 -1
- package/dist/git-cli/providers/worktrees.js +4 -0
- package/dist/git-cli/providers/worktrees.js.map +1 -1
- package/dist/git-cli/service.d.ts.map +1 -1
- package/dist/git-cli/service.js.map +1 -1
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts +39 -1
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +1 -1
- package/dist/plus/agents/providers/claudeCodeProvider.js +978 -71
- package/dist/plus/agents/providers/claudeCodeProvider.js.map +1 -1
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts +24 -2
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts.map +1 -1
- package/dist/plus/agents/providers/claudeCodeTranscript.js +84 -9
- package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -1
- package/dist/plus/agents/types.d.ts +37 -2
- package/dist/plus/agents/types.d.ts.map +1 -1
- package/dist/plus/agents/types.js +2 -0
- package/dist/plus/agents/types.js.map +1 -1
- package/dist/plus/ai/errors.d.ts +10 -0
- package/dist/plus/ai/errors.d.ts.map +1 -1
- package/dist/plus/ai/errors.js +29 -0
- package/dist/plus/ai/errors.js.map +1 -1
- package/dist/plus/ai/models/model.d.ts +4 -0
- package/dist/plus/ai/models/model.d.ts.map +1 -1
- package/dist/plus/ai/models/model.js +51 -6
- package/dist/plus/ai/models/model.js.map +1 -1
- package/dist/plus/ai/models/promptTemplates.d.ts +1 -1
- package/dist/plus/ai/models/promptTemplates.d.ts.map +1 -1
- package/dist/plus/ai/models/provider.d.ts +60 -2
- package/dist/plus/ai/models/provider.d.ts.map +1 -1
- package/dist/plus/ai/prompts.d.ts +12 -0
- package/dist/plus/ai/prompts.d.ts.map +1 -1
- package/dist/plus/ai/prompts.js +177 -61
- package/dist/plus/ai/prompts.js.map +1 -1
- package/dist/plus/ai/providers/anthropicProvider.d.ts +10 -2
- package/dist/plus/ai/providers/anthropicProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/anthropicProvider.js +139 -46
- package/dist/plus/ai/providers/anthropicProvider.js.map +1 -1
- package/dist/plus/ai/providers/deepSeekProvider.d.ts +2 -0
- package/dist/plus/ai/providers/deepSeekProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/deepSeekProvider.js +10 -21
- package/dist/plus/ai/providers/deepSeekProvider.js.map +1 -1
- package/dist/plus/ai/providers/geminiProvider.d.ts +1 -0
- package/dist/plus/ai/providers/geminiProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/geminiProvider.js +19 -0
- package/dist/plus/ai/providers/geminiProvider.js.map +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.d.ts +5 -1
- package/dist/plus/ai/providers/gitkrakenProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.js +118 -3
- package/dist/plus/ai/providers/gitkrakenProvider.js.map +1 -1
- package/dist/plus/ai/providers/huggingFaceProvider.d.ts +1 -0
- package/dist/plus/ai/providers/huggingFaceProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/huggingFaceProvider.js +5 -0
- package/dist/plus/ai/providers/huggingFaceProvider.js.map +1 -1
- package/dist/plus/ai/providers/mistralProvider.d.ts +3 -1
- package/dist/plus/ai/providers/mistralProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/mistralProvider.js +99 -19
- package/dist/plus/ai/providers/mistralProvider.js.map +1 -1
- package/dist/plus/ai/providers/ollamaProvider.d.ts +4 -3
- package/dist/plus/ai/providers/ollamaProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/ollamaProvider.js +38 -3
- package/dist/plus/ai/providers/ollamaProvider.js.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProvider.d.ts +1 -0
- package/dist/plus/ai/providers/openAICompatibleProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProvider.js +4 -0
- package/dist/plus/ai/providers/openAICompatibleProvider.js.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts +154 -5
- package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.js +259 -10
- package/dist/plus/ai/providers/openAICompatibleProviderBase.js.map +1 -1
- package/dist/plus/ai/providers/openRouterProvider.d.ts +4 -0
- package/dist/plus/ai/providers/openRouterProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/openRouterProvider.js +9 -0
- package/dist/plus/ai/providers/openRouterProvider.js.map +1 -1
- package/dist/plus/ai/providers/openaiProvider.d.ts +1 -0
- package/dist/plus/ai/providers/openaiProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/openaiProvider.js +1 -0
- package/dist/plus/ai/providers/openaiProvider.js.map +1 -1
- package/dist/plus/ai/providers/responseFormatCache.d.ts +8 -0
- package/dist/plus/ai/providers/responseFormatCache.d.ts.map +1 -0
- package/dist/plus/ai/providers/responseFormatCache.js +25 -0
- package/dist/plus/ai/providers/responseFormatCache.js.map +1 -0
- package/dist/plus/ai/providers/xaiProvider.d.ts +1 -0
- package/dist/plus/ai/providers/xaiProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/xaiProvider.js +10 -1
- package/dist/plus/ai/providers/xaiProvider.js.map +1 -1
- package/dist/plus/ai/utils/ai.utils.d.ts +3 -0
- package/dist/plus/ai/utils/ai.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/ai.utils.js +13 -0
- package/dist/plus/ai/utils/ai.utils.js.map +1 -1
- package/dist/plus/ai/utils/results.utils.d.ts +16 -2
- package/dist/plus/ai/utils/results.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/results.utils.js +204 -28
- package/dist/plus/ai/utils/results.utils.js.map +1 -1
- package/dist/plus/git-github/api/github.d.ts +92 -4
- package/dist/plus/git-github/api/github.d.ts.map +1 -1
- package/dist/plus/git-github/api/github.js +324 -20
- package/dist/plus/git-github/api/github.js.map +1 -1
- package/dist/plus/git-github/api/pullRequestSearchQuery.d.ts +27 -1
- package/dist/plus/git-github/api/pullRequestSearchQuery.d.ts.map +1 -1
- package/dist/plus/git-github/api/pullRequestSearchQuery.js +73 -6
- package/dist/plus/git-github/api/pullRequestSearchQuery.js.map +1 -1
- package/dist/plus/git-github/models.d.ts +33 -5
- package/dist/plus/git-github/models.d.ts.map +1 -1
- package/dist/plus/git-github/models.js +43 -4
- package/dist/plus/git-github/models.js.map +1 -1
- package/dist/plus/git-github/providers/github/status.d.ts +1 -0
- package/dist/plus/git-github/providers/github/status.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/status.js.map +1 -1
- package/dist/plus/integrations/context.d.ts +4 -0
- package/dist/plus/integrations/context.d.ts.map +1 -1
- package/dist/plus/integrations/index.d.ts.map +1 -1
- package/dist/plus/integrations/index.js +2 -0
- package/dist/plus/integrations/index.js.map +1 -1
- package/dist/plus/integrations/integrationService.d.ts +16 -1
- package/dist/plus/integrations/integrationService.d.ts.map +1 -1
- package/dist/plus/integrations/integrationService.js +9 -1
- package/dist/plus/integrations/integrationService.js.map +1 -1
- package/dist/plus/integrations/manager.d.ts +45 -5
- package/dist/plus/integrations/manager.d.ts.map +1 -1
- package/dist/plus/integrations/models/gitHostIntegration.d.ts +18 -3
- package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -1
- package/dist/plus/integrations/models/gitHostIntegration.js +30 -2
- package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -1
- package/dist/plus/integrations/models/integration.d.ts +4 -2
- package/dist/plus/integrations/models/integration.d.ts.map +1 -1
- package/dist/plus/integrations/models/integration.js +2 -2
- package/dist/plus/integrations/models/integration.js.map +1 -1
- package/dist/plus/integrations/providerFilters.d.ts +1 -1
- package/dist/plus/integrations/providerFilters.d.ts.map +1 -1
- package/dist/plus/integrations/providers/accounts.d.ts +6 -0
- package/dist/plus/integrations/providers/accounts.d.ts.map +1 -0
- package/dist/plus/integrations/providers/accounts.js +34 -0
- package/dist/plus/integrations/providers/accounts.js.map +1 -0
- package/dist/plus/integrations/providers/azure/models.d.ts.map +1 -1
- package/dist/plus/integrations/providers/azure/models.js +3 -0
- package/dist/plus/integrations/providers/azure/models.js.map +1 -1
- package/dist/plus/integrations/providers/bitbucket/models.d.ts.map +1 -1
- package/dist/plus/integrations/providers/bitbucket/models.js +1 -0
- package/dist/plus/integrations/providers/bitbucket/models.js.map +1 -1
- package/dist/plus/integrations/providers/github.d.ts +23 -2
- package/dist/plus/integrations/providers/github.d.ts.map +1 -1
- package/dist/plus/integrations/providers/github.js +169 -138
- package/dist/plus/integrations/providers/github.js.map +1 -1
- package/dist/plus/integrations/providers/gitlab.d.ts +9 -0
- package/dist/plus/integrations/providers/gitlab.d.ts.map +1 -1
- package/dist/plus/integrations/providers/gitlab.js +23 -4
- package/dist/plus/integrations/providers/gitlab.js.map +1 -1
- package/dist/plus/integrations/providers/models.d.ts +14 -32
- package/dist/plus/integrations/providers/models.d.ts.map +1 -1
- package/dist/plus/integrations/providers/models.js +66 -109
- package/dist/plus/integrations/providers/models.js.map +1 -1
- package/dist/plus/integrations/providers/pullRequestReviews.d.ts +50 -0
- package/dist/plus/integrations/providers/pullRequestReviews.d.ts.map +1 -0
- package/dist/plus/integrations/providers/pullRequestReviews.js +99 -0
- package/dist/plus/integrations/providers/pullRequestReviews.js.map +1 -0
- package/dist/plus/integrations/reads/broaden.d.ts.map +1 -1
- package/dist/plus/integrations/reads/broaden.js +6 -1
- package/dist/plus/integrations/reads/broaden.js.map +1 -1
- package/dist/plus/integrations/reads/counts.d.ts +55 -0
- package/dist/plus/integrations/reads/counts.d.ts.map +1 -1
- package/dist/plus/integrations/reads/counts.js +146 -2
- package/dist/plus/integrations/reads/counts.js.map +1 -1
- package/dist/plus/integrations/reads/drains.d.ts +7 -1
- package/dist/plus/integrations/reads/drains.d.ts.map +1 -1
- package/dist/plus/integrations/reads/drains.js +20 -6
- package/dist/plus/integrations/reads/drains.js.map +1 -1
- package/dist/plus/integrations/reads/filters.d.ts.map +1 -1
- package/dist/plus/integrations/reads/filters.js +22 -0
- package/dist/plus/integrations/reads/filters.js.map +1 -1
- package/dist/plus/integrations/reads/hierarchy.d.ts.map +1 -1
- package/dist/plus/integrations/reads/hierarchy.js +3 -1
- package/dist/plus/integrations/reads/hierarchy.js.map +1 -1
- package/dist/plus/integrations/reads/issueTracker.d.ts.map +1 -1
- package/dist/plus/integrations/reads/issueTracker.js +8 -3
- package/dist/plus/integrations/reads/issueTracker.js.map +1 -1
- package/dist/plus/integrations/reads/issues.d.ts.map +1 -1
- package/dist/plus/integrations/reads/issues.js +9 -4
- package/dist/plus/integrations/reads/issues.js.map +1 -1
- package/dist/plus/integrations/reads/pullRequests.d.ts.map +1 -1
- package/dist/plus/integrations/reads/pullRequests.js +9 -4
- package/dist/plus/integrations/reads/pullRequests.js.map +1 -1
- package/dist/plus/integrations/reads/searchPullRequests.d.ts +4 -3
- package/dist/plus/integrations/reads/searchPullRequests.d.ts.map +1 -1
- package/dist/plus/integrations/reads/searchPullRequests.js +6 -4
- package/dist/plus/integrations/reads/searchPullRequests.js.map +1 -1
- package/dist/plus/integrations/reads/sweeps.js +1 -1
- package/dist/plus/integrations/reads/sweeps.js.map +1 -1
- package/dist/plus/integrations/reads/warnings.d.ts +2 -2
- package/dist/plus/integrations/reads/warnings.d.ts.map +1 -1
- package/dist/plus/integrations/reads/warnings.js +11 -2
- package/dist/plus/integrations/reads/warnings.js.map +1 -1
- package/dist/plus/integrations/results.d.ts +6 -1
- package/dist/plus/integrations/results.d.ts.map +1 -1
- package/dist/plus/integrations/results.js.map +1 -1
- package/dist/utils/env/browser/base64.d.ts +1 -1
- package/dist/utils/env/browser/base64.d.ts.map +1 -1
- package/dist/utils/env/node/base64.d.ts +1 -1
- package/dist/utils/env/node/base64.d.ts.map +1 -1
- package/dist/utils/env/node/base64.js +2 -0
- package/dist/utils/env/node/base64.js.map +1 -1
- package/dist/utils/keys/chord.d.ts +52 -0
- package/dist/utils/keys/chord.d.ts.map +1 -0
- package/dist/utils/keys/chord.js +135 -0
- package/dist/utils/keys/chord.js.map +1 -0
- package/dist/utils/keys/keybinding.d.ts +53 -0
- package/dist/utils/keys/keybinding.d.ts.map +1 -0
- package/dist/utils/keys/keybinding.js +58 -0
- package/dist/utils/keys/keybinding.js.map +1 -0
- package/dist/utils/path.d.ts +11 -0
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js +13 -0
- package/dist/utils/path.js.map +1 -1
- package/docs/integrations.md +76 -10
- package/docs/kepler-read-api-parity.md +9 -0
- package/package.json +13 -5
- package/src/git/cache.ts +383 -47
- package/src/git/context.ts +11 -0
- package/src/git/models/fileStatus.ts +1 -0
- package/src/git/models/issue.ts +4 -0
- package/src/git/models/mergeConflicts.ts +3 -2
- package/src/git/models/pullRequest.ts +117 -1
- package/src/git/models/repository.ts +58 -17
- package/src/git/models/statusFile.ts +3 -0
- package/src/git/providers/branches.ts +6 -0
- package/src/git/providers/commits.ts +11 -0
- package/src/git/providers/config.ts +18 -0
- package/src/git/providers/operations.ts +1 -0
- package/src/git/providers/pausedOperations.ts +2 -0
- package/src/git/providers/status.ts +1 -0
- package/src/git/utils/config.utils.ts +8 -0
- package/src/git/utils/issue.utils.ts +2 -0
- package/src/git/utils/pausedOperationStatus.utils.ts +28 -0
- package/src/git/utils/pullRequest.utils.ts +86 -0
- package/src/git/watching/changeEvent.ts +6 -1
- package/src/git/watching/classifyChange.ts +15 -1
- package/src/git/watching/watchService.ts +20 -3
- package/src/git/watching/watchSession.ts +41 -6
- package/src/git/watching/watcherPatterns.ts +1 -1
- package/src/git-cli/exec/git.ts +13 -3
- package/src/git-cli/providers/branches.ts +384 -132
- package/src/git-cli/providers/commits.ts +106 -15
- package/src/git-cli/providers/config.ts +229 -8
- package/src/git-cli/providers/contributors.ts +5 -1
- package/src/git-cli/providers/graph.ts +26 -13
- package/src/git-cli/providers/operations.ts +45 -20
- package/src/git-cli/providers/pausedOperations.ts +109 -17
- package/src/git-cli/providers/refs.ts +33 -3
- package/src/git-cli/providers/status.ts +25 -4
- package/src/git-cli/providers/worktrees.ts +5 -0
- package/src/git-cli/service.ts +0 -1
- package/src/plus/agents/providers/claudeCodeProvider.ts +1130 -87
- package/src/plus/agents/providers/claudeCodeTranscript.ts +95 -9
- package/src/plus/agents/types.ts +46 -2
- package/src/plus/ai/errors.ts +30 -0
- package/src/plus/ai/models/model.ts +56 -6
- package/src/plus/ai/models/promptTemplates.ts +1 -1
- package/src/plus/ai/models/provider.ts +69 -2
- package/src/plus/ai/prompts.ts +186 -61
- package/src/plus/ai/providers/anthropicProvider.ts +155 -47
- package/src/plus/ai/providers/deepSeekProvider.ts +11 -21
- package/src/plus/ai/providers/geminiProvider.ts +19 -0
- package/src/plus/ai/providers/gitkrakenProvider.ts +126 -3
- package/src/plus/ai/providers/huggingFaceProvider.ts +6 -0
- package/src/plus/ai/providers/mistralProvider.ts +102 -19
- package/src/plus/ai/providers/ollamaProvider.ts +55 -4
- package/src/plus/ai/providers/openAICompatibleProvider.ts +5 -0
- package/src/plus/ai/providers/openAICompatibleProviderBase.ts +360 -17
- package/src/plus/ai/providers/openRouterProvider.ts +17 -0
- package/src/plus/ai/providers/openaiProvider.ts +1 -0
- package/src/plus/ai/providers/responseFormatCache.ts +39 -0
- package/src/plus/ai/providers/xaiProvider.ts +10 -1
- package/src/plus/ai/utils/ai.utils.ts +14 -0
- package/src/plus/ai/utils/results.utils.ts +255 -31
- package/src/plus/git-github/api/github.ts +467 -23
- package/src/plus/git-github/api/pullRequestSearchQuery.ts +81 -7
- package/src/plus/git-github/models.ts +77 -7
- package/src/plus/git-github/providers/github/status.ts +1 -0
- package/src/plus/integrations/context.ts +4 -0
- package/src/plus/integrations/index.ts +2 -0
- package/src/plus/integrations/integrationService.ts +25 -2
- package/src/plus/integrations/manager.ts +50 -5
- package/src/plus/integrations/models/gitHostIntegration.ts +54 -2
- package/src/plus/integrations/models/integration.ts +24 -13
- package/src/plus/integrations/providerFilters.ts +6 -1
- package/src/plus/integrations/providers/accounts.ts +38 -0
- package/src/plus/integrations/providers/azure/models.ts +3 -0
- package/src/plus/integrations/providers/bitbucket/models.ts +1 -0
- package/src/plus/integrations/providers/github.ts +218 -145
- package/src/plus/integrations/providers/gitlab.ts +30 -20
- package/src/plus/integrations/providers/models.ts +99 -127
- package/src/plus/integrations/providers/pullRequestReviews.ts +122 -0
- package/src/plus/integrations/reads/broaden.ts +6 -1
- package/src/plus/integrations/reads/counts.ts +273 -2
- package/src/plus/integrations/reads/drains.ts +19 -6
- package/src/plus/integrations/reads/filters.ts +22 -0
- package/src/plus/integrations/reads/hierarchy.ts +3 -1
- package/src/plus/integrations/reads/issueTracker.ts +9 -3
- package/src/plus/integrations/reads/issues.ts +9 -4
- package/src/plus/integrations/reads/pullRequests.ts +9 -4
- package/src/plus/integrations/reads/searchPullRequests.ts +12 -4
- package/src/plus/integrations/reads/sweeps.ts +1 -1
- package/src/plus/integrations/reads/warnings.ts +12 -1
- package/src/plus/integrations/results.ts +6 -1
- package/src/utils/env/browser/base64.ts +1 -1
- package/src/utils/env/node/base64.ts +3 -1
- package/src/utils/keys/chord.ts +184 -0
- package/src/utils/keys/keybinding.ts +116 -0
- package/src/utils/path.ts +14 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { uuid } from '../../../utils/crypto.js';
|
|
2
|
+
import { Logger } from '../../../utils/logger.js';
|
|
2
3
|
import { ollamaProviderDescriptor as provider } from '../constants.js';
|
|
3
4
|
import { OpenAICompatibleProviderBase } from './openAICompatibleProviderBase.js';
|
|
4
5
|
const defaultBaseUrl = 'http://localhost:11434';
|
|
@@ -90,13 +91,17 @@ export class OllamaProvider extends OpenAICompatibleProviderBase {
|
|
|
90
91
|
const url = this.getBaseUrl();
|
|
91
92
|
return url ? `${url}/api/chat` : undefined;
|
|
92
93
|
}
|
|
94
|
+
// Ollama < 0.5.0 rejects a schema-valued `format` (accepts only 'json')
|
|
95
|
+
isResponseFormatRejection(status, body) {
|
|
96
|
+
return status === 400 && /format/i.test(body);
|
|
97
|
+
}
|
|
93
98
|
getHeaders(_action, _apiKey, _model, _url) {
|
|
94
99
|
return {
|
|
95
100
|
Accept: 'application/json',
|
|
96
101
|
'Content-Type': 'application/json',
|
|
97
102
|
};
|
|
98
103
|
}
|
|
99
|
-
async fetch(action, model, apiKey, messages, modelOptions, signal) {
|
|
104
|
+
async fetch(action, model, apiKey, messages, modelOptions, responseFormat, signal) {
|
|
100
105
|
let retries = 0;
|
|
101
106
|
let maxInputTokens = model.maxTokens.input;
|
|
102
107
|
while (true) {
|
|
@@ -109,19 +114,48 @@ export class OllamaProvider extends OpenAICompatibleProviderBase {
|
|
|
109
114
|
}));
|
|
110
115
|
// Ensure temperature is within valid range for Ollama (0.0-1.0)
|
|
111
116
|
const temperature = Math.min(Math.max(modelOptions?.temperature ?? 0.7, 0), 1);
|
|
117
|
+
const format = responseFormat != null &&
|
|
118
|
+
!this.isResponseFormatSessionRejected(model, responseFormat) &&
|
|
119
|
+
this.supportsResponseFormat(model)
|
|
120
|
+
? responseFormat.schema
|
|
121
|
+
: undefined;
|
|
112
122
|
const request = {
|
|
113
123
|
model: model.id,
|
|
114
124
|
messages: ollamaMessages,
|
|
115
125
|
stream: false,
|
|
126
|
+
// Ollama takes the bare JSON schema (grammar-constrained sampling, any model)
|
|
127
|
+
format: format,
|
|
116
128
|
options: {
|
|
117
129
|
temperature: temperature,
|
|
118
130
|
// Add num_predict if outputTokens is specified
|
|
119
131
|
...(modelOptions?.outputTokens ? { num_predict: modelOptions.outputTokens } : {}),
|
|
120
132
|
},
|
|
121
133
|
};
|
|
122
|
-
|
|
134
|
+
let rsp = await this.fetchCore(action, model, apiKey, request, signal);
|
|
135
|
+
let errorBody;
|
|
136
|
+
if (!rsp.ok && rsp.status === 400 && request.format != null) {
|
|
137
|
+
// If the schema-valued format was rejected (Ollama < 0.5.0 accepts only 'json'),
|
|
138
|
+
// resend the same request without it — the prompt still describes the JSON
|
|
139
|
+
// Leave it `undefined` (not '') when the read fails, so `handleFetchFailure` falls
|
|
140
|
+
// back to reading the still-unconsumed response instead of parsing an empty string
|
|
141
|
+
errorBody = await rsp
|
|
142
|
+
.clone()
|
|
143
|
+
.text()
|
|
144
|
+
.catch(() => undefined);
|
|
145
|
+
if (this.isResponseFormatRejection(rsp.status, errorBody ?? '')) {
|
|
146
|
+
Logger.warn(`(${this.name}) ${model.id}: native response format was rejected (${rsp.status}); retrying without it`);
|
|
147
|
+
const rejected = responseFormat;
|
|
148
|
+
responseFormat = undefined;
|
|
149
|
+
delete request.format;
|
|
150
|
+
rsp = await this.fetchCore(action, model, apiKey, request, signal);
|
|
151
|
+
errorBody = undefined;
|
|
152
|
+
if (rsp.ok && rejected != null) {
|
|
153
|
+
this.rememberResponseFormatRejection(model, rejected);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
123
157
|
if (!rsp.ok) {
|
|
124
|
-
const result = await this.handleFetchFailure(rsp, action, model, retries, maxInputTokens);
|
|
158
|
+
const result = await this.handleFetchFailure(rsp, action, model, retries, maxInputTokens, errorBody);
|
|
125
159
|
if (result.retry) {
|
|
126
160
|
maxInputTokens = result.maxInputTokens;
|
|
127
161
|
retries++;
|
|
@@ -137,6 +171,7 @@ export class OllamaProvider extends OpenAICompatibleProviderBase {
|
|
|
137
171
|
return {
|
|
138
172
|
id: uuid(),
|
|
139
173
|
content: data.message.content,
|
|
174
|
+
finishReason: data.done_reason === 'length' ? 'length' : undefined,
|
|
140
175
|
model: model,
|
|
141
176
|
usage: {
|
|
142
177
|
promptTokens: data.prompt_eval_count ?? 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollamaProvider.js","sourceRoot":"","sources":["../../../../src/plus/ai/providers/ollamaProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,wBAAwB,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ollamaProvider.js","sourceRoot":"","sources":["../../../../src/plus/ai/providers/ollamaProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export declare class OpenAICompatibleProvider extends OpenAICompatibleProviderBa
|
|
|
11
11
|
};
|
|
12
12
|
getModels(): Promise<readonly AIModel<typeof provider.id>[]>;
|
|
13
13
|
protected getUrl(_model?: AIModel<typeof provider.id>): string | undefined;
|
|
14
|
+
protected supportsResponseFormat(_model: AIModel<typeof provider.id>): boolean;
|
|
14
15
|
private getOrPromptBaseUrl;
|
|
15
16
|
configured(silent: boolean): Promise<boolean>;
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openAICompatibleProvider.d.ts","sourceRoot":"","sources":["../../../../src/plus/ai/providers/openAICompatibleProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAKjF,qBAAa,wBAAyB,SAAQ,4BAA4B,CAAC,OAAO,QAAQ,CAAC,EAAE,CAAC;IAC7F,QAAQ,CAAC,EAAE,qBAAe;IAC1B,QAAQ,CAAC,IAAI,SAAiB;IAC9B,SAAS,CAAC,QAAQ,CAAC,UAAU,wEAAY;IACzC,SAAS,CAAC,QAAQ,CAAC,MAAM;QACxB,MAAM;QACN,YAAY;MACX;IAEF,SAAS,IAAI,OAAO,CAAC,SAAS,OAAO,CAAC,OAAO,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAE3D;IAED,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,QAAQ,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,CAKzE;YAEa,kBAAkB;IAqBjB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAO3D;CACD"}
|
|
1
|
+
{"version":3,"file":"openAICompatibleProvider.d.ts","sourceRoot":"","sources":["../../../../src/plus/ai/providers/openAICompatibleProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAKjF,qBAAa,wBAAyB,SAAQ,4BAA4B,CAAC,OAAO,QAAQ,CAAC,EAAE,CAAC;IAC7F,QAAQ,CAAC,EAAE,qBAAe;IAC1B,QAAQ,CAAC,IAAI,SAAiB;IAC9B,SAAS,CAAC,QAAQ,CAAC,UAAU,wEAAY;IACzC,SAAS,CAAC,QAAQ,CAAC,MAAM;QACxB,MAAM;QACN,YAAY;MACX;IAEF,SAAS,IAAI,OAAO,CAAC,SAAS,OAAO,CAAC,OAAO,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAE3D;IAED,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,QAAQ,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,CAKzE;IAGD,UAAmB,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,QAAQ,CAAC,EAAE,CAAC,GAAG,OAAO,CAEtF;YAEa,kBAAkB;IAqBjB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAO3D;CACD"}
|
|
@@ -20,6 +20,10 @@ export class OpenAICompatibleProvider extends OpenAICompatibleProviderBase {
|
|
|
20
20
|
return undefined;
|
|
21
21
|
return cfg.url || undefined;
|
|
22
22
|
}
|
|
23
|
+
// Unknown user-configured backend — fall back to prompt-described JSON
|
|
24
|
+
supportsResponseFormat(_model) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
23
27
|
async getOrPromptBaseUrl(silent, hasApiKey) {
|
|
24
28
|
const orgConf = this.context.getProviderConfig(this.id);
|
|
25
29
|
if (!orgConf.enabled)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openAICompatibleProvider.js","sourceRoot":"","sources":["../../../../src/plus/ai/providers/openAICompatibleProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGjF,MAAM,MAAM,GAA4B,YAAY,CAAC,QAAQ,CAAC,CAAC;AAE/D,MAAM,OAAO,wBAAyB,SAAQ,4BAAgD;IACpF,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;IACjB,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IACX,UAAU,GAAG,QAAQ,CAAC;IACtB,MAAM,GAAG;QAC3B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,0BAA0B;KACxC,CAAC;IAEF,SAAS;QACR,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAES,MAAM,CAAC,MAAoC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAEnC,OAAO,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAe,EAAE,SAAkB;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QACvC,IAAI,OAAO,CAAC,GAAG;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC;QAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE1B,IAAI,MAAM,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,SAAS,CAAC;YAAE,OAAO,GAAG,CAAC;QAErD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CACjC,IAAI,CAAC,EAAE,EACP;YACC,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,uCAAuC;YAC9C,WAAW,EAAE,sDAAsD;YACnE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,SAAS,CAAC;SACrF,EACD,MAAM,CACN,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,MAAe;QACxC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAE1C,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"openAICompatibleProvider.js","sourceRoot":"","sources":["../../../../src/plus/ai/providers/openAICompatibleProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGjF,MAAM,MAAM,GAA4B,YAAY,CAAC,QAAQ,CAAC,CAAC;AAE/D,MAAM,OAAO,wBAAyB,SAAQ,4BAAgD;IACpF,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;IACjB,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IACX,UAAU,GAAG,QAAQ,CAAC;IACtB,MAAM,GAAG;QAC3B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,0BAA0B;KACxC,CAAC;IAEF,SAAS;QACR,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAES,MAAM,CAAC,MAAoC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAEnC,OAAO,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC;IAC7B,CAAC;IAED,uEAAuE;IACpD,sBAAsB,CAAC,MAAmC;QAC5E,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAe,EAAE,SAAkB;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QACvC,IAAI,OAAO,CAAC,GAAG;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC;QAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE1B,IAAI,MAAM,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,SAAS,CAAC;YAAE,OAAO,GAAG,CAAC;QAErD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CACjC,IAAI,CAAC,EAAE,EACP;YACC,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,uCAAuC;YAC9C,WAAW,EAAE,sDAAsD;YACnE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,SAAS,CAAC;SACrF,EACD,MAAM,CACN,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,MAAe;QACxC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAE1C,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;CACD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AIProviders } from '../constants.js';
|
|
2
2
|
import type { AIActionType, AIModel, AIProviderDescriptor } from '../models/model.js';
|
|
3
|
-
import type { AIChatMessage, AIChatMessageRole, AIProvider, AIProviderResponse } from '../models/provider.js';
|
|
3
|
+
import type { AIChatMessage, AIChatMessageRole, AIFinishReason, AIProvider, AIProviderResponse, AIResponseFormat, AIToolCall, AIToolDefinition, JSONSchema } from '../models/provider.js';
|
|
4
4
|
import type { AIProviderContext } from './context.js';
|
|
5
5
|
export declare abstract class OpenAICompatibleProviderBase<T extends AIProviders> implements AIProvider<T> {
|
|
6
6
|
protected readonly context: AIProviderContext;
|
|
@@ -17,20 +17,24 @@ export declare abstract class OpenAICompatibleProviderBase<T extends AIProviders
|
|
|
17
17
|
configured(silent: boolean): Promise<boolean>;
|
|
18
18
|
getApiKey(silent: boolean): Promise<string | undefined>;
|
|
19
19
|
abstract getModels(): Promise<readonly AIModel<T>[]>;
|
|
20
|
+
protected isResponseFormatSessionRejected(model: AIModel<T>, responseFormat: AIResponseFormat): boolean;
|
|
21
|
+
protected rememberResponseFormatRejection(model: AIModel<T>, responseFormat: AIResponseFormat): void;
|
|
20
22
|
protected abstract getUrl(_model: AIModel<T>): string | undefined;
|
|
21
23
|
protected getHeaders<TAction extends AIActionType>(_action: TAction, apiKey: string, _model: AIModel<T>, _url: string, _conversationId?: string): Record<string, string> | Promise<Record<string, string>>;
|
|
22
|
-
sendRequest<TAction extends AIActionType>(action: TAction, model: AIModel<T>, apiKey: string, getMessages: (maxInputTokens: number, retries: number) => Promise<AIChatMessage[]>, options: {
|
|
24
|
+
sendRequest<TAction extends AIActionType>(action: TAction, model: AIModel<T>, apiKey: string, getMessages: (maxInputTokens: number, retries: number) => Promise<AIChatMessage<AIChatMessageRole>[]>, options: {
|
|
23
25
|
signal: AbortSignal;
|
|
24
26
|
modelOptions?: {
|
|
25
27
|
outputTokens?: number;
|
|
26
28
|
temperature?: number;
|
|
27
29
|
};
|
|
28
30
|
conversationId?: string;
|
|
31
|
+
responseFormat?: AIResponseFormat;
|
|
32
|
+
tools?: readonly AIToolDefinition[];
|
|
29
33
|
}): Promise<AIProviderResponse<void> | undefined>;
|
|
30
|
-
protected fetch<TAction extends AIActionType>(action: TAction, model: AIModel<T>, apiKey: string, messages: (maxInputTokens: number, retries: number) => Promise<AIChatMessage[]>, modelOptions?: {
|
|
34
|
+
protected fetch<TAction extends AIActionType>(action: TAction, model: AIModel<T>, apiKey: string, messages: (maxInputTokens: number, retries: number) => Promise<AIChatMessage<AIChatMessageRole>[]>, modelOptions?: {
|
|
31
35
|
outputTokens?: number;
|
|
32
36
|
temperature?: number;
|
|
33
|
-
}, signal?: AbortSignal, conversationId?: string): Promise<AIProviderResponse<void>>;
|
|
37
|
+
}, responseFormat?: AIResponseFormat, signal?: AbortSignal, conversationId?: string, tools?: readonly AIToolDefinition[]): Promise<AIProviderResponse<void>>;
|
|
34
38
|
/**
|
|
35
39
|
* Returns the message-related request fields. The default sends every message inline (OpenAI
|
|
36
40
|
* Chat Completions semantics); providers whose API carries the initial system prompt separately
|
|
@@ -40,10 +44,155 @@ export declare abstract class OpenAICompatibleProviderBase<T extends AIProviders
|
|
|
40
44
|
messages: AIChatMessage<AIChatMessageRole>[];
|
|
41
45
|
system?: string;
|
|
42
46
|
};
|
|
43
|
-
|
|
47
|
+
/** Whether the given model accepts a native response-format/schema field; when false the
|
|
48
|
+
* prompt's JSON description is the only format control (the request is unchanged).
|
|
49
|
+
* Dynamic-catalog providers (GitKraken, OpenRouter) populate
|
|
50
|
+
* {@link AIModel.supportsStructuredOutputs}; static providers override with id-based gates */
|
|
51
|
+
protected supportsResponseFormat(model: AIModel<T>): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Whether a failed response reads as a rejection of the `tools` field rather than a problem with the
|
|
54
|
+
* prompt — the trigger for one retry without tools, so a tool-using feature degrades to single-shot
|
|
55
|
+
* instead of failing outright.
|
|
56
|
+
*
|
|
57
|
+
* Providers that wrap upstream rejections in their own envelope (e.g. GitKraken) must override this:
|
|
58
|
+
* the wrapper's prose names neither "tool" nor "function", so the text match here cannot see through
|
|
59
|
+
* it and the fallback would never fire.
|
|
60
|
+
*/
|
|
61
|
+
protected isToolsRejection(status: number, message: string | undefined): boolean;
|
|
62
|
+
/** Whether a failed response means the native response format itself was rejected — the
|
|
63
|
+
* trigger for stripping it and retrying via the prompt-described JSON. Providers that wrap
|
|
64
|
+
* upstream rejections in their own envelope (e.g. GitKraken) extend this */
|
|
65
|
+
protected isResponseFormatRejection(status: number, body: string): boolean;
|
|
66
|
+
/** Translates the canonical response format onto the request; called only when
|
|
67
|
+
* {@link supportsResponseFormat} allows it. Base emits the OpenAI `response_format.json_schema`
|
|
68
|
+
* envelope. Overrides must REPLACE this for providers with a different native field
|
|
69
|
+
* (e.g. Anthropic `output_config`) — never leave both on the request. */
|
|
70
|
+
protected applyResponseFormat(request: ChatCompletionRequest, _model: AIModel<T>, responseFormat: AIResponseFormat): void;
|
|
71
|
+
protected extractContent(data: ChatCompletionResponse): string;
|
|
72
|
+
/** Normalizes abnormal completion signals (all arrive as HTTP 200) so consumers can
|
|
73
|
+
* distinguish truncated/filtered/refused output from a malformed-but-complete reply */
|
|
74
|
+
protected extractFinishReason(data: ChatCompletionResponse): AIFinishReason | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Maps messages onto the provider's wire shape. The default is OpenAI Chat Completions: assistant
|
|
77
|
+
* tool calls go in `tool_calls` with `arguments` JSON-stringified, and tool results are `tool`-role
|
|
78
|
+
* entries keyed by `tool_call_id`. Providers with a different tool encoding (e.g. Anthropic's
|
|
79
|
+
* content blocks) override this.
|
|
80
|
+
*/
|
|
81
|
+
protected serializeMessages(messages: AIChatMessage<AIChatMessageRole>[]): unknown[];
|
|
82
|
+
/** Returns the tool-related request fields. The default is the OpenAI `function` envelope. */
|
|
83
|
+
protected serializeTools(tools: readonly AIToolDefinition[]): {
|
|
84
|
+
tools: unknown[];
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Extracts tool calls from a response, handling both the OpenAI shape
|
|
88
|
+
* (`choices[].message.tool_calls`, whose `arguments` is a JSON string) and the Anthropic shape
|
|
89
|
+
* (`content[]` blocks of type `tool_use`) — mirroring how {@link fetch} already reads content
|
|
90
|
+
* from both.
|
|
91
|
+
*/
|
|
92
|
+
protected parseToolCalls(data: ChatCompletionResponse): AIToolCall[] | undefined;
|
|
93
|
+
protected handleFetchFailure<TAction extends AIActionType>(rsp: Response, _action: TAction, model: AIModel<T>, retries: number, maxInputTokens: number,
|
|
94
|
+
/** The already-read error body, when the caller had to read it (avoids a second decode) */
|
|
95
|
+
body?: string, sentTools?: boolean): Promise<{
|
|
44
96
|
retry: true;
|
|
45
97
|
maxInputTokens: number;
|
|
98
|
+
withoutTools?: boolean;
|
|
46
99
|
}>;
|
|
47
100
|
protected fetchCore<TAction extends AIActionType>(action: TAction, model: AIModel<T>, apiKey: string, request: object, signal: AbortSignal | undefined, conversationId?: string): Promise<Response>;
|
|
48
101
|
}
|
|
102
|
+
export interface ChatCompletionRequest {
|
|
103
|
+
model: string;
|
|
104
|
+
/** Provider-shaped messages from {@link OpenAICompatibleProviderBase.serializeMessages} */
|
|
105
|
+
messages: unknown[];
|
|
106
|
+
/** Anthropic carries the initial system prompt here instead of as a `system`-role message */
|
|
107
|
+
system?: string;
|
|
108
|
+
/** Tool definitions, shaped by {@link OpenAICompatibleProviderBase.serializeTools} */
|
|
109
|
+
tools?: unknown[];
|
|
110
|
+
/** @deprecated but used by Anthropic & Gemini */
|
|
111
|
+
max_tokens?: number;
|
|
112
|
+
/** Currently can't be used for Anthropic & Gemini */
|
|
113
|
+
max_completion_tokens?: number;
|
|
114
|
+
metadata?: Record<string, string>;
|
|
115
|
+
stream?: boolean;
|
|
116
|
+
temperature?: number;
|
|
117
|
+
top_p?: number;
|
|
118
|
+
/** Not supported by many models/providers */
|
|
119
|
+
reasoning_effort?: 'low' | 'medium' | 'high';
|
|
120
|
+
/** OpenAI-compatible structured output (set via {@link OpenAICompatibleProviderBase.applyResponseFormat}) */
|
|
121
|
+
response_format?: {
|
|
122
|
+
type: 'json_schema';
|
|
123
|
+
json_schema: {
|
|
124
|
+
name: string;
|
|
125
|
+
strict: boolean;
|
|
126
|
+
schema: JSONSchema;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
/** Anthropic-native structured output (set only by the Anthropic override) */
|
|
130
|
+
output_config?: {
|
|
131
|
+
format: {
|
|
132
|
+
type: 'json_schema';
|
|
133
|
+
schema: JSONSchema;
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
/** OpenRouter-only routing constraint (set only by the OpenRouter override) */
|
|
137
|
+
provider?: {
|
|
138
|
+
require_parameters: boolean;
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
export interface ChatCompletionResponse {
|
|
142
|
+
id: string;
|
|
143
|
+
model: string;
|
|
144
|
+
/** OpenAI compatible output */
|
|
145
|
+
choices?: {
|
|
146
|
+
index: number;
|
|
147
|
+
message: {
|
|
148
|
+
role: string;
|
|
149
|
+
content: string | null;
|
|
150
|
+
/** OpenAI-only; most OpenAI-compatible servers omit it entirely */
|
|
151
|
+
refusal?: string | null;
|
|
152
|
+
tool_calls?: {
|
|
153
|
+
id: string;
|
|
154
|
+
type: string;
|
|
155
|
+
function: {
|
|
156
|
+
name: string;
|
|
157
|
+
arguments: string;
|
|
158
|
+
};
|
|
159
|
+
/** GitKraken proxy only — an opaque provider reasoning token to round-trip */
|
|
160
|
+
thought_signature?: string;
|
|
161
|
+
}[];
|
|
162
|
+
};
|
|
163
|
+
finish_reason: string;
|
|
164
|
+
}[];
|
|
165
|
+
/** Anthropic output (non-text blocks, e.g. thinking, carry no text). `tool_use` blocks add the
|
|
166
|
+
* call fields, which is why `id`/`name` are optional here — {@link parseToolCalls} narrows on
|
|
167
|
+
* `type` and then checks them. */
|
|
168
|
+
content?: {
|
|
169
|
+
type: string;
|
|
170
|
+
text?: string;
|
|
171
|
+
id?: string;
|
|
172
|
+
name?: string;
|
|
173
|
+
input?: Record<string, unknown>;
|
|
174
|
+
}[];
|
|
175
|
+
/** Error envelope some providers/proxies return with an OK status (e.g. OpenRouter upstream failures) */
|
|
176
|
+
error?: {
|
|
177
|
+
message?: string;
|
|
178
|
+
code?: number | string;
|
|
179
|
+
} | null;
|
|
180
|
+
/** Anthropic stop reason */
|
|
181
|
+
stop_reason?: string;
|
|
182
|
+
usage: {
|
|
183
|
+
/** OpenAI compatible */
|
|
184
|
+
prompt_tokens?: number;
|
|
185
|
+
completion_tokens?: number;
|
|
186
|
+
total_tokens?: number;
|
|
187
|
+
/** Anthropic */
|
|
188
|
+
input_tokens?: number;
|
|
189
|
+
output_tokens?: number;
|
|
190
|
+
/** GitKraken */
|
|
191
|
+
gk: {
|
|
192
|
+
used: number;
|
|
193
|
+
limit: number;
|
|
194
|
+
resets_on: string;
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
}
|
|
49
198
|
//# sourceMappingURL=openAICompatibleProviderBase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openAICompatibleProviderBase.d.ts","sourceRoot":"","sources":["../../../../src/plus/ai/providers/openAICompatibleProviderBase.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"openAICompatibleProviderBase.d.ts","sourceRoot":"","sources":["../../../../src/plus/ai/providers/openAICompatibleProviderBase.ts"],"names":[],"mappings":"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"}
|