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

View File

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

View File

@@ -103,7 +103,8 @@ void OpenAIProvider::prepareRequest(
if (supportsTools() && type == LLMCore::RequestType::Chat if (supportsTools() && type == LLMCore::RequestType::Chat
&& Settings::chatAssistantSettings().useTools()) { && Settings::chatAssistantSettings().useTools()) {
auto toolsDefinitions = m_toolsManager->getToolsDefinitions(Tools::ToolSchemaFormat::OpenAI); auto toolsDefinitions = m_toolsManager->getToolsDefinitions(
LLMCore::ToolSchemaFormat::OpenAI);
if (!toolsDefinitions.isEmpty()) { if (!toolsDefinitions.isEmpty()) {
request["tools"] = toolsDefinitions; request["tools"] = toolsDefinitions;
LOG_MESSAGE(QString("Added %1 tools to OpenAI request").arg(toolsDefinitions.size())); 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)); 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) { if (!m_toolsFactory) {
return QJsonArray(); return QJsonArray();
} }
LLMCore::ToolSchemaFormat coreFormat = (format == ToolSchemaFormat::OpenAI) return m_toolsFactory->getToolsDefinitions(format);
? LLMCore::ToolSchemaFormat::OpenAI
: LLMCore::ToolSchemaFormat::Claude;
return m_toolsFactory->getToolsDefinitions(coreFormat);
} }
void ToolsManager::cleanupRequest(const QString &requestId) void ToolsManager::cleanupRequest(const QString &requestId)

View File

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