refactor: Replace plugin tools manager to client api tools manager

This commit is contained in:
Petr Mironychev
2026-03-30 06:53:29 +02:00
parent f58fad9578
commit e55e96714b
42 changed files with 381 additions and 343 deletions

View File

@ -39,12 +39,12 @@ EditFileTool::EditFileTool(QObject *parent)
: BaseTool(parent)
{}
QString EditFileTool::name() const
QString EditFileTool::id() const
{
return "edit_file";
}
QString EditFileTool::stringName() const
QString EditFileTool::displayName() const
{
return {"Editing file"};
}
@ -71,7 +71,7 @@ QString EditFileTool::description() const
"disabled auto-apply. DO NOT retry the same edit - wait for user action.";
}
QJsonObject EditFileTool::getDefinition(PluginLLMCore::ToolSchemaFormat format) const
QJsonObject EditFileTool::parametersSchema() const
{
QJsonObject properties;
@ -104,25 +104,9 @@ QJsonObject EditFileTool::getDefinition(PluginLLMCore::ToolSchemaFormat format)
required.append("new_content");
definition["required"] = required;
switch (format) {
case PluginLLMCore::ToolSchemaFormat::OpenAI:
return customizeForOpenAI(definition);
case PluginLLMCore::ToolSchemaFormat::Claude:
return customizeForClaude(definition);
case PluginLLMCore::ToolSchemaFormat::Ollama:
return customizeForOllama(definition);
case PluginLLMCore::ToolSchemaFormat::Google:
return customizeForGoogle(definition);
}
return definition;
}
PluginLLMCore::ToolPermissions EditFileTool::requiredPermissions() const
{
return PluginLLMCore::ToolPermission::FileSystemWrite;
}
QFuture<QString> EditFileTool::executeAsync(const QJsonObject &input)
{
return QtConcurrent::run([this, input]() -> QString {