@vybestack/llxprt-code 0.1.12 → 0.1.13-nightly.250727.2261021c
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/dist/index.js +0 -0
- package/dist/package.json +5 -5
- package/dist/src/acp/acp.d.ts +208 -0
- package/dist/src/acp/acp.js +193 -0
- package/dist/src/acp/acp.js.map +1 -0
- package/dist/src/acp/acpPeer.d.ts +8 -0
- package/dist/src/acp/acpPeer.js +537 -0
- package/dist/src/acp/acpPeer.js.map +1 -0
- package/dist/src/config/config.d.ts +2 -0
- package/dist/src/config/config.js +73 -19
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/extension.d.ts +2 -2
- package/dist/src/config/extension.js +21 -16
- package/dist/src/config/extension.js.map +1 -1
- package/dist/src/config/settings.d.ts +7 -0
- package/dist/src/config/settings.js +15 -0
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/gemini.js +33 -34
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +1 -1
- package/dist/src/generated/git-commit.js +1 -1
- package/dist/src/nonInteractiveCli.js +36 -3
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/providers/index.d.ts +1 -7
- package/dist/src/providers/index.js +2 -10
- package/dist/src/providers/index.js.map +1 -1
- package/dist/src/providers/providerConfigUtils.d.ts +1 -2
- package/dist/src/providers/providerConfigUtils.js +1 -1
- package/dist/src/providers/providerConfigUtils.js.map +1 -1
- package/dist/src/providers/providerManagerInstance.d.ts +2 -2
- package/dist/src/providers/providerManagerInstance.js +21 -19
- package/dist/src/providers/providerManagerInstance.js.map +1 -1
- package/dist/src/providers/types.d.ts +1 -9
- package/dist/src/providers/types.js +2 -10
- package/dist/src/providers/types.js.map +1 -1
- package/dist/src/services/CommandService.d.ts +3 -1
- package/dist/src/services/CommandService.js +50 -11
- package/dist/src/services/CommandService.js.map +1 -1
- package/dist/src/ui/App.js +24 -25
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/commands/aboutCommand.js +21 -0
- package/dist/src/ui/commands/aboutCommand.js.map +1 -1
- package/dist/src/ui/commands/baseurlCommand.d.ts +7 -0
- package/dist/src/ui/commands/baseurlCommand.js +22 -0
- package/dist/src/ui/commands/baseurlCommand.js.map +1 -0
- package/dist/src/ui/commands/bugCommand.d.ts +7 -0
- package/dist/src/ui/commands/bugCommand.js +61 -0
- package/dist/src/ui/commands/bugCommand.js.map +1 -0
- package/dist/src/ui/commands/chatCommand.d.ts +7 -0
- package/dist/src/ui/commands/chatCommand.js +170 -0
- package/dist/src/ui/commands/chatCommand.js.map +1 -0
- package/dist/src/ui/commands/clearCommand.js +12 -2
- package/dist/src/ui/commands/clearCommand.js.map +1 -1
- package/dist/src/ui/commands/compressCommand.d.ts +7 -0
- package/dist/src/ui/commands/compressCommand.js +62 -0
- package/dist/src/ui/commands/compressCommand.js.map +1 -0
- package/dist/src/ui/commands/docsCommand.d.ts +7 -0
- package/dist/src/ui/commands/docsCommand.js +29 -0
- package/dist/src/ui/commands/docsCommand.js.map +1 -0
- package/dist/src/ui/commands/editorCommand.d.ts +7 -0
- package/dist/src/ui/commands/editorCommand.js +14 -0
- package/dist/src/ui/commands/editorCommand.js.map +1 -0
- package/dist/src/ui/commands/extensionsCommand.d.ts +7 -0
- package/dist/src/ui/commands/extensionsCommand.js +29 -0
- package/dist/src/ui/commands/extensionsCommand.js.map +1 -0
- package/dist/src/ui/commands/ideCommand.d.ts +8 -0
- package/dist/src/ui/commands/ideCommand.js +123 -0
- package/dist/src/ui/commands/ideCommand.js.map +1 -0
- package/dist/src/{providers/ProviderAwareContentGenerator.d.ts → ui/commands/keyCommand.d.ts} +2 -1
- package/dist/src/ui/commands/keyCommand.js +29 -0
- package/dist/src/ui/commands/keyCommand.js.map +1 -0
- package/dist/src/ui/commands/keyfileCommand.d.ts +7 -0
- package/dist/src/ui/commands/keyfileCommand.js +104 -0
- package/dist/src/ui/commands/keyfileCommand.js.map +1 -0
- package/dist/src/ui/commands/mcpCommand.d.ts +7 -0
- package/dist/src/ui/commands/mcpCommand.js +204 -0
- package/dist/src/ui/commands/mcpCommand.js.map +1 -0
- package/dist/src/ui/commands/modelCommand.d.ts +7 -0
- package/dist/src/ui/commands/modelCommand.js +60 -0
- package/dist/src/ui/commands/modelCommand.js.map +1 -0
- package/dist/src/ui/commands/providerCommand.d.ts +7 -0
- package/dist/src/ui/commands/providerCommand.js +86 -0
- package/dist/src/ui/commands/providerCommand.js.map +1 -0
- package/dist/src/ui/commands/quitCommand.d.ts +7 -0
- package/dist/src/ui/commands/quitCommand.js +32 -0
- package/dist/src/ui/commands/quitCommand.js.map +1 -0
- package/dist/src/ui/commands/restoreCommand.d.ts +8 -0
- package/dist/src/ui/commands/restoreCommand.js +126 -0
- package/dist/src/ui/commands/restoreCommand.js.map +1 -0
- package/dist/src/ui/commands/statsCommand.d.ts +7 -0
- package/dist/src/ui/commands/statsCommand.js +50 -0
- package/dist/src/ui/commands/statsCommand.js.map +1 -0
- package/dist/src/ui/commands/toolsCommand.d.ts +7 -0
- package/dist/src/ui/commands/toolsCommand.js +54 -0
- package/dist/src/ui/commands/toolsCommand.js.map +1 -0
- package/dist/src/ui/commands/types.d.ts +34 -2
- package/dist/src/ui/components/ContextSummaryDisplay.d.ts +6 -1
- package/dist/src/ui/components/ContextSummaryDisplay.js +46 -19
- package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/Footer.d.ts +0 -1
- package/dist/src/ui/components/Footer.js +3 -21
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.js +110 -61
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/ProviderModelDialog.d.ts +1 -1
- package/dist/src/ui/components/ThemeDialog.js +25 -24
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.js +3 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.js +69 -2
- package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +3 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.js +60 -10
- package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.js +1 -1
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/constants.d.ts +1 -0
- package/dist/src/ui/constants.js +1 -0
- package/dist/src/ui/constants.js.map +1 -1
- package/dist/src/ui/containers/SessionController.js +1 -1
- package/dist/src/ui/containers/SessionController.js.map +1 -1
- package/dist/src/ui/contexts/OpenAIProviderContext.d.ts +1 -2
- package/dist/src/ui/contexts/OpenAIProviderContext.js.map +1 -1
- package/dist/src/ui/hooks/shellCommandProcessor.d.ts +1 -1
- package/dist/src/ui/hooks/shellCommandProcessor.js +35 -11
- package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +2 -9
- package/dist/src/ui/hooks/slashCommandProcessor.js +83 -622
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useAuthCommand.js +16 -2
- package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
- package/dist/src/ui/hooks/useCompletion.d.ts +1 -0
- package/dist/src/ui/hooks/useCompletion.js +21 -2
- package/dist/src/ui/hooks/useCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useFocus.d.ts +6 -0
- package/dist/src/ui/hooks/useFocus.js +41 -0
- package/dist/src/ui/hooks/useFocus.js.map +1 -0
- package/dist/src/ui/hooks/useGeminiStream.js +34 -2
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useOpenAIProviderInfo.d.ts +3 -2
- package/dist/src/ui/hooks/useOpenAIProviderInfo.js +5 -4
- package/dist/src/ui/hooks/useOpenAIProviderInfo.js.map +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.js +5 -5
- package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
- package/dist/src/ui/hooks/useProviderDialog.d.ts +5 -2
- package/dist/src/ui/hooks/useProviderDialog.js +55 -3
- package/dist/src/ui/hooks/useProviderDialog.js.map +1 -1
- package/dist/src/ui/hooks/useProviderModelDialog.d.ts +1 -1
- package/dist/src/ui/themes/ansi-light.js +1 -1
- package/dist/src/ui/themes/ansi-light.js.map +1 -1
- package/dist/src/ui/themes/googlecode.js +1 -1
- package/dist/src/ui/themes/googlecode.js.map +1 -1
- package/dist/src/ui/themes/xcode.js +1 -1
- package/dist/src/ui/themes/xcode.js.map +1 -1
- package/dist/src/ui/types.d.ts +10 -0
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/updateCheck.js +10 -6
- package/dist/src/ui/utils/updateCheck.js.map +1 -1
- package/dist/src/utils/userStartupWarnings.js +1 -16
- package/dist/src/utils/userStartupWarnings.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/dist/src/providers/IMessage.d.ts +0 -38
- package/dist/src/providers/IMessage.js +0 -17
- package/dist/src/providers/IMessage.js.map +0 -1
- package/dist/src/providers/IModel.d.ts +0 -23
- package/dist/src/providers/IModel.js +0 -17
- package/dist/src/providers/IModel.js.map +0 -1
- package/dist/src/providers/IProvider.d.ts +0 -32
- package/dist/src/providers/IProvider.js +0 -17
- package/dist/src/providers/IProvider.js.map +0 -1
- package/dist/src/providers/ITool.d.ts +0 -23
- package/dist/src/providers/ITool.js +0 -17
- package/dist/src/providers/ITool.js.map +0 -1
- package/dist/src/providers/ProviderAwareContentGenerator.js +0 -9
- package/dist/src/providers/ProviderAwareContentGenerator.js.map +0 -1
- package/dist/src/providers/ProviderManager.d.ts +0 -19
- package/dist/src/providers/ProviderManager.js +0 -63
- package/dist/src/providers/ProviderManager.js.map +0 -1
- package/dist/src/providers/ProviderManagerAdapter.d.ts +0 -17
- package/dist/src/providers/ProviderManagerAdapter.js +0 -113
- package/dist/src/providers/ProviderManagerAdapter.js.map +0 -1
- package/dist/src/providers/README-qwen3.md +0 -60
- package/dist/src/providers/adapters/IStreamAdapter.d.ts +0 -18
- package/dist/src/providers/adapters/IStreamAdapter.js +0 -7
- package/dist/src/providers/adapters/IStreamAdapter.js.map +0 -1
- package/dist/src/providers/anthropic/AnthropicProvider.d.ts +0 -46
- package/dist/src/providers/anthropic/AnthropicProvider.js +0 -478
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +0 -1
- package/dist/src/providers/contentGeneratorProvider.d.ts +0 -13
- package/dist/src/providers/contentGeneratorProvider.js +0 -17
- package/dist/src/providers/contentGeneratorProvider.js.map +0 -1
- package/dist/src/providers/gemini/GeminiProvider.d.ts +0 -72
- package/dist/src/providers/gemini/GeminiProvider.js +0 -454
- package/dist/src/providers/gemini/GeminiProvider.js.map +0 -1
- package/dist/src/providers/integration/TEST_INSTRUCTIONS.md +0 -197
- package/dist/src/providers/openai/ConversationCache.d.ts +0 -20
- package/dist/src/providers/openai/ConversationCache.js +0 -109
- package/dist/src/providers/openai/ConversationCache.js.map +0 -1
- package/dist/src/providers/openai/IChatGenerateParams.d.ts +0 -11
- package/dist/src/providers/openai/IChatGenerateParams.js +0 -2
- package/dist/src/providers/openai/IChatGenerateParams.js.map +0 -1
- package/dist/src/providers/openai/OpenAIProvider.d.ts +0 -71
- package/dist/src/providers/openai/OpenAIProvider.js +0 -486
- package/dist/src/providers/openai/OpenAIProvider.js.map +0 -1
- package/dist/src/providers/openai/Qwen3FireworksProvider.d.ts +0 -39
- package/dist/src/providers/openai/Qwen3FireworksProvider.js +0 -209
- package/dist/src/providers/openai/Qwen3FireworksProvider.js.map +0 -1
- package/dist/src/providers/openai/RESPONSES_API_MODELS.d.ts +0 -2
- package/dist/src/providers/openai/RESPONSES_API_MODELS.js +0 -14
- package/dist/src/providers/openai/RESPONSES_API_MODELS.js.map +0 -1
- package/dist/src/providers/openai/buildResponsesRequest.d.ts +0 -67
- package/dist/src/providers/openai/buildResponsesRequest.js +0 -144
- package/dist/src/providers/openai/buildResponsesRequest.js.map +0 -1
- package/dist/src/providers/openai/docs/accessing-provider-info.md +0 -172
- package/dist/src/providers/openai/docs/params-mapping.md +0 -91
- package/dist/src/providers/openai/docs/qwen3-fireworks.md +0 -47
- package/dist/src/providers/openai/docs/responses-api-tool-calls.md +0 -96
- package/dist/src/providers/openai/estimateRemoteTokens.d.ts +0 -26
- package/dist/src/providers/openai/estimateRemoteTokens.js +0 -75
- package/dist/src/providers/openai/estimateRemoteTokens.js.map +0 -1
- package/dist/src/providers/openai/getOpenAIProviderInfo.d.ts +0 -46
- package/dist/src/providers/openai/getOpenAIProviderInfo.js +0 -74
- package/dist/src/providers/openai/getOpenAIProviderInfo.js.map +0 -1
- package/dist/src/providers/openai/parseResponsesStream.d.ts +0 -3
- package/dist/src/providers/openai/parseResponsesStream.js +0 -444
- package/dist/src/providers/openai/parseResponsesStream.js.map +0 -1
- package/dist/src/providers/parsers/TextToolCallParser.d.ts +0 -35
- package/dist/src/providers/parsers/TextToolCallParser.js +0 -248
- package/dist/src/providers/parsers/TextToolCallParser.js.map +0 -1
- package/dist/src/providers/tokenizers/AnthropicTokenizer.d.ts +0 -19
- package/dist/src/providers/tokenizers/AnthropicTokenizer.js +0 -37
- package/dist/src/providers/tokenizers/AnthropicTokenizer.js.map +0 -1
- package/dist/src/providers/tokenizers/ITokenizer.d.ts +0 -18
- package/dist/src/providers/tokenizers/ITokenizer.js +0 -17
- package/dist/src/providers/tokenizers/ITokenizer.js.map +0 -1
- package/dist/src/providers/tokenizers/OpenAITokenizer.d.ts +0 -24
- package/dist/src/providers/tokenizers/OpenAITokenizer.js +0 -56
- package/dist/src/providers/tokenizers/OpenAITokenizer.js.map +0 -1
- package/dist/src/tools/IToolFormatter.d.ts +0 -40
- package/dist/src/tools/IToolFormatter.js +0 -17
- package/dist/src/tools/IToolFormatter.js.map +0 -1
- package/dist/src/tools/ToolFormatter.d.ts +0 -45
- package/dist/src/tools/ToolFormatter.js +0 -216
- package/dist/src/tools/ToolFormatter.js.map +0 -1
- package/dist/vybestack-llxprt-code-0.1.12.tgz +0 -0
@@ -1,478 +0,0 @@
|
|
1
|
-
import Anthropic from '@anthropic-ai/sdk';
|
2
|
-
import { ToolFormatter } from '../../tools/ToolFormatter.js';
|
3
|
-
import { retryWithBackoff } from '@vybestack/llxprt-code-core';
|
4
|
-
export class AnthropicProvider {
|
5
|
-
name = 'anthropic';
|
6
|
-
anthropic;
|
7
|
-
toolFormatter;
|
8
|
-
toolFormat = 'anthropic';
|
9
|
-
apiKey;
|
10
|
-
baseURL;
|
11
|
-
currentModel = 'claude-sonnet-4-latest'; // Default model using latest alias
|
12
|
-
// Model cache for latest resolution
|
13
|
-
modelCache = null;
|
14
|
-
modelCacheTTL = 5 * 60 * 1000; // 5 minutes
|
15
|
-
// Retry configuration
|
16
|
-
retryableErrorMessages = [
|
17
|
-
'overloaded',
|
18
|
-
'rate_limit',
|
19
|
-
'server_error',
|
20
|
-
'service_unavailable',
|
21
|
-
];
|
22
|
-
// Model patterns for max output tokens
|
23
|
-
modelTokenPatterns = [
|
24
|
-
{ pattern: /claude-.*opus-4/i, tokens: 32000 },
|
25
|
-
{ pattern: /claude-.*sonnet-4/i, tokens: 64000 },
|
26
|
-
{ pattern: /claude-.*haiku-4/i, tokens: 200000 }, // Future-proofing for Haiku 4
|
27
|
-
{ pattern: /claude-.*3-7.*sonnet/i, tokens: 64000 },
|
28
|
-
{ pattern: /claude-.*3-5.*sonnet/i, tokens: 8192 },
|
29
|
-
{ pattern: /claude-.*3-5.*haiku/i, tokens: 8192 },
|
30
|
-
{ pattern: /claude-.*3.*opus/i, tokens: 4096 },
|
31
|
-
{ pattern: /claude-.*3.*haiku/i, tokens: 4096 },
|
32
|
-
];
|
33
|
-
constructor(apiKey, baseURL) {
|
34
|
-
this.apiKey = apiKey;
|
35
|
-
this.baseURL = baseURL;
|
36
|
-
this.anthropic = new Anthropic({
|
37
|
-
apiKey,
|
38
|
-
baseURL,
|
39
|
-
});
|
40
|
-
this.toolFormatter = new ToolFormatter();
|
41
|
-
}
|
42
|
-
async getModels() {
|
43
|
-
if (!this.apiKey || this.apiKey.trim() === '') {
|
44
|
-
throw new Error('Anthropic API key is required to fetch models');
|
45
|
-
}
|
46
|
-
try {
|
47
|
-
// Fetch models from Anthropic API (beta endpoint)
|
48
|
-
const models = [];
|
49
|
-
// Handle pagination
|
50
|
-
for await (const model of this.anthropic.beta.models.list()) {
|
51
|
-
models.push({
|
52
|
-
id: model.id,
|
53
|
-
name: model.display_name || model.id,
|
54
|
-
provider: 'anthropic',
|
55
|
-
supportedToolFormats: ['anthropic'],
|
56
|
-
contextWindow: this.getContextWindowForModel(model.id),
|
57
|
-
maxOutputTokens: this.getMaxTokensForModel(model.id),
|
58
|
-
});
|
59
|
-
}
|
60
|
-
// Add "latest" aliases for Claude 4 tiers (opus, sonnet). We pick the newest
|
61
|
-
// version of each tier based on the sorted order created above.
|
62
|
-
const addLatestAlias = (tier) => {
|
63
|
-
const latest = models
|
64
|
-
.filter((m) => m.id.startsWith(`claude-${tier}-4-`))
|
65
|
-
.sort((a, b) => b.id.localeCompare(a.id))[0];
|
66
|
-
if (latest) {
|
67
|
-
models.push({
|
68
|
-
...latest,
|
69
|
-
id: `claude-${tier}-4-latest`,
|
70
|
-
name: latest.name.replace(/-\d{8}$/, '-latest'),
|
71
|
-
});
|
72
|
-
}
|
73
|
-
};
|
74
|
-
addLatestAlias('opus');
|
75
|
-
addLatestAlias('sonnet');
|
76
|
-
return models;
|
77
|
-
}
|
78
|
-
catch (error) {
|
79
|
-
console.error('Failed to fetch Anthropic models:', error);
|
80
|
-
return []; // Return empty array on error
|
81
|
-
}
|
82
|
-
}
|
83
|
-
async *generateChatCompletion(messages, tools, _toolFormat) {
|
84
|
-
if (!this.apiKey || this.apiKey.trim() === '') {
|
85
|
-
throw new Error('Anthropic API key is required to generate chat completions');
|
86
|
-
}
|
87
|
-
let attemptCount = 0;
|
88
|
-
const apiCall = async () => {
|
89
|
-
attemptCount++;
|
90
|
-
// Resolve model if it uses -latest placeholder
|
91
|
-
const resolvedModel = await this.resolveLatestModel(this.currentModel);
|
92
|
-
// Validate and fix message history to prevent tool_use/tool_result mismatches
|
93
|
-
const validatedMessages = attemptCount > 1 ? this.validateAndFixMessages(messages) : messages;
|
94
|
-
// Use the resolved model for the API call
|
95
|
-
const modelForApi = resolvedModel;
|
96
|
-
// Extract system message if present and handle tool responses
|
97
|
-
let systemMessage;
|
98
|
-
const anthropicMessages = [];
|
99
|
-
for (const msg of validatedMessages) {
|
100
|
-
if (msg.role === 'system') {
|
101
|
-
systemMessage = msg.content;
|
102
|
-
}
|
103
|
-
else if (msg.role === 'tool') {
|
104
|
-
// Anthropic expects tool responses as user messages with tool_result content
|
105
|
-
anthropicMessages.push({
|
106
|
-
role: 'user',
|
107
|
-
content: [
|
108
|
-
{
|
109
|
-
type: 'tool_result',
|
110
|
-
tool_use_id: msg.tool_call_id || 'unknown',
|
111
|
-
content: msg.content,
|
112
|
-
},
|
113
|
-
],
|
114
|
-
});
|
115
|
-
}
|
116
|
-
else if (msg.role === 'assistant' && msg.tool_calls) {
|
117
|
-
// Handle assistant messages with tool calls
|
118
|
-
const content = [];
|
119
|
-
if (msg.content) {
|
120
|
-
content.push({ type: 'text', text: msg.content });
|
121
|
-
}
|
122
|
-
for (const toolCall of msg.tool_calls) {
|
123
|
-
content.push({
|
124
|
-
type: 'tool_use',
|
125
|
-
id: toolCall.id,
|
126
|
-
name: toolCall.function.name,
|
127
|
-
input: toolCall.function.arguments
|
128
|
-
? JSON.parse(toolCall.function.arguments)
|
129
|
-
: {},
|
130
|
-
});
|
131
|
-
}
|
132
|
-
anthropicMessages.push({
|
133
|
-
role: 'assistant',
|
134
|
-
content,
|
135
|
-
});
|
136
|
-
}
|
137
|
-
else {
|
138
|
-
// Regular user/assistant messages
|
139
|
-
anthropicMessages.push({
|
140
|
-
role: msg.role,
|
141
|
-
content: msg.content,
|
142
|
-
});
|
143
|
-
}
|
144
|
-
}
|
145
|
-
// Convert ITool[] to Anthropic's tool format if tools are provided
|
146
|
-
const anthropicTools = tools
|
147
|
-
? this.toolFormatter.toProviderFormat(tools, 'anthropic')
|
148
|
-
: undefined;
|
149
|
-
// Create the stream with proper typing
|
150
|
-
const createOptions = {
|
151
|
-
model: modelForApi,
|
152
|
-
messages: anthropicMessages,
|
153
|
-
max_tokens: this.getMaxTokensForModel(resolvedModel),
|
154
|
-
stream: true,
|
155
|
-
};
|
156
|
-
// Add system message as top-level parameter if present
|
157
|
-
if (systemMessage) {
|
158
|
-
createOptions.system = systemMessage;
|
159
|
-
}
|
160
|
-
if (anthropicTools) {
|
161
|
-
createOptions.tools = anthropicTools;
|
162
|
-
}
|
163
|
-
return this.anthropic.messages.create(createOptions);
|
164
|
-
};
|
165
|
-
try {
|
166
|
-
const stream = await retryWithBackoff(apiCall, {
|
167
|
-
shouldRetry: (error) => this.isRetryableError(error),
|
168
|
-
});
|
169
|
-
let currentUsage;
|
170
|
-
// Track current tool call being streamed
|
171
|
-
let currentToolCall;
|
172
|
-
// Process the stream
|
173
|
-
for await (const chunk of stream) {
|
174
|
-
if (chunk.type === 'message_start') {
|
175
|
-
// Initial usage info
|
176
|
-
if (chunk.message.usage) {
|
177
|
-
const usage = chunk.message.usage;
|
178
|
-
if (usage.input_tokens !== null && usage.output_tokens !== null) {
|
179
|
-
currentUsage = {
|
180
|
-
input_tokens: usage.input_tokens,
|
181
|
-
output_tokens: usage.output_tokens,
|
182
|
-
};
|
183
|
-
yield {
|
184
|
-
role: 'assistant',
|
185
|
-
content: '',
|
186
|
-
usage: {
|
187
|
-
prompt_tokens: currentUsage.input_tokens,
|
188
|
-
completion_tokens: currentUsage.output_tokens,
|
189
|
-
total_tokens: currentUsage.input_tokens + currentUsage.output_tokens,
|
190
|
-
},
|
191
|
-
};
|
192
|
-
}
|
193
|
-
}
|
194
|
-
}
|
195
|
-
else if (chunk.type === 'content_block_start') {
|
196
|
-
// Handle tool use blocks
|
197
|
-
if (chunk.content_block.type === 'tool_use') {
|
198
|
-
currentToolCall = {
|
199
|
-
id: chunk.content_block.id,
|
200
|
-
name: chunk.content_block.name,
|
201
|
-
input: '',
|
202
|
-
};
|
203
|
-
}
|
204
|
-
}
|
205
|
-
else if (chunk.type === 'content_block_delta') {
|
206
|
-
// Yield content chunks
|
207
|
-
if (chunk.delta.type === 'text_delta') {
|
208
|
-
yield {
|
209
|
-
role: 'assistant',
|
210
|
-
content: chunk.delta.text,
|
211
|
-
};
|
212
|
-
}
|
213
|
-
else if (chunk.delta.type === 'input_json_delta' &&
|
214
|
-
currentToolCall) {
|
215
|
-
// Handle input deltas for tool calls
|
216
|
-
currentToolCall.input += chunk.delta.partial_json;
|
217
|
-
}
|
218
|
-
}
|
219
|
-
else if (chunk.type === 'content_block_stop') {
|
220
|
-
// Complete the tool call
|
221
|
-
if (currentToolCall) {
|
222
|
-
const toolCallResult = this.toolFormatter.fromProviderFormat({
|
223
|
-
id: currentToolCall.id,
|
224
|
-
type: 'tool_use',
|
225
|
-
name: currentToolCall.name,
|
226
|
-
input: currentToolCall.input
|
227
|
-
? JSON.parse(currentToolCall.input)
|
228
|
-
: undefined,
|
229
|
-
}, 'anthropic');
|
230
|
-
yield {
|
231
|
-
role: 'assistant',
|
232
|
-
content: '',
|
233
|
-
tool_calls: toolCallResult,
|
234
|
-
};
|
235
|
-
currentToolCall = undefined;
|
236
|
-
}
|
237
|
-
}
|
238
|
-
else if (chunk.type === 'message_delta') {
|
239
|
-
// Update usage if provided
|
240
|
-
if (chunk.usage &&
|
241
|
-
chunk.usage.input_tokens !== null &&
|
242
|
-
chunk.usage.output_tokens !== null) {
|
243
|
-
currentUsage = {
|
244
|
-
input_tokens: chunk.usage.input_tokens,
|
245
|
-
output_tokens: chunk.usage.output_tokens,
|
246
|
-
};
|
247
|
-
yield {
|
248
|
-
role: 'assistant',
|
249
|
-
content: '',
|
250
|
-
usage: {
|
251
|
-
prompt_tokens: currentUsage.input_tokens,
|
252
|
-
completion_tokens: currentUsage.output_tokens,
|
253
|
-
total_tokens: currentUsage.input_tokens + currentUsage.output_tokens,
|
254
|
-
},
|
255
|
-
};
|
256
|
-
}
|
257
|
-
}
|
258
|
-
else if (chunk.type === 'message_stop') {
|
259
|
-
// Final usage info
|
260
|
-
if (currentUsage) {
|
261
|
-
yield {
|
262
|
-
role: 'assistant',
|
263
|
-
content: '',
|
264
|
-
usage: {
|
265
|
-
prompt_tokens: currentUsage.input_tokens,
|
266
|
-
completion_tokens: currentUsage.output_tokens,
|
267
|
-
total_tokens: currentUsage.input_tokens + currentUsage.output_tokens,
|
268
|
-
},
|
269
|
-
};
|
270
|
-
}
|
271
|
-
}
|
272
|
-
}
|
273
|
-
}
|
274
|
-
catch (error) {
|
275
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
276
|
-
throw new Error(`Anthropic API error: ${errorMessage}`);
|
277
|
-
}
|
278
|
-
}
|
279
|
-
setApiKey(apiKey) {
|
280
|
-
this.apiKey = apiKey;
|
281
|
-
// Create a new Anthropic client with the updated API key
|
282
|
-
this.anthropic = new Anthropic({
|
283
|
-
apiKey,
|
284
|
-
baseURL: this.baseURL,
|
285
|
-
});
|
286
|
-
}
|
287
|
-
setBaseUrl(baseUrl) {
|
288
|
-
// If no baseUrl is provided, clear to default (undefined)
|
289
|
-
this.baseURL = baseUrl && baseUrl.trim() !== '' ? baseUrl : undefined;
|
290
|
-
// Create a new Anthropic client with the updated (or cleared) base URL
|
291
|
-
this.anthropic = new Anthropic({
|
292
|
-
apiKey: this.apiKey,
|
293
|
-
baseURL: this.baseURL,
|
294
|
-
});
|
295
|
-
}
|
296
|
-
setModel(modelId) {
|
297
|
-
this.currentModel = modelId;
|
298
|
-
}
|
299
|
-
getCurrentModel() {
|
300
|
-
return this.currentModel;
|
301
|
-
}
|
302
|
-
/**
|
303
|
-
* Helper method to get the latest Claude 4 model ID for a given tier.
|
304
|
-
* This can be used when you want to ensure you're using the latest model.
|
305
|
-
* @param tier - The model tier: 'opus', 'sonnet', or 'haiku'
|
306
|
-
* @returns The latest model ID for that tier
|
307
|
-
*/
|
308
|
-
getLatestClaude4Model(tier = 'sonnet') {
|
309
|
-
switch (tier) {
|
310
|
-
case 'opus':
|
311
|
-
return 'claude-opus-4-latest';
|
312
|
-
case 'sonnet':
|
313
|
-
return 'claude-sonnet-4-latest';
|
314
|
-
case 'haiku':
|
315
|
-
// Haiku 4 not yet available, but future-proofed
|
316
|
-
return 'claude-haiku-4-latest';
|
317
|
-
default:
|
318
|
-
return 'claude-sonnet-4-latest';
|
319
|
-
}
|
320
|
-
}
|
321
|
-
/**
|
322
|
-
* Resolves a model ID that may contain "-latest" to the actual model ID.
|
323
|
-
* Caches the result to avoid frequent API calls.
|
324
|
-
*/
|
325
|
-
async resolveLatestModel(modelId) {
|
326
|
-
// If it's not a latest alias, return as-is
|
327
|
-
if (!modelId.endsWith('-latest')) {
|
328
|
-
return modelId;
|
329
|
-
}
|
330
|
-
// Check cache
|
331
|
-
const now = Date.now();
|
332
|
-
if (this.modelCache &&
|
333
|
-
now - this.modelCache.timestamp < this.modelCacheTTL) {
|
334
|
-
// Find the corresponding model from cache
|
335
|
-
const model = this.modelCache.models.find((m) => m.id === modelId);
|
336
|
-
if (model) {
|
337
|
-
// The latest aliases are synthetic, find the real model
|
338
|
-
const tier = modelId.includes('opus') ? 'opus' : 'sonnet';
|
339
|
-
const realModel = this.modelCache.models
|
340
|
-
.filter((m) => m.id.startsWith(`claude-${tier}-4-`) && !m.id.endsWith('-latest'))
|
341
|
-
.sort((a, b) => b.id.localeCompare(a.id))[0];
|
342
|
-
return realModel ? realModel.id : modelId;
|
343
|
-
}
|
344
|
-
}
|
345
|
-
// Fetch fresh models
|
346
|
-
const models = await this.getModels();
|
347
|
-
this.modelCache = { models, timestamp: now };
|
348
|
-
// Find the real model for this latest alias
|
349
|
-
const tier = modelId.includes('opus') ? 'opus' : 'sonnet';
|
350
|
-
const realModel = models
|
351
|
-
.filter((m) => m.id.startsWith(`claude-${tier}-4-`) && !m.id.endsWith('-latest'))
|
352
|
-
.sort((a, b) => b.id.localeCompare(a.id))[0];
|
353
|
-
return realModel ? realModel.id : modelId;
|
354
|
-
}
|
355
|
-
getMaxTokensForModel(modelId) {
|
356
|
-
// Handle latest aliases explicitly
|
357
|
-
if (modelId === 'claude-opus-4-latest' ||
|
358
|
-
modelId.includes('claude-opus-4')) {
|
359
|
-
return 32000;
|
360
|
-
}
|
361
|
-
if (modelId === 'claude-sonnet-4-latest' ||
|
362
|
-
modelId.includes('claude-sonnet-4')) {
|
363
|
-
return 64000;
|
364
|
-
}
|
365
|
-
// Try to match model patterns
|
366
|
-
for (const { pattern, tokens } of this.modelTokenPatterns) {
|
367
|
-
if (pattern.test(modelId)) {
|
368
|
-
return tokens;
|
369
|
-
}
|
370
|
-
}
|
371
|
-
// Default for unknown models
|
372
|
-
return 4096;
|
373
|
-
}
|
374
|
-
getContextWindowForModel(modelId) {
|
375
|
-
// Claude 4 models have larger context windows
|
376
|
-
if (modelId.includes('claude-opus-4')) {
|
377
|
-
return 500000;
|
378
|
-
}
|
379
|
-
if (modelId.includes('claude-sonnet-4')) {
|
380
|
-
return 400000;
|
381
|
-
}
|
382
|
-
// Claude 3.7 models
|
383
|
-
if (modelId.includes('claude-3-7')) {
|
384
|
-
return 300000;
|
385
|
-
}
|
386
|
-
// Default for Claude 3.x models
|
387
|
-
return 200000;
|
388
|
-
}
|
389
|
-
isRetryableError(error) {
|
390
|
-
if (!(error instanceof Error))
|
391
|
-
return false;
|
392
|
-
const errorMessage = error.message.toLowerCase();
|
393
|
-
if (error.message.includes('rate_limit_error'))
|
394
|
-
return true;
|
395
|
-
// Check for Anthropic-specific error patterns
|
396
|
-
if (error.message.includes('Anthropic API error:')) {
|
397
|
-
// Extract the actual error content
|
398
|
-
const match = error.message.match(/{"type":"error","error":({.*})}/);
|
399
|
-
if (match) {
|
400
|
-
try {
|
401
|
-
const errorData = JSON.parse(match[1]);
|
402
|
-
const errorType = errorData.type?.toLowerCase() || '';
|
403
|
-
const errorMsg = errorData.message?.toLowerCase() || '';
|
404
|
-
return this.retryableErrorMessages.some((retryable) => errorType.includes(retryable) || errorMsg.includes(retryable));
|
405
|
-
}
|
406
|
-
catch {
|
407
|
-
// If parsing fails, fall back to string matching
|
408
|
-
}
|
409
|
-
}
|
410
|
-
}
|
411
|
-
// Direct error message checking
|
412
|
-
return this.retryableErrorMessages.some((msg) => errorMessage.includes(msg));
|
413
|
-
}
|
414
|
-
/**
|
415
|
-
* Validates and potentially fixes the message history to ensure proper tool_use/tool_result pairing.
|
416
|
-
* This prevents the "tool_use ids were found without tool_result blocks" error after a failed request.
|
417
|
-
*/
|
418
|
-
validateAndFixMessages(messages) {
|
419
|
-
const fixedMessages = [];
|
420
|
-
let pendingToolCalls = [];
|
421
|
-
for (let i = 0; i < messages.length; i++) {
|
422
|
-
const msg = messages[i];
|
423
|
-
if (msg.role === 'assistant' && msg.tool_calls) {
|
424
|
-
// Track tool calls from assistant
|
425
|
-
fixedMessages.push(msg);
|
426
|
-
pendingToolCalls = msg.tool_calls.map((tc) => ({
|
427
|
-
id: tc.id,
|
428
|
-
name: tc.function.name,
|
429
|
-
}));
|
430
|
-
}
|
431
|
-
else if (msg.role === 'tool' && pendingToolCalls.length > 0) {
|
432
|
-
// Match tool results with pending tool calls
|
433
|
-
fixedMessages.push(msg);
|
434
|
-
// Remove the matched tool call
|
435
|
-
pendingToolCalls = pendingToolCalls.filter((tc) => tc.id !== msg.tool_call_id);
|
436
|
-
}
|
437
|
-
else if (msg.role === 'assistant' ||
|
438
|
-
msg.role === 'user' ||
|
439
|
-
msg.role === 'system') {
|
440
|
-
// If we have pending tool calls and encounter a non-tool message,
|
441
|
-
// we need to add dummy tool results to maintain consistency
|
442
|
-
if (pendingToolCalls.length > 0 && msg.role !== 'system') {
|
443
|
-
// Add dummy tool results for unmatched tool calls
|
444
|
-
for (const toolCall of pendingToolCalls) {
|
445
|
-
fixedMessages.push({
|
446
|
-
role: 'tool',
|
447
|
-
tool_call_id: toolCall.id,
|
448
|
-
content: 'Error: Tool execution was interrupted. Please retry.',
|
449
|
-
});
|
450
|
-
}
|
451
|
-
pendingToolCalls = [];
|
452
|
-
}
|
453
|
-
fixedMessages.push(msg);
|
454
|
-
}
|
455
|
-
else {
|
456
|
-
fixedMessages.push(msg);
|
457
|
-
}
|
458
|
-
}
|
459
|
-
// Handle any remaining pending tool calls at the end
|
460
|
-
if (pendingToolCalls.length > 0) {
|
461
|
-
for (const toolCall of pendingToolCalls) {
|
462
|
-
fixedMessages.push({
|
463
|
-
role: 'tool',
|
464
|
-
tool_call_id: toolCall.id,
|
465
|
-
content: 'Error: Tool execution was interrupted. Please retry.',
|
466
|
-
});
|
467
|
-
}
|
468
|
-
}
|
469
|
-
return fixedMessages;
|
470
|
-
}
|
471
|
-
/**
|
472
|
-
* Anthropic always requires payment (API key)
|
473
|
-
*/
|
474
|
-
isPaidMode() {
|
475
|
-
return true;
|
476
|
-
}
|
477
|
-
}
|
478
|
-
//# sourceMappingURL=AnthropicProvider.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../../src/providers/anthropic/AnthropicProvider.ts"],"names":[],"mappings":"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"}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @license
|
3
|
-
* Copyright 2025 Vybestack LLC
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
5
|
-
*/
|
6
|
-
import { ContentGenerator, ContentGeneratorConfig } from '@vybestack/llxprt-code-core';
|
7
|
-
/**
|
8
|
-
* Creates a ContentGenerator using the active provider if available
|
9
|
-
* @param config The content generator configuration
|
10
|
-
* @param defaultGenerator Function to create the default Gemini generator
|
11
|
-
* @returns A ContentGenerator instance
|
12
|
-
*/
|
13
|
-
export declare function createProviderContentGenerator(config: ContentGeneratorConfig, defaultGenerator: () => Promise<ContentGenerator>): Promise<ContentGenerator>;
|
@@ -1,17 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @license
|
3
|
-
* Copyright 2025 Vybestack LLC
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
5
|
-
*/
|
6
|
-
/**
|
7
|
-
* Creates a ContentGenerator using the active provider if available
|
8
|
-
* @param config The content generator configuration
|
9
|
-
* @param defaultGenerator Function to create the default Gemini generator
|
10
|
-
* @returns A ContentGenerator instance
|
11
|
-
*/
|
12
|
-
export async function createProviderContentGenerator(config, defaultGenerator) {
|
13
|
-
// Provider support is now handled in the core package
|
14
|
-
// This function is kept for backward compatibility
|
15
|
-
return defaultGenerator();
|
16
|
-
}
|
17
|
-
//# sourceMappingURL=contentGeneratorProvider.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"contentGeneratorProvider.js","sourceRoot":"","sources":["../../../src/providers/contentGeneratorProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,MAA8B,EAC9B,gBAAiD;IAEjD,sDAAsD;IACtD,mDAAmD;IACnD,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC"}
|
@@ -1,72 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @license
|
3
|
-
* Copyright 2025 Vybestack LLC
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
5
|
-
*/
|
6
|
-
import { IProvider, IModel, IMessage, ITool } from '../IProvider.js';
|
7
|
-
import { Config, AuthType } from '@vybestack/llxprt-code-core';
|
8
|
-
/**
|
9
|
-
* Represents the default Gemini provider.
|
10
|
-
* This provider is implicitly active when no other provider is explicitly set.
|
11
|
-
*
|
12
|
-
* NOTE: This provider acts as a configuration layer for the native Gemini integration.
|
13
|
-
* It doesn't implement generateChatCompletion directly but instead configures the
|
14
|
-
* system to use the native Gemini client with the appropriate authentication.
|
15
|
-
*/
|
16
|
-
type GeminiAuthMode = 'oauth' | 'gemini-api-key' | 'vertex-ai' | 'none';
|
17
|
-
export declare class GeminiProvider implements IProvider {
|
18
|
-
readonly name: string;
|
19
|
-
readonly isDefault: boolean;
|
20
|
-
private apiKey?;
|
21
|
-
private authMode;
|
22
|
-
private config?;
|
23
|
-
private currentModel;
|
24
|
-
constructor();
|
25
|
-
/**
|
26
|
-
* Determines the best available authentication method based on environment variables
|
27
|
-
* and existing configuration. Follows the hierarchy: Vertex AI → Gemini API key → OAuth
|
28
|
-
*/
|
29
|
-
private determineBestAuth;
|
30
|
-
/**
|
31
|
-
* Checks if Vertex AI credentials are available
|
32
|
-
*/
|
33
|
-
private hasVertexAICredentials;
|
34
|
-
/**
|
35
|
-
* Checks if Gemini API key is available
|
36
|
-
*/
|
37
|
-
private hasGeminiAPIKey;
|
38
|
-
/**
|
39
|
-
* Sets up environment variables for Vertex AI authentication
|
40
|
-
*/
|
41
|
-
private setupVertexAIAuth;
|
42
|
-
/**
|
43
|
-
* Sets the config instance for reading OAuth credentials
|
44
|
-
*/
|
45
|
-
setConfig(config: Config): void;
|
46
|
-
getModels(): Promise<IModel[]>;
|
47
|
-
generateChatCompletion(messages: IMessage[], tools?: ITool[], _toolFormat?: string): AsyncIterableIterator<unknown>;
|
48
|
-
private convertMessagesToGeminiFormat;
|
49
|
-
private convertToolsToGeminiFormat;
|
50
|
-
setApiKey(apiKey: string): void;
|
51
|
-
/**
|
52
|
-
* Gets the current authentication mode
|
53
|
-
*/
|
54
|
-
getAuthMode(): GeminiAuthMode;
|
55
|
-
/**
|
56
|
-
* Gets the appropriate AuthType for the core library
|
57
|
-
*/
|
58
|
-
getCoreAuthType(): AuthType;
|
59
|
-
/**
|
60
|
-
* Gets the current model ID
|
61
|
-
*/
|
62
|
-
getCurrentModel(): string;
|
63
|
-
/**
|
64
|
-
* Sets the current model ID
|
65
|
-
*/
|
66
|
-
setModel(modelId: string): void;
|
67
|
-
/**
|
68
|
-
* Checks if the current auth mode requires payment
|
69
|
-
*/
|
70
|
-
isPaidMode(): boolean;
|
71
|
-
}
|
72
|
-
export {};
|