#pragma once #include "configobject.hpp" #include #include #include namespace ZShell::config { class LlmAppearance : public ConfigObject { Q_OBJECT QML_ANONYMOUS CFG_PROPERTY(QString, scheme, QStringLiteral("tokyoNight")) public: explicit LlmAppearance(QObject* parent = nullptr) : ConfigObject(parent) {} }; class Llm : public ConfigObject { Q_OBJECT QML_ANONYMOUS CFG_PROPERTY(QString, endpoint, "http://localhost:8080") CFG_PROPERTY(QString, model, "") CFG_PROPERTY(double, temperature, 0.7) CFG_PROPERTY(bool, tools, true) CONFIG_SUBOBJECT(LlmAppearance, appearance) public: explicit Llm(QObject* parent = nullptr) : ConfigObject(parent), m_appearance(new LlmAppearance(this)) {} }; } // namespace ZShell::config