feat: enhance CommandCode integration with improved message handling

This commit is contained in:
decolua
2026-05-07 23:02:07 +07:00
parent b72a443bd3
commit ad661c1286
5 changed files with 446 additions and 23 deletions

View File

@@ -2,7 +2,8 @@ import { NextResponse } from "next/server";
import { getProviderNodeById } from "@/models";
import { isOpenAICompatibleProvider, isAnthropicCompatibleProvider, isCustomEmbeddingProvider, AI_PROVIDERS } from "@/shared/constants/providers";
import { getDefaultModel } from "open-sse/config/providerModels.js";
import { resolveOllamaLocalHost } from "open-sse/config/providers.js";
import { resolveOllamaLocalHost, PROVIDERS } from "open-sse/config/providers.js";
import { openaiToCommandCode } from "open-sse/translator/request/openai-to-commandcode.js";
import { PROVIDER_ENDPOINTS } from "@/shared/constants/config";
// Probe a webSearch/webFetch provider using its searchConfig/fetchConfig.
@@ -413,6 +414,28 @@ export async function POST(request) {
break;
}
case "commandcode": {
const cfg = PROVIDERS.commandcode;
const model = getDefaultModel("commandcode");
const payload = openaiToCommandCode(model, {
messages: [{ role: "user", content: "ping" }],
max_tokens: 1,
stream: false,
}, false);
const res = await fetch(cfg.baseUrl, {
method: "POST",
headers: {
"Content-Type": "application/json",
...(cfg.headers || {}),
"x-session-id": crypto.randomUUID(),
"Authorization": `Bearer ${apiKey}`,
},
body: JSON.stringify(payload),
});
isValid = res.status !== 401 && res.status !== 403;
break;
}
case "deepgram": {
const res = await fetch("https://api.deepgram.com/v1/projects", {
headers: { "Authorization": `Token ${apiKey}` },