feat: add support acp in common chat (#369)

This commit is contained in:
Petr Mironychev
2026-07-21 13:10:00 +02:00
committed by GitHub
parent af85efb554
commit 442263a6a7
158 changed files with 14270 additions and 4118 deletions

View File

@@ -4,9 +4,18 @@
#pragma once
#include <optional>
#include <QHash>
#include <QObject>
#include <QStringList>
#include "acp/AgentDefinition.hpp"
namespace QodeAssist::Acp {
class AgentCatalogStore;
}
namespace QodeAssist::Chat {
class ChatConfigurationController : public QObject
@@ -19,18 +28,30 @@ public:
QStringList availableConfigurations() const;
QString currentConfiguration() const;
void setAgentCatalog(Acp::AgentCatalogStore *store);
void loadAvailableConfigurations();
void applyConfiguration(const QString &configName);
void setBoundAgent(const Acp::AgentDefinition &agent);
void clearBoundAgent();
std::optional<Acp::AgentDefinition> agentById(const QString &agentId);
signals:
void availableConfigurationsChanged();
void currentConfigurationChanged();
void agentRequested(const QodeAssist::Acp::AgentDefinition &agent);
void llmRequested();
private:
void updateCurrentConfiguration();
Acp::AgentCatalogStore *m_agents = nullptr;
QStringList m_availableConfigurations;
QHash<QString, QString> m_agentIdByEntry;
QString m_currentConfiguration;
QString m_boundAgentName;
};
} // namespace QodeAssist::Chat