// Copyright (C) 2026 Petr Mironychev // SPDX-License-Identifier: GPL-3.0-or-later // Additional attribution terms under GPLv3 §7(b) apply — see LICENSE #pragma once #include #include #include #include #include "acp/AgentDefinition.hpp" namespace QodeAssist::Acp { class AgentCatalog { public: void setLayer(AgentSource source, const QList &agents); QList agents() const { return m_merged; } QList launchableAgents() const; std::optional agent(const QString &id) const; int size() const { return m_merged.size(); } private: void rebuild(); std::array, agentSourceCount> m_layers; QList m_merged; }; } // namespace QodeAssist::Acp