refactor: Combine bool functions with capabilities to flag

This commit is contained in:
Petr Mironychev
2026-03-30 18:23:32 +02:00
parent 545b8ed000
commit 1c12d6d45c
23 changed files with 59 additions and 120 deletions

View File

@ -19,6 +19,7 @@
#pragma once
#include <QFlags>
#include <QFuture>
#include <utils/environment.h>
#include <QNetworkRequest>
@ -38,6 +39,14 @@ class QJsonObject;
namespace QodeAssist::PluginLLMCore {
enum class ProviderCapability {
Tools = 0x1,
Thinking = 0x2,
Image = 0x4,
};
Q_DECLARE_FLAGS(ProviderCapabilities, ProviderCapability)
Q_DECLARE_OPERATORS_FOR_FLAGS(ProviderCapabilities)
class Provider : public QObject
{
Q_OBJECT
@ -68,9 +77,7 @@ public:
virtual void sendRequest(const RequestID &requestId, const QUrl &url, const QJsonObject &payload)
= 0;
virtual bool supportsTools() const { return false; };
virtual bool supportThinking() const { return false; };
virtual bool supportImage() const { return false; };
virtual ProviderCapabilities capabilities() const { return {}; }
virtual void cancelRequest(const RequestID &requestId) = 0;