feat: LM Studio response API and Ollama OpenAI API

This commit is contained in:
Petr Mironychev
2026-04-23 03:26:52 +02:00
parent 7a551ed384
commit 25c4d5f185
19 changed files with 423 additions and 72 deletions

View File

@@ -0,0 +1,29 @@
// Copyright (C) 2024-2026 Petr Mironychev
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include <QHash>
#include <QString>
namespace QodeAssist::Settings {
// Maps legacy provider names (used before multi-API providers were introduced
// with parenthetical suffixes) to their current canonical names. Returns the
// input unchanged if it is not a known legacy name.
inline QString migrateProviderName(const QString &oldName)
{
static const QHash<QString, QString> renames{
{QStringLiteral("Ollama"), QStringLiteral("Ollama (Native)")},
{QStringLiteral("Ollama Compatible"), QStringLiteral("Ollama (OpenAI-compatible)")},
{QStringLiteral("OpenAI"), QStringLiteral("OpenAI (Chat Completions)")},
{QStringLiteral("OpenAI Responses"), QStringLiteral("OpenAI (Responses API)")},
{QStringLiteral("LM Studio"), QStringLiteral("LM Studio (Chat Completions)")},
{QStringLiteral("LM Studio Responses"), QStringLiteral("LM Studio (Responses API)")},
};
const auto it = renames.constFind(oldName);
return it != renames.constEnd() ? it.value() : oldName;
}
} // namespace QodeAssist::Settings