// 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 "session/TurnLedger.hpp" namespace QodeAssist::Acp { class ChatPermissionProvider : public LLMQore::Acp::AcpPermissionProvider { Q_OBJECT public: using RequestHandler = std::function &options)>; explicit ChatPermissionProvider(Session::TurnLedger *ledger, QObject *parent = nullptr); void setRequestHandler(RequestHandler handler); QFuture requestPermission( const QString &sessionId, const LLMQore::Acp::ToolCall &toolCall, const QList &options) override; private: RequestHandler m_requestHandler; Session::TurnLedger *m_ledger = nullptr; }; } // namespace QodeAssist::Acp