refactor: Add external LLMCore lib (#334)

* feat: Add LLMCore submodule
This commit is contained in:
Petr Mironychev
2026-04-03 12:30:40 +02:00
committed by GitHub
parent 15d714588f
commit 6c05f0d594
137 changed files with 1340 additions and 4905 deletions

View File

@ -19,7 +19,7 @@
#pragma once
#include <llmcore/BaseTool.hpp>
#include <LLMCore/BaseTool.hpp>
#include <QHash>
#include <QMutex>
@ -34,21 +34,21 @@ struct TodoItem
bool completed;
};
class TodoTool : public LLMCore::BaseTool
class TodoTool : public ::LLMCore::BaseTool
{
Q_OBJECT
public:
explicit TodoTool(QObject *parent = nullptr);
QString name() const override;
QString stringName() const override;
QString id() const override;
QString displayName() const override;
QString description() const override;
QJsonObject getDefinition(LLMCore::ToolSchemaFormat format) const override;
LLMCore::ToolPermissions requiredPermissions() const override;
QJsonObject parametersSchema() const override;
QFuture<QString> executeAsync(const QJsonObject &input = QJsonObject()) override;
void setCurrentSessionId(const QString &sessionId);
void clearSession(const QString &sessionId);
private:
@ -59,6 +59,7 @@ private:
QString listRemainingTodosLocked(const QString &sessionId) const;
mutable QMutex m_mutex;
QString m_currentSessionId;
QHash<QString, QHash<int, TodoItem>> m_sessionTodos;
QHash<QString, int> m_sessionNextId;
};