mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2026-03-31 01:42:56 -04:00
refactor: Adapt provider to clients API
This commit is contained in:
@ -1,36 +1,9 @@
|
||||
#include "Provider.hpp"
|
||||
|
||||
#include <QJsonDocument>
|
||||
|
||||
namespace QodeAssist::PluginLLMCore {
|
||||
|
||||
Provider::Provider(QObject *parent)
|
||||
: QObject(parent)
|
||||
, m_httpClient(new HttpClient(this))
|
||||
{
|
||||
connect(m_httpClient, &HttpClient::dataReceived, this, &Provider::onDataReceived);
|
||||
connect(m_httpClient, &HttpClient::requestFinished, this, &Provider::onRequestFinished);
|
||||
}
|
||||
|
||||
void Provider::cancelRequest(const RequestID &requestId)
|
||||
{
|
||||
m_httpClient->cancelRequest(requestId);
|
||||
}
|
||||
|
||||
HttpClient *Provider::httpClient() const
|
||||
{
|
||||
return m_httpClient;
|
||||
}
|
||||
|
||||
QJsonObject Provider::parseEventLine(const QString &line)
|
||||
{
|
||||
if (!line.startsWith("data: "))
|
||||
return QJsonObject();
|
||||
|
||||
QString jsonStr = line.mid(6);
|
||||
|
||||
QJsonDocument doc = QJsonDocument::fromJson(jsonStr.toUtf8());
|
||||
return doc.object();
|
||||
}
|
||||
{}
|
||||
|
||||
} // namespace QodeAssist::PluginLLMCore
|
||||
|
||||
@ -19,8 +19,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <optional>
|
||||
|
||||
#include <QFuture>
|
||||
#include <utils/environment.h>
|
||||
#include <QNetworkRequest>
|
||||
@ -28,8 +26,6 @@
|
||||
#include <QString>
|
||||
|
||||
#include "ContextData.hpp"
|
||||
#include "DataBuffers.hpp"
|
||||
#include "HttpClient.hpp"
|
||||
#include "IToolsManager.hpp"
|
||||
#include "PromptTemplate.hpp"
|
||||
#include "RequestType.hpp"
|
||||
@ -38,7 +34,6 @@ namespace LLMCore {
|
||||
class ToolsManager;
|
||||
}
|
||||
|
||||
class QNetworkReply;
|
||||
class QJsonObject;
|
||||
|
||||
namespace QodeAssist::PluginLLMCore {
|
||||
@ -77,20 +72,10 @@ public:
|
||||
virtual bool supportThinking() const { return false; };
|
||||
virtual bool supportImage() const { return false; };
|
||||
|
||||
virtual void cancelRequest(const RequestID &requestId);
|
||||
virtual void cancelRequest(const RequestID &requestId) = 0;
|
||||
|
||||
virtual ::LLMCore::ToolsManager *toolsManager() const { return nullptr; }
|
||||
|
||||
HttpClient *httpClient() const;
|
||||
|
||||
public slots:
|
||||
virtual void onDataReceived(
|
||||
const QodeAssist::PluginLLMCore::RequestID &requestId, const QByteArray &data)
|
||||
= 0;
|
||||
virtual void onRequestFinished(
|
||||
const QodeAssist::PluginLLMCore::RequestID &requestId, std::optional<QString> error)
|
||||
= 0;
|
||||
|
||||
signals:
|
||||
void partialResponseReceived(
|
||||
const QodeAssist::PluginLLMCore::RequestID &requestId, const QString &partialText);
|
||||
@ -109,14 +94,6 @@ signals:
|
||||
const QString &requestId, const QString &thinking, const QString &signature);
|
||||
void redactedThinkingBlockReceived(const QString &requestId, const QString &signature);
|
||||
|
||||
protected:
|
||||
QJsonObject parseEventLine(const QString &line);
|
||||
|
||||
QHash<RequestID, DataBuffers> m_dataBuffers;
|
||||
QHash<RequestID, QUrl> m_requestUrls;
|
||||
|
||||
private:
|
||||
HttpClient *m_httpClient;
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::PluginLLMCore
|
||||
|
||||
Reference in New Issue
Block a user