mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2026-06-14 02:09:22 -04:00
refactor: Move to agent-session architecture
This commit is contained in:
@@ -34,7 +34,6 @@
|
||||
#include <QTranslator>
|
||||
|
||||
#include <QInputDialog>
|
||||
#include "ConfigurationManager.hpp"
|
||||
#include "QodeAssistClient.hpp"
|
||||
#include "UpdateStatusWidget.hpp"
|
||||
#include "Version.hpp"
|
||||
@@ -43,7 +42,6 @@
|
||||
#include "chat/ChatOutputPane.h"
|
||||
#include "chat/NavigationPanel.hpp"
|
||||
#include "context/DocumentReaderQtCreator.hpp"
|
||||
#include "pluginllmcore/PromptProviderFim.hpp"
|
||||
#include "pluginllmcore/ProvidersManager.hpp"
|
||||
#include "logger/RequestPerformanceLogger.hpp"
|
||||
#include "mcp/McpClientsManager.hpp"
|
||||
@@ -56,7 +54,6 @@
|
||||
#include "settings/ProjectSettingsPanel.hpp"
|
||||
#include "settings/AgentsSettingsPage.hpp"
|
||||
#include "settings/ProvidersSettingsPage.hpp"
|
||||
#include "sources/settings/AgentPipelinesPage.hpp"
|
||||
#include "settings/QuickRefactorSettings.hpp"
|
||||
#include "settings/SettingsConstants.hpp"
|
||||
|
||||
@@ -65,6 +62,8 @@
|
||||
#include "ProviderSecretsStore.hpp"
|
||||
|
||||
#include <AgentFactory.hpp>
|
||||
#include <GenericProvider.hpp>
|
||||
#include <SessionManager.hpp>
|
||||
#include "templates/Templates.hpp"
|
||||
#include "widgets/CustomInstructionsManager.hpp"
|
||||
#include "widgets/QuickRefactorDialog.hpp"
|
||||
@@ -74,6 +73,7 @@
|
||||
#include <ChatView/ChatWidget.hpp>
|
||||
#include <ChatView/SessionFileRegistry.hpp>
|
||||
#include <coreplugin/editormanager/editormanager.h>
|
||||
#include <QQmlContext>
|
||||
#include <QUuid>
|
||||
#include <coreplugin/actionmanager/actioncontainer.h>
|
||||
#include <coreplugin/actionmanager/actionmanager.h>
|
||||
@@ -95,7 +95,6 @@ class QodeAssistPlugin final : public ExtensionSystem::IPlugin
|
||||
public:
|
||||
QodeAssistPlugin()
|
||||
: m_updater(new PluginUpdater(this))
|
||||
, m_promptProvider(PluginLLMCore::PromptTemplateManager::instance())
|
||||
{}
|
||||
|
||||
~QodeAssistPlugin() final
|
||||
@@ -203,8 +202,8 @@ public:
|
||||
m_engine, m_sessionFileRegistry, m_skillsManager};
|
||||
|
||||
Settings::setupProjectPanel();
|
||||
ConfigurationManager::instance().init();
|
||||
|
||||
Providers::registerBuiltinProviders();
|
||||
m_providerInstanceFactory = new Providers::ProviderInstanceFactory(this);
|
||||
m_providerSecretsStore = new Providers::ProviderSecretsStore(this);
|
||||
m_providerLauncher = new Providers::ProviderLauncher(this);
|
||||
@@ -216,6 +215,9 @@ public:
|
||||
m_providersPageNavigator);
|
||||
|
||||
m_agentFactory = new AgentFactory(m_providerInstanceFactory, m_providerSecretsStore, this);
|
||||
m_sessionManager = new SessionManager(m_agentFactory, this);
|
||||
m_engine->rootContext()->setContextProperty("agentFactory", m_agentFactory);
|
||||
m_engine->rootContext()->setContextProperty("sessionManager", m_sessionManager);
|
||||
m_agentsPageNavigator = new Settings::AgentsPageNavigator(this);
|
||||
m_agentsOptionsPage = Settings::createAgentsSettingsPage(
|
||||
m_agentFactory, m_agentsPageNavigator);
|
||||
@@ -342,10 +344,12 @@ public:
|
||||
m_qodeAssistClient = new QodeAssistClient(new LLMClientInterface(
|
||||
Settings::generalSettings(),
|
||||
Settings::codeCompletionSettings(),
|
||||
PluginLLMCore::ProvidersManager::instance(),
|
||||
&m_promptProvider,
|
||||
*m_sessionManager,
|
||||
*m_agentFactory,
|
||||
m_documentReader,
|
||||
m_performanceLogger));
|
||||
m_qodeAssistClient->setSessionManager(m_sessionManager);
|
||||
m_qodeAssistClient->setAgentFactory(m_agentFactory);
|
||||
}
|
||||
|
||||
bool delayedInitialize() final
|
||||
@@ -503,7 +507,6 @@ private:
|
||||
}
|
||||
|
||||
QPointer<QodeAssistClient> m_qodeAssistClient;
|
||||
PluginLLMCore::PromptProviderFim m_promptProvider;
|
||||
Context::DocumentReaderQtCreator m_documentReader;
|
||||
RequestPerformanceLogger m_performanceLogger;
|
||||
QPointer<Chat::ChatOutputPane> m_chatOutputPane;
|
||||
@@ -524,6 +527,7 @@ private:
|
||||
QPointer<Settings::ProvidersPageNavigator> m_providersPageNavigator;
|
||||
std::unique_ptr<Core::IOptionsPage> m_providersOptionsPage;
|
||||
QPointer<AgentFactory> m_agentFactory;
|
||||
QPointer<SessionManager> m_sessionManager;
|
||||
QPointer<Settings::AgentsPageNavigator> m_agentsPageNavigator;
|
||||
std::unique_ptr<Core::IOptionsPage> m_agentsOptionsPage;
|
||||
QPointer<Settings::AgentPipelinesPageNavigator> m_agentPipelinesPageNavigator;
|
||||
|
||||
Reference in New Issue
Block a user