#ifndef KIANITOOL_H #define KIANITOOL_H #include #include #include #include #include namespace KI { class KIToolParam { Q_GADGET Q_PROPERTY(QString name MEMBER name) Q_PROPERTY(QString type MEMBER type) Q_PROPERTY(bool required MEMBER required) Q_PROPERTY(QVariant defaultValue MEMBER defaultValue) public: QString name, type; bool required = false; QVariant defaultValue; bool operator==(const KIToolParam& other) const = default; bool operator!=(const KIToolParam& other) const = default; }; class KIToolSpec { Q_GADGET Q_PROPERTY(QString name MEMBER name) Q_PROPERTY(QString description MEMBER description) Q_PROPERTY(QList params MEMBER params) public: QString name, description; QList params; bool operator==(const KIToolSpec& other) const = default; bool operator!=(const KIToolSpec& other) const = default; }; class KIToolCall { Q_GADGET Q_PROPERTY(QString name MEMBER name) Q_PROPERTY(QVariantMap arguments MEMBER arguments) public: QString name; QVariantMap arguments; bool operator==(const KIToolCall& other) const = default; bool operator!=(const KIToolCall& other) const = default; }; class KIToolResult { Q_GADGET Q_PROPERTY(QString name MEMBER name) Q_PROPERTY(QVariant result MEMBER result) public: QString name; QVariant result; bool operator==(const KIToolResult& other) const = default; bool operator!=(const KIToolResult& other) const = default; }; } // namespace KI #endif // KIANITOOL_H