fix: Remove duplicate enum

This commit is contained in:
Petr Mironychev
2025-10-10 13:17:16 +02:00
parent b4e8bdf6da
commit 84770abb20
8 changed files with 19 additions and 16 deletions

View File

@ -100,7 +100,8 @@ void ClaudeProvider::prepareRequest(
if (supportsTools() && type == LLMCore::RequestType::Chat
&& Settings::chatAssistantSettings().useTools()) {
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(Tools::ToolSchemaFormat::Claude);
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(
LLMCore::ToolSchemaFormat::Claude);
if (!toolsDefinitions.isEmpty()) {
request["tools"] = toolsDefinitions;
LOG_MESSAGE(QString("Added %1 tools to Claude request").arg(toolsDefinitions.size()));
@ -195,7 +196,9 @@ LLMCore::ProviderID ClaudeProvider::providerID() const
void ClaudeProvider::sendRequest(
const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload)
{
if (!m_messages.contains(requestId)) {
if (m_dataBuffers.contains(requestId)) {
m_dataBuffers[requestId].responseContent.clear();
} else {
m_dataBuffers[requestId].clear();
}

View File

@ -251,7 +251,8 @@ void LMStudioProvider::prepareRequest(
if (supportsTools() && type == LLMCore::RequestType::Chat
&& Settings::chatAssistantSettings().useTools()) {
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(Tools::ToolSchemaFormat::OpenAI);
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(
LLMCore::ToolSchemaFormat::OpenAI);
if (!toolsDefinitions.isEmpty()) {
request["tools"] = toolsDefinitions;
LOG_MESSAGE(QString("Added %1 tools to LMStudio request").arg(toolsDefinitions.size()));

View File

@ -102,7 +102,8 @@ void LlamaCppProvider::prepareRequest(
if (supportsTools() && type == LLMCore::RequestType::Chat
&& Settings::chatAssistantSettings().useTools()) {
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(Tools::ToolSchemaFormat::OpenAI);
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(
LLMCore::ToolSchemaFormat::OpenAI);
if (!toolsDefinitions.isEmpty()) {
request["tools"] = toolsDefinitions;
LOG_MESSAGE(QString("Added %1 tools to llama.cpp request").arg(toolsDefinitions.size()));

View File

@ -272,7 +272,8 @@ void MistralAIProvider::prepareRequest(
if (supportsTools() && type == LLMCore::RequestType::Chat
&& Settings::chatAssistantSettings().useTools()) {
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(Tools::ToolSchemaFormat::OpenAI);
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(
LLMCore::ToolSchemaFormat::OpenAI);
if (!toolsDefinitions.isEmpty()) {
request["tools"] = toolsDefinitions;
LOG_MESSAGE(QString("Added %1 tools to Mistral request").arg(toolsDefinitions.size()));

View File

@ -102,7 +102,8 @@ void OpenAICompatProvider::prepareRequest(
if (supportsTools() && type == LLMCore::RequestType::Chat
&& Settings::chatAssistantSettings().useTools()) {
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(Tools::ToolSchemaFormat::OpenAI);
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(
LLMCore::ToolSchemaFormat::OpenAI);
if (!toolsDefinitions.isEmpty()) {
request["tools"] = toolsDefinitions;
LOG_MESSAGE(

View File

@ -103,7 +103,8 @@ void OpenAIProvider::prepareRequest(
if (supportsTools() && type == LLMCore::RequestType::Chat
&& Settings::chatAssistantSettings().useTools()) {
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(Tools::ToolSchemaFormat::OpenAI);
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(
LLMCore::ToolSchemaFormat::OpenAI);
if (!toolsDefinitions.isEmpty()) {
request["tools"] = toolsDefinitions;
LOG_MESSAGE(QString("Added %1 tools to OpenAI request").arg(toolsDefinitions.size()));

View File

@ -75,17 +75,13 @@ void ToolsManager::executeToolCall(
LOG_MESSAGE(QString("ToolsManager: Started async execution of %1").arg(toolName));
}
QJsonArray ToolsManager::getToolsDefinitions(ToolSchemaFormat format) const
QJsonArray ToolsManager::getToolsDefinitions(LLMCore::ToolSchemaFormat format) const
{
if (!m_toolsFactory) {
return QJsonArray();
}
LLMCore::ToolSchemaFormat coreFormat = (format == ToolSchemaFormat::OpenAI)
? LLMCore::ToolSchemaFormat::OpenAI
: LLMCore::ToolSchemaFormat::Claude;
return m_toolsFactory->getToolsDefinitions(coreFormat);
return m_toolsFactory->getToolsDefinitions(format);
}
void ToolsManager::cleanupRequest(const QString &requestId)

View File

@ -26,11 +26,10 @@
#include "ToolHandler.hpp"
#include "ToolsFactory.hpp"
#include <llmcore/BaseTool.hpp>
namespace QodeAssist::Tools {
enum class ToolSchemaFormat { OpenAI, Claude };
struct PendingTool
{
QString id;
@ -53,7 +52,7 @@ public:
const QString &toolName,
const QJsonObject &input);
QJsonArray getToolsDefinitions(ToolSchemaFormat format) const;
QJsonArray getToolsDefinitions(LLMCore::ToolSchemaFormat format) const;
void cleanupRequest(const QString &requestId);
ToolsFactory *toolsFactory() const;