diff --git a/src/vs/workbench/contrib/void/browser/convertToLLMMessageService.ts b/src/vs/workbench/contrib/void/browser/convertToLLMMessageService.ts index 27c054ce..c4ffa286 100644 --- a/src/vs/workbench/contrib/void/browser/convertToLLMMessageService.ts +++ b/src/vs/workbench/contrib/void/browser/convertToLLMMessageService.ts @@ -498,19 +498,15 @@ const prepareMessages = (params: { providerName: ProviderName }): { messages: LLMChatMessage[], separateSystemMessage: string | undefined } => { - const specialFormat = params.specialToolFormat // this is just for ts idiocy - if (params.providerName === 'gemini') { - // treat as anthropic style, then convert to gemini style + const specialFormat = params.specialToolFormat // this is just for ts stupidness + + // if need to convert to gemini style of messaes, do that (treat as anthropic style, then convert to gemini style) + if (params.providerName === 'gemini' || specialFormat === 'gemini-style') { const res = prepareOpenAIOrAnthropicMessages({ ...params, specialToolFormat: specialFormat === 'gemini-style' ? 'anthropic-style' : undefined }) const messages = res.messages as AnthropicLLMChatMessage[] const messages2 = prepareGeminiMessages(messages) return { messages: messages2, separateSystemMessage: res.separateSystemMessage } } - else { - if (specialFormat === 'gemini-style') { - throw new Error(`Tried preparing messages with tool format ${params.specialToolFormat} but the provider was ${params.providerName}, not Gemini.`) - } - } return prepareOpenAIOrAnthropicMessages({ ...params, specialToolFormat: specialFormat }) } diff --git a/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx b/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx index f015d33f..47ea83c0 100644 --- a/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx +++ b/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx @@ -1552,8 +1552,8 @@ export const ToolChildrenWrapper = ({ children, className }: { children: React.R } -export const CodeChildren = ({ children }: { children: React.ReactNode }) => { - return
+export const CodeChildren = ({ children, className }: { children: React.ReactNode, className?: string }) => { + return
{children}
@@ -1642,7 +1642,7 @@ const InvalidTool = ({ toolName, message }: { toolName: ToolName, message: strin const componentParams: ToolHeaderParams = { title, desc1, isError, icon } componentParams.children = - + {message} @@ -2042,7 +2042,7 @@ const toolNameToComponent: { [T in ToolName]: { resultWrapper: ResultWrapper, componentParams.numResults = result.lines.length; componentParams.children = result.lines.length === 0 ? undefined : - +
 								{toolsService.stringOfResult['search_in_file'](params, result)}
 							
@@ -2176,7 +2176,7 @@ const toolNameToComponent: { [T in ToolName]: { resultWrapper: ResultWrapper, else if (toolMessage.type === 'tool_error') { const { result } = toolMessage if (params) { componentParams.onClick = () => { commandService.executeCommand('vscode.open', params.uri, { preview: true }) } } - componentParams.children = componentParams.bottomChildren = + componentParams.bottomChildren = {result} diff --git a/src/vs/workbench/contrib/void/common/modelCapabilities.ts b/src/vs/workbench/contrib/void/common/modelCapabilities.ts index c6589e10..eeeb6bf3 100644 --- a/src/vs/workbench/contrib/void/common/modelCapabilities.ts +++ b/src/vs/workbench/contrib/void/common/modelCapabilities.ts @@ -352,7 +352,7 @@ const openSourceModelOptions_assumingOAICompat = { // keep modelName, but use the fallback's defaults -const extensiveOAICompatModelOptionsFallback: VoidStaticProviderInfo['modelOptionsFallback'] = (modelName, fallbackKnownValues) => { +const extensiveModelOptionsFallback: VoidStaticProviderInfo['modelOptionsFallback'] = (modelName, fallbackKnownValues) => { const lower = modelName.toLowerCase() @@ -1018,32 +1018,32 @@ export const ollamaRecommendedModels = ['qwen2.5-coder:1.5b', 'llama3.1', 'qwq', const vLLMSettings: VoidStaticProviderInfo = { // reasoning: OAICompat + response.choices[0].delta.reasoning_content // https://docs.vllm.ai/en/stable/features/reasoning_outputs.html#streaming-chat-completions providerReasoningIOSettings: { output: { nameOfFieldInDelta: 'reasoning_content' }, }, - modelOptionsFallback: (modelName) => extensiveOAICompatModelOptionsFallback(modelName, { downloadable: { sizeGb: 'not-known' } }), + modelOptionsFallback: (modelName) => extensiveModelOptionsFallback(modelName, { downloadable: { sizeGb: 'not-known' } }), modelOptions: {}, // TODO } const lmStudioSettings: VoidStaticProviderInfo = { providerReasoningIOSettings: { output: { needsManualParse: true }, }, - modelOptionsFallback: (modelName) => extensiveOAICompatModelOptionsFallback(modelName, { downloadable: { sizeGb: 'not-known' }, contextWindow: 4_096 }), + modelOptionsFallback: (modelName) => extensiveModelOptionsFallback(modelName, { downloadable: { sizeGb: 'not-known' }, contextWindow: 4_096 }), modelOptions: {}, // TODO } const ollamaSettings: VoidStaticProviderInfo = { // reasoning: we need to filter out reasoning tags manually providerReasoningIOSettings: { output: { needsManualParse: true }, }, - modelOptionsFallback: (modelName) => extensiveOAICompatModelOptionsFallback(modelName, { downloadable: { sizeGb: 'not-known' } }), + modelOptionsFallback: (modelName) => extensiveModelOptionsFallback(modelName, { downloadable: { sizeGb: 'not-known' } }), modelOptions: ollamaModelOptions, } const openaiCompatible: VoidStaticProviderInfo = { // reasoning: we have no idea what endpoint they used, so we can't consistently parse out reasoning - modelOptionsFallback: (modelName) => extensiveOAICompatModelOptionsFallback(modelName), + modelOptionsFallback: (modelName) => extensiveModelOptionsFallback(modelName), modelOptions: {}, } const liteLLMSettings: VoidStaticProviderInfo = { // https://docs.litellm.ai/docs/reasoning_content providerReasoningIOSettings: { output: { nameOfFieldInDelta: 'reasoning_content' } }, - modelOptionsFallback: (modelName) => extensiveOAICompatModelOptionsFallback(modelName, { downloadable: { sizeGb: 'not-known' } }), + modelOptionsFallback: (modelName) => extensiveModelOptionsFallback(modelName, { downloadable: { sizeGb: 'not-known' } }), modelOptions: {}, // TODO } @@ -1197,11 +1197,11 @@ const openRouterSettings: VoidStaticProviderInfo = { modelOptions: openRouterModelOptions_assumingOpenAICompat, // TODO!!! send a query to openrouter to get the price, etc. modelOptionsFallback: (modelName) => { - const res = extensiveOAICompatModelOptionsFallback(modelName) - // openRouter does not support gemini-style, use openai-style instead - if (res?.specialToolFormat === 'gemini-style') { - res.specialToolFormat = 'openai-style' - } + const res = extensiveModelOptionsFallback(modelName) + // // openRouter does not support gemini-style, use openai-style instead + // if (res?.specialToolFormat === 'gemini-style') { + // res.specialToolFormat = 'openai-style' + // } return res }, }