Files
QodeAssist/sources/tools/ListProjectFilesTool.hpp
2026-07-21 13:10:00 +02:00

33 lines
933 B
C++

// Copyright (C) 2025-2026 Petr Mironychev
// SPDX-License-Identifier: GPL-3.0-or-later
// Additional attribution terms under GPLv3 §7(b) apply — see LICENSE
#pragma once
#include <LLMQore/BaseTool.hpp>
#include <context/IgnoreManager.hpp>
namespace QodeAssist::Tools {
class ListProjectFilesTool : public ::LLMQore::BaseTool
{
Q_OBJECT
public:
explicit ListProjectFilesTool(QObject *parent = nullptr);
QString id() const override;
QString displayName() const override;
QString description() const override;
QJsonObject parametersSchema() const override;
::LLMQore::ToolSafety safety() const override { return ::LLMQore::ToolSafety::ReadOnly; }
QFuture<LLMQore::ToolResult> executeAsync(const QJsonObject &input = QJsonObject()) override;
private:
QString formatFileList(const QStringList &files) const;
Context::IgnoreManager *m_ignoreManager;
};
} // namespace QodeAssist::Tools