mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2025-12-08 02:12:51 -05:00
feat: Add tools permissions (#238)
This commit is contained in:
@ -29,6 +29,14 @@ namespace QodeAssist::LLMCore {
|
||||
|
||||
enum class ToolSchemaFormat { OpenAI, Claude, Ollama, Google };
|
||||
|
||||
enum ToolPermission {
|
||||
None = 0,
|
||||
FileSystemRead = 1 << 0,
|
||||
FileSystemWrite = 1 << 1,
|
||||
NetworkAccess = 1 << 2
|
||||
};
|
||||
Q_DECLARE_FLAGS(ToolPermissions, ToolPermission)
|
||||
|
||||
class BaseTool : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -40,6 +48,7 @@ public:
|
||||
virtual QString stringName() const = 0;
|
||||
virtual QString description() const = 0;
|
||||
virtual QJsonObject getDefinition(ToolSchemaFormat format) const = 0;
|
||||
virtual ToolPermissions requiredPermissions() const = 0;
|
||||
|
||||
virtual QFuture<QString> executeAsync(const QJsonObject &input = QJsonObject()) = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user