refactor: generalize provider transport hooks

This commit is contained in:
Peter Steinberger
2026-03-29 23:05:18 +09:00
parent 8109195ad8
commit edc58a6864
12 changed files with 396 additions and 95 deletions

View File

@@ -13,7 +13,6 @@ import {
createOpenRouterWrapper,
isProxyReasoningUnsupported,
} from "openclaw/plugin-sdk/provider-stream";
import { applyXaiModelCompat } from "openclaw/plugin-sdk/xai";
import { openrouterMediaUnderstandingProvider } from "./media-understanding-provider.js";
import { applyOpenrouterConfig, OPENROUTER_DEFAULT_MODEL_REF } from "./onboard.js";
import { buildOpenrouterProvider } from "./provider-catalog.js";
@@ -75,10 +74,6 @@ function isOpenRouterCacheTtlModel(modelId: string): boolean {
return OPENROUTER_CACHE_TTL_MODEL_PREFIXES.some((prefix) => modelId.startsWith(prefix));
}
function isXaiOpenRouterModel(modelId: string): boolean {
return modelId.trim().toLowerCase().startsWith("x-ai/");
}
export default definePluginEntry({
id: "openrouter",
name: "OpenRouter Provider",
@@ -135,8 +130,6 @@ export default definePluginEntry({
geminiThoughtSignatureSanitization: true,
geminiThoughtSignatureModelHints: ["gemini"],
},
normalizeResolvedModel: ({ modelId, model }) =>
isXaiOpenRouterModel(modelId) ? applyXaiModelCompat(model) : undefined,
isModernModelRef: () => true,
wrapStreamFn: (ctx) => {
let streamFn = ctx.streamFn;