refactor: Agent roaster improve

This commit is contained in:
Petr Mironychev
2026-06-11 14:51:49 +02:00
parent e65ac23e66
commit f36173d932
9 changed files with 121 additions and 28 deletions

View File

@@ -4,6 +4,7 @@
#pragma once
#include <QHash>
#include <QList>
#include <QObject>
#include <QPointer>
@@ -33,6 +34,9 @@ public:
ConversationHistory *externalHistory,
QString *errorOut = nullptr);
Session *acquire(const QString &agentName, QString *errorOut = nullptr);
void release(Session *session);
void removeSession(Session *session);
QList<Session *> sessions() const;
@@ -47,8 +51,13 @@ signals:
void sessionRemoved(Session *session);
private:
void resetSession(Session *session);
static constexpr int kMaxPooledPerAgent = 2;
QPointer<AgentFactory> m_agentFactory;
QList<QPointer<Session>> m_sessions;
QHash<QString, QList<QPointer<Session>>> m_pool;
ToolContributorRegistry m_toolContributors;
};