// 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 namespace QodeAssist::Session { struct ProjectInfo { bool available = false; QString displayName; QString sourceRoot; std::optional buildDirectory; bool operator==(const ProjectInfo &other) const = default; }; struct InvokedSkill { QString name; QString body; bool operator==(const InvokedSkill &other) const = default; }; struct TurnContextNeeds { bool systemPrompt = true; bool operator==(const TurnContextNeeds &other) const = default; }; struct TurnContext { QString basePrompt; ProjectInfo project; QString alwaysOnSkills; QString skillsCatalog; QList invokedSkills; bool operator==(const TurnContext &other) const = default; }; QString renderSystemPrompt(const TurnContext &context); } // namespace QodeAssist::Session