#include "KIClient.h" namespace KompanionAI { KIClient::KIClient(QObject *parent) : QObject(parent) { } KIProvider* KIClient::provider() const { return m_provider; } void KIClient::setProvider(KIProvider* provider) { if (m_provider != provider) { m_provider = provider; emit providerChanged(); } } QString KIClient::defaultModel() const { return m_defaultModel; } void KIClient::setDefaultModel(const QString& model) { if (m_defaultModel != model) { m_defaultModel = model; emit defaultModelChanged(); } } QFuture KIClient::chat(const KIThread& thread, const KIChatOptions& opts) { if (!m_provider) { // TODO: Handle error: no provider set return QFuture(); } return m_provider->chat(thread, opts); } QFuture KIClient::embed(const QStringList& texts, const KIEmbedOptions& opts) { if (!m_provider) { // TODO: Handle error: no provider set return QFuture(); } return m_provider->embed(texts, opts); } void KIClient::cancel(quint64 requestId) { if (m_provider) { m_provider->cancel(requestId); } } } // namespace KompanionAI