diff --git a/llmcore/Provider.hpp b/llmcore/Provider.hpp index 5a213cc..d21ed86 100644 --- a/llmcore/Provider.hpp +++ b/llmcore/Provider.hpp @@ -60,19 +60,20 @@ public: virtual void prepareNetworkRequest(QNetworkRequest &networkRequest) const = 0; virtual ProviderID providerID() const = 0; - virtual void sendRequest(const QString &requestId, const QUrl &url, const QJsonObject &payload) + virtual void sendRequest(const RequestID &requestId, const QUrl &url, const QJsonObject &payload) = 0; HttpClient *httpClient() const; public slots: - virtual void onDataReceived(const QString &requestId, const QByteArray &data) = 0; - virtual void onRequestFinished(const QString &requestId, bool success, const QString &error) = 0; + virtual void onDataReceived(const RequestID &requestId, const QByteArray &data) = 0; + virtual void onRequestFinished(const RequestID &requestId, bool success, const QString &error) + = 0; signals: - void partialResponseReceived(const QString &requestId, const QString &partialText); - void fullResponseReceived(const QString &requestId, const QString &fullText); - void requestFailed(const QString &requestId, const QString &error); + void partialResponseReceived(const RequestID &requestId, const QString &partialText); + void fullResponseReceived(const RequestID &requestId, const QString &fullText); + void requestFailed(const RequestID &requestId, const QString &error); protected: QJsonObject parseEventLine(const QString &line); diff --git a/providers/ClaudeProvider.cpp b/providers/ClaudeProvider.cpp index ca444c9..6993b5f 100644 --- a/providers/ClaudeProvider.cpp +++ b/providers/ClaudeProvider.cpp @@ -172,7 +172,7 @@ LLMCore::ProviderID ClaudeProvider::providerID() const } void ClaudeProvider::sendRequest( - const QString &requestId, const QUrl &url, const QJsonObject &payload) + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) { m_dataBuffers[requestId].clear(); m_requestUrls[requestId] = url; @@ -188,7 +188,8 @@ void ClaudeProvider::sendRequest( emit httpClient()->sendRequest(request); } -void ClaudeProvider::onDataReceived(const QString &requestId, const QByteArray &data) +void ClaudeProvider::onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) { LLMCore::DataBuffers &buffers = m_dataBuffers[requestId]; QStringList lines = buffers.rawStreamBuffer.processData(data); @@ -236,7 +237,8 @@ void ClaudeProvider::onDataReceived(const QString &requestId, const QByteArray & } } -void ClaudeProvider::onRequestFinished(const QString &requestId, bool success, const QString &error) +void ClaudeProvider::onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, bool success, const QString &error) { if (!success) { LOG_MESSAGE(QString("ClaudeProvider request %1 failed: %2").arg(requestId, error)); diff --git a/providers/ClaudeProvider.hpp b/providers/ClaudeProvider.hpp index 686fdc4..4a9b4ed 100644 --- a/providers/ClaudeProvider.hpp +++ b/providers/ClaudeProvider.hpp @@ -19,7 +19,7 @@ #pragma once -#include "llmcore/Provider.hpp" +#include namespace QodeAssist::Providers { @@ -42,11 +42,16 @@ public: void prepareNetworkRequest(QNetworkRequest &networkRequest) const override; LLMCore::ProviderID providerID() const override; - void sendRequest(const QString &requestId, const QUrl &url, const QJsonObject &payload) override; + void sendRequest( + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) override; public slots: - void onDataReceived(const QString &requestId, const QByteArray &data) override; - void onRequestFinished(const QString &requestId, bool success, const QString &error) override; + void onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) override; + void onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, + bool success, + const QString &error) override; }; } // namespace QodeAssist::Providers diff --git a/providers/GoogleAIProvider.cpp b/providers/GoogleAIProvider.cpp index 09dadb6..00018cb 100644 --- a/providers/GoogleAIProvider.cpp +++ b/providers/GoogleAIProvider.cpp @@ -170,7 +170,7 @@ LLMCore::ProviderID GoogleAIProvider::providerID() const } void GoogleAIProvider::sendRequest( - const QString &requestId, const QUrl &url, const QJsonObject &payload) + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) { m_dataBuffers[requestId].clear(); m_requestUrls[requestId] = url; @@ -187,7 +187,8 @@ void GoogleAIProvider::sendRequest( emit httpClient()->sendRequest(request); } -void GoogleAIProvider::onDataReceived(const QString &requestId, const QByteArray &data) +void GoogleAIProvider::onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) { if (data.isEmpty()) { return; @@ -220,7 +221,8 @@ void GoogleAIProvider::onDataReceived(const QString &requestId, const QByteArray } } -void GoogleAIProvider::onRequestFinished(const QString &requestId, bool success, const QString &error) +void GoogleAIProvider::onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, bool success, const QString &error) { if (!success) { LOG_MESSAGE(QString("GoogleAIProvider request %1 failed: %2").arg(requestId, error)); @@ -238,7 +240,8 @@ void GoogleAIProvider::onRequestFinished(const QString &requestId, bool success, m_requestUrls.remove(requestId); } -bool GoogleAIProvider::handleStreamResponse(const QString &requestId, const QByteArray &data) +bool GoogleAIProvider::handleStreamResponse( + const LLMCore::RequestID &requestId, const QByteArray &data) { LLMCore::DataBuffers &buffers = m_dataBuffers[requestId]; QStringList lines = buffers.rawStreamBuffer.processData(data); diff --git a/providers/GoogleAIProvider.hpp b/providers/GoogleAIProvider.hpp index a595489..25ad5a0 100644 --- a/providers/GoogleAIProvider.hpp +++ b/providers/GoogleAIProvider.hpp @@ -42,14 +42,19 @@ public: void prepareNetworkRequest(QNetworkRequest &networkRequest) const override; LLMCore::ProviderID providerID() const override; - void sendRequest(const QString &requestId, const QUrl &url, const QJsonObject &payload) override; + void sendRequest( + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) override; public slots: - void onDataReceived(const QString &requestId, const QByteArray &data) override; - void onRequestFinished(const QString &requestId, bool success, const QString &error) override; + void onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) override; + void onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, + bool success, + const QString &error) override; private: - bool handleStreamResponse(const QString &requestId, const QByteArray &data); + bool handleStreamResponse(const LLMCore::RequestID &requestId, const QByteArray &data); }; } // namespace QodeAssist::Providers diff --git a/providers/LMStudioProvider.cpp b/providers/LMStudioProvider.cpp index bf867ab..52322a7 100644 --- a/providers/LMStudioProvider.cpp +++ b/providers/LMStudioProvider.cpp @@ -123,7 +123,7 @@ LLMCore::ProviderID LMStudioProvider::providerID() const } void LMStudioProvider::sendRequest( - const QString &requestId, const QUrl &url, const QJsonObject &payload) + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) { m_dataBuffers[requestId].clear(); m_requestUrls[requestId] = url; @@ -140,7 +140,8 @@ void LMStudioProvider::sendRequest( emit httpClient()->sendRequest(request); } -void LMStudioProvider::onDataReceived(const QString &requestId, const QByteArray &data) +void LMStudioProvider::onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) { LLMCore::DataBuffers &buffers = m_dataBuffers[requestId]; QStringList lines = buffers.rawStreamBuffer.processData(data); @@ -193,7 +194,8 @@ void LMStudioProvider::onDataReceived(const QString &requestId, const QByteArray } } -void LMStudioProvider::onRequestFinished(const QString &requestId, bool success, const QString &error) +void LMStudioProvider::onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, bool success, const QString &error) { if (!success) { LOG_MESSAGE(QString("LMStudioProvider request %1 failed: %2").arg(requestId, error)); diff --git a/providers/LMStudioProvider.hpp b/providers/LMStudioProvider.hpp index 62d096d..e05f036 100644 --- a/providers/LMStudioProvider.hpp +++ b/providers/LMStudioProvider.hpp @@ -42,11 +42,16 @@ public: void prepareNetworkRequest(QNetworkRequest &networkRequest) const override; LLMCore::ProviderID providerID() const override; - void sendRequest(const QString &requestId, const QUrl &url, const QJsonObject &payload) override; + void sendRequest( + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) override; public slots: - void onDataReceived(const QString &requestId, const QByteArray &data) override; - void onRequestFinished(const QString &requestId, bool success, const QString &error) override; + void onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) override; + void onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, + bool success, + const QString &error) override; }; } // namespace QodeAssist::Providers diff --git a/providers/LlamaCppProvider.cpp b/providers/LlamaCppProvider.cpp index 3a415dd..eb8b578 100644 --- a/providers/LlamaCppProvider.cpp +++ b/providers/LlamaCppProvider.cpp @@ -149,7 +149,7 @@ LLMCore::ProviderID LlamaCppProvider::providerID() const } void LlamaCppProvider::sendRequest( - const QString &requestId, const QUrl &url, const QJsonObject &payload) + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) { m_dataBuffers[requestId].clear(); m_requestUrls[requestId] = url; @@ -166,7 +166,8 @@ void LlamaCppProvider::sendRequest( emit httpClient()->sendRequest(request); } -void LlamaCppProvider::onDataReceived(const QString &requestId, const QByteArray &data) +void LlamaCppProvider::onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) { LLMCore::DataBuffers &buffers = m_dataBuffers[requestId]; QStringList lines = buffers.rawStreamBuffer.processData(data); @@ -231,7 +232,8 @@ void LlamaCppProvider::onDataReceived(const QString &requestId, const QByteArray } } -void LlamaCppProvider::onRequestFinished(const QString &requestId, bool success, const QString &error) +void LlamaCppProvider::onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, bool success, const QString &error) { if (!success) { LOG_MESSAGE(QString("LlamaCppProvider request %1 failed: %2").arg(requestId, error)); diff --git a/providers/LlamaCppProvider.hpp b/providers/LlamaCppProvider.hpp index 740454c..a912f1c 100644 --- a/providers/LlamaCppProvider.hpp +++ b/providers/LlamaCppProvider.hpp @@ -42,11 +42,16 @@ public: void prepareNetworkRequest(QNetworkRequest &networkRequest) const override; LLMCore::ProviderID providerID() const override; - void sendRequest(const QString &requestId, const QUrl &url, const QJsonObject &payload) override; + void sendRequest( + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) override; public slots: - void onDataReceived(const QString &requestId, const QByteArray &data) override; - void onRequestFinished(const QString &requestId, bool success, const QString &error) override; + void onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) override; + void onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, + bool success, + const QString &error) override; }; } // namespace QodeAssist::Providers diff --git a/providers/MistralAIProvider.cpp b/providers/MistralAIProvider.cpp index df766b0..8d669d1 100644 --- a/providers/MistralAIProvider.cpp +++ b/providers/MistralAIProvider.cpp @@ -126,7 +126,7 @@ LLMCore::ProviderID MistralAIProvider::providerID() const } void MistralAIProvider::sendRequest( - const QString &requestId, const QUrl &url, const QJsonObject &payload) + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) { m_dataBuffers[requestId].clear(); m_requestUrls[requestId] = url; @@ -143,7 +143,8 @@ void MistralAIProvider::sendRequest( emit httpClient()->sendRequest(request); } -void MistralAIProvider::onDataReceived(const QString &requestId, const QByteArray &data) +void MistralAIProvider::onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) { LLMCore::DataBuffers &buffers = m_dataBuffers[requestId]; QStringList lines = buffers.rawStreamBuffer.processData(data); @@ -197,7 +198,7 @@ void MistralAIProvider::onDataReceived(const QString &requestId, const QByteArra } void MistralAIProvider::onRequestFinished( - const QString &requestId, bool success, const QString &error) + const QodeAssist::LLMCore::RequestID &requestId, bool success, const QString &error) { if (!success) { LOG_MESSAGE(QString("MistralAIProvider request %1 failed: %2").arg(requestId, error)); diff --git a/providers/MistralAIProvider.hpp b/providers/MistralAIProvider.hpp index 14cbd1b..7ce86d2 100644 --- a/providers/MistralAIProvider.hpp +++ b/providers/MistralAIProvider.hpp @@ -42,11 +42,16 @@ public: void prepareNetworkRequest(QNetworkRequest &networkRequest) const override; LLMCore::ProviderID providerID() const override; - void sendRequest(const QString &requestId, const QUrl &url, const QJsonObject &payload) override; + void sendRequest( + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) override; public slots: - void onDataReceived(const QString &requestId, const QByteArray &data) override; - void onRequestFinished(const QString &requestId, bool success, const QString &error) override; + void onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) override; + void onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, + bool success, + const QString &error) override; }; } // namespace QodeAssist::Providers diff --git a/providers/OllamaProvider.cpp b/providers/OllamaProvider.cpp index 07fd75e..2b0d9f5 100644 --- a/providers/OllamaProvider.cpp +++ b/providers/OllamaProvider.cpp @@ -186,7 +186,7 @@ LLMCore::ProviderID OllamaProvider::providerID() const } void OllamaProvider::sendRequest( - const QString &requestId, const QUrl &url, const QJsonObject &payload) + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) { m_dataBuffers[requestId].clear(); m_requestUrls[requestId] = url; @@ -202,7 +202,8 @@ void OllamaProvider::sendRequest( emit httpClient()->sendRequest(request); } -void OllamaProvider::onDataReceived(const QString &requestId, const QByteArray &data) +void OllamaProvider::onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) { LLMCore::DataBuffers &buffers = m_dataBuffers[requestId]; QStringList lines = buffers.rawStreamBuffer.processData(data); @@ -261,7 +262,8 @@ void OllamaProvider::onDataReceived(const QString &requestId, const QByteArray & } } -void OllamaProvider::onRequestFinished(const QString &requestId, bool success, const QString &error) +void OllamaProvider::onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, bool success, const QString &error) { if (!success) { LOG_MESSAGE(QString("OllamaProvider request %1 failed: %2").arg(requestId, error)); diff --git a/providers/OllamaProvider.hpp b/providers/OllamaProvider.hpp index 8bc7ae9..497a902 100644 --- a/providers/OllamaProvider.hpp +++ b/providers/OllamaProvider.hpp @@ -42,11 +42,16 @@ public: void prepareNetworkRequest(QNetworkRequest &networkRequest) const override; LLMCore::ProviderID providerID() const override; - void sendRequest(const QString &requestId, const QUrl &url, const QJsonObject &payload) override; + void sendRequest( + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) override; public slots: - void onDataReceived(const QString &requestId, const QByteArray &data) override; - void onRequestFinished(const QString &requestId, bool success, const QString &error) override; + void onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) override; + void onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, + bool success, + const QString &error) override; }; } // namespace QodeAssist::Providers diff --git a/providers/OpenAICompatProvider.cpp b/providers/OpenAICompatProvider.cpp index 6fb85be..663ad23 100644 --- a/providers/OpenAICompatProvider.cpp +++ b/providers/OpenAICompatProvider.cpp @@ -135,7 +135,7 @@ LLMCore::ProviderID OpenAICompatProvider::providerID() const } void OpenAICompatProvider::sendRequest( - const QString &requestId, const QUrl &url, const QJsonObject &payload) + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) { m_dataBuffers[requestId].clear(); m_requestUrls[requestId] = url; @@ -152,7 +152,8 @@ void OpenAICompatProvider::sendRequest( emit httpClient()->sendRequest(request); } -void OpenAICompatProvider::onDataReceived(const QString &requestId, const QByteArray &data) +void OpenAICompatProvider::onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) { LLMCore::DataBuffers &buffers = m_dataBuffers[requestId]; QStringList lines = buffers.rawStreamBuffer.processData(data); @@ -206,7 +207,7 @@ void OpenAICompatProvider::onDataReceived(const QString &requestId, const QByteA } void OpenAICompatProvider::onRequestFinished( - const QString &requestId, bool success, const QString &error) + const QodeAssist::LLMCore::RequestID &requestId, bool success, const QString &error) { if (!success) { LOG_MESSAGE(QString("OpenAICompatProvider request %1 failed: %2").arg(requestId, error)); diff --git a/providers/OpenAICompatProvider.hpp b/providers/OpenAICompatProvider.hpp index 9ec2ade..8170771 100644 --- a/providers/OpenAICompatProvider.hpp +++ b/providers/OpenAICompatProvider.hpp @@ -42,11 +42,16 @@ public: void prepareNetworkRequest(QNetworkRequest &networkRequest) const override; LLMCore::ProviderID providerID() const override; - void sendRequest(const QString &requestId, const QUrl &url, const QJsonObject &payload) override; + void sendRequest( + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) override; public slots: - void onDataReceived(const QString &requestId, const QByteArray &data) override; - void onRequestFinished(const QString &requestId, bool success, const QString &error) override; + void onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) override; + void onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, + bool success, + const QString &error) override; }; } // namespace QodeAssist::Providers diff --git a/providers/OpenAIProvider.cpp b/providers/OpenAIProvider.cpp index 7bde5ba..a8991d6 100644 --- a/providers/OpenAIProvider.cpp +++ b/providers/OpenAIProvider.cpp @@ -173,7 +173,7 @@ LLMCore::ProviderID OpenAIProvider::providerID() const } void OpenAIProvider::sendRequest( - const QString &requestId, const QUrl &url, const QJsonObject &payload) + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) { m_dataBuffers[requestId].clear(); m_requestUrls[requestId] = url; @@ -189,7 +189,8 @@ void OpenAIProvider::sendRequest( emit httpClient()->sendRequest(request); } -void OpenAIProvider::onDataReceived(const QString &requestId, const QByteArray &data) +void OpenAIProvider::onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) { LLMCore::DataBuffers &buffers = m_dataBuffers[requestId]; QStringList lines = buffers.rawStreamBuffer.processData(data); @@ -242,7 +243,8 @@ void OpenAIProvider::onDataReceived(const QString &requestId, const QByteArray & } } -void OpenAIProvider::onRequestFinished(const QString &requestId, bool success, const QString &error) +void OpenAIProvider::onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, bool success, const QString &error) { if (!success) { LOG_MESSAGE(QString("OpenAIProvider request %1 failed: %2").arg(requestId, error)); diff --git a/providers/OpenAIProvider.hpp b/providers/OpenAIProvider.hpp index 69919e0..263b819 100644 --- a/providers/OpenAIProvider.hpp +++ b/providers/OpenAIProvider.hpp @@ -42,11 +42,16 @@ public: void prepareNetworkRequest(QNetworkRequest &networkRequest) const override; LLMCore::ProviderID providerID() const override; - void sendRequest(const QString &requestId, const QUrl &url, const QJsonObject &payload) override; + void sendRequest( + const LLMCore::RequestID &requestId, const QUrl &url, const QJsonObject &payload) override; public slots: - void onDataReceived(const QString &requestId, const QByteArray &data) override; - void onRequestFinished(const QString &requestId, bool success, const QString &error) override; + void onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) override; + void onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, + bool success, + const QString &error) override; }; } // namespace QodeAssist::Providers diff --git a/providers/OpenRouterAIProvider.cpp b/providers/OpenRouterAIProvider.cpp index f0aecec..eac9297 100644 --- a/providers/OpenRouterAIProvider.cpp +++ b/providers/OpenRouterAIProvider.cpp @@ -51,7 +51,8 @@ LLMCore::ProviderID OpenRouterProvider::providerID() const return LLMCore::ProviderID::OpenRouter; } -void OpenRouterProvider::onDataReceived(const QString &requestId, const QByteArray &data) +void OpenRouterProvider::onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) { LLMCore::DataBuffers &buffers = m_dataBuffers[requestId]; QStringList lines = buffers.rawStreamBuffer.processData(data); @@ -105,7 +106,7 @@ void OpenRouterProvider::onDataReceived(const QString &requestId, const QByteArr } void OpenRouterProvider::onRequestFinished( - const QString &requestId, bool success, const QString &error) + const QodeAssist::LLMCore::RequestID &requestId, bool success, const QString &error) { if (!success) { LOG_MESSAGE(QString("OpenRouterProvider request %1 failed: %2").arg(requestId, error)); diff --git a/providers/OpenRouterAIProvider.hpp b/providers/OpenRouterAIProvider.hpp index 2c064d7..3e7521c 100644 --- a/providers/OpenRouterAIProvider.hpp +++ b/providers/OpenRouterAIProvider.hpp @@ -32,8 +32,12 @@ public: LLMCore::ProviderID providerID() const override; public slots: - void onDataReceived(const QString &requestId, const QByteArray &data) override; - void onRequestFinished(const QString &requestId, bool success, const QString &error) override; + void onDataReceived( + const QodeAssist::LLMCore::RequestID &requestId, const QByteArray &data) override; + void onRequestFinished( + const QodeAssist::LLMCore::RequestID &requestId, + bool success, + const QString &error) override; }; } // namespace QodeAssist::Providers