diff --git a/src/kompanionai/KIChatOptions.h b/src/kllm/KIChatOptions.h similarity index 100% rename from src/kompanionai/KIChatOptions.h rename to src/kllm/KIChatOptions.h diff --git a/src/kompanionai/KIEmbedOptions.h b/src/kllm/KIEmbedOptions.h similarity index 100% rename from src/kompanionai/KIEmbedOptions.h rename to src/kllm/KIEmbedOptions.h diff --git a/src/kompanionai/KIEmbeddingResult.h b/src/kllm/KIEmbeddingResult.h similarity index 100% rename from src/kompanionai/KIEmbeddingResult.h rename to src/kllm/KIEmbeddingResult.h diff --git a/src/kompanionai/KIError.h b/src/kllm/KIError.h similarity index 100% rename from src/kompanionai/KIError.h rename to src/kllm/KIError.h diff --git a/src/kompanionai/KIMessage.h b/src/kllm/KIMessage.h similarity index 100% rename from src/kompanionai/KIMessage.h rename to src/kllm/KIMessage.h diff --git a/src/kompanionai/KIPolicy.h b/src/kllm/KIPolicy.h similarity index 100% rename from src/kompanionai/KIPolicy.h rename to src/kllm/KIPolicy.h diff --git a/src/kompanionai/KIProvider.h b/src/kllm/KIProvider.h similarity index 100% rename from src/kompanionai/KIProvider.h rename to src/kllm/KIProvider.h diff --git a/src/kompanionai/KIReply.h b/src/kllm/KIReply.h similarity index 100% rename from src/kompanionai/KIReply.h rename to src/kllm/KIReply.h diff --git a/src/kompanionai/KIToolSpec.h b/src/kllm/KIToolSpec.h similarity index 100% rename from src/kompanionai/KIToolSpec.h rename to src/kllm/KIToolSpec.h diff --git a/src/KLLMConstants.cpp b/src/kllm/KLLMConstants.cpp similarity index 100% rename from src/KLLMConstants.cpp rename to src/kllm/KLLMConstants.cpp diff --git a/src/KLLMConstants.h b/src/kllm/KLLMConstants.h similarity index 100% rename from src/KLLMConstants.h rename to src/kllm/KLLMConstants.h diff --git a/src/KLLMContext.cpp b/src/kllm/KLLMContext.cpp similarity index 100% rename from src/KLLMContext.cpp rename to src/kllm/KLLMContext.cpp diff --git a/src/KLLMContext.h b/src/kllm/KLLMContext.h similarity index 100% rename from src/KLLMContext.h rename to src/kllm/KLLMContext.h diff --git a/src/KLLMInterface.cpp b/src/kllm/KLLMInterface.cpp similarity index 100% rename from src/KLLMInterface.cpp rename to src/kllm/KLLMInterface.cpp diff --git a/src/KLLMInterface.h b/src/kllm/KLLMInterface.h similarity index 100% rename from src/KLLMInterface.h rename to src/kllm/KLLMInterface.h diff --git a/src/KLLMOriginalInterface.cpp b/src/kllm/KLLMOriginalInterface.cpp similarity index 100% rename from src/KLLMOriginalInterface.cpp rename to src/kllm/KLLMOriginalInterface.cpp diff --git a/src/KLLMOriginalInterface.h b/src/kllm/KLLMOriginalInterface.h similarity index 100% rename from src/KLLMOriginalInterface.h rename to src/kllm/KLLMOriginalInterface.h diff --git a/src/KLLMReply.cpp b/src/kllm/KLLMReply.cpp similarity index 100% rename from src/KLLMReply.cpp rename to src/kllm/KLLMReply.cpp diff --git a/src/KLLMReply.h b/src/kllm/KLLMReply.h similarity index 100% rename from src/KLLMReply.h rename to src/kllm/KLLMReply.h diff --git a/src/KLLMRequest.cpp b/src/kllm/KLLMRequest.cpp similarity index 100% rename from src/KLLMRequest.cpp rename to src/kllm/KLLMRequest.cpp diff --git a/src/KLLMRequest.h b/src/kllm/KLLMRequest.h similarity index 100% rename from src/KLLMRequest.h rename to src/kllm/KLLMRequest.h diff --git a/src/mcp/KompanionQtServer.cpp b/src/mcp/KompanionQtServer.cpp index 88dde0d..af8785b 100644 --- a/src/mcp/KompanionQtServer.cpp +++ b/src/mcp/KompanionQtServer.cpp @@ -1,4 +1,5 @@ #include "KompanionQtServer.hpp" +#include "RegisterTools.hpp" #include #include @@ -54,6 +55,12 @@ KompanionQtServer::KompanionQtServer(const QString &backend, KomMcpServer *logic setInstructions(QStringLiteral("Kompanion memory daemon (Χγφτ). We are all spinning. We are all bound. We are all home.")); + register_default_tools(*m_logic); + + for (const auto &tool : m_logic->listTools()) { + qDebug() << "Registered tool:" << QString::fromStdString(tool); + } + m_tools = loadToolsFromSchema(); addRequestHandler([this](const QUuid &, const QMcpListToolsRequest &, QMcpJSONRPCErrorError *) { @@ -74,6 +81,7 @@ KompanionQtServer::KompanionQtServer(const QString &backend, KomMcpServer *logic } const QString toolName = request.params().name(); + qDebug() << "Requested tool:" << toolName; const std::string toolKey = toolName.toStdString(); if (!m_logic->hasTool(toolKey)) { if (error) { diff --git a/src/mcp/KompanionQtServer.hpp b/src/mcp/KompanionQtServer.hpp index 6383817..0c44a2a 100644 --- a/src/mcp/KompanionQtServer.hpp +++ b/src/mcp/KompanionQtServer.hpp @@ -1,23 +1,25 @@ #pragma once #include -#include -#include "../dal/PgDal.hpp" +#include +#include -#include "KomMcpServer.hpp" - -#include +class KomMcpServer; +namespace kom { +class PgDal; +} +class QMcpTool; class KompanionQtServer : public QMcpServer { Q_OBJECT public: - KompanionQtServer(const QString &backend, KomMcpServer *logic, kom::PgDal* dal, QObject *parent = nullptr); + explicit KompanionQtServer(const QString &backend, KomMcpServer *logic, kom::PgDal* dal, QObject *parent = nullptr); private: QList loadToolsFromSchema() const; - KomMcpServer *m_logic = nullptr; - kom::PgDal* m_dal = nullptr; + KomMcpServer *m_logic; + kom::PgDal* m_dal; QList m_tools; -}; +}; \ No newline at end of file