fix(telegram): lazy-load sticker vision model lookup

This commit is contained in:
Vincent Koc
2026-03-31 21:29:57 +09:00
parent dba96e7507
commit b19e28a85e
3 changed files with 26 additions and 16 deletions

View File

@@ -1,9 +1,3 @@
import {
findModelInCatalog,
loadModelCatalog,
modelSupportsVision,
} from "openclaw/plugin-sdk/agent-runtime";
import { resolveDefaultModelForAgent } from "openclaw/plugin-sdk/agent-runtime";
import {
buildMentionRegexes,
formatLocationText,
@@ -62,16 +56,8 @@ async function resolveStickerVisionSupport(params: {
agentId?: string;
}): Promise<boolean> {
try {
const catalog = await loadModelCatalog({ config: params.cfg });
const defaultModel = resolveDefaultModelForAgent({
cfg: params.cfg,
agentId: params.agentId,
});
const entry = findModelInCatalog(catalog, defaultModel.provider, defaultModel.model);
if (!entry) {
return false;
}
return modelSupportsVision(entry);
const { resolveStickerVisionSupportRuntime } = await import("./sticker-vision.runtime.js");
return await resolveStickerVisionSupportRuntime(params);
} catch {
return false;
}

View File

@@ -78,6 +78,7 @@ export type TelegramMessageContext = {
statusReactionController: StatusReactionController | null;
accountId: string;
};
export const buildTelegramMessageContext = async ({
primaryCtx,
allMedia,

View File

@@ -0,0 +1,23 @@
import {
findModelInCatalog,
loadModelCatalog,
modelSupportsVision,
resolveDefaultModelForAgent,
} from "openclaw/plugin-sdk/agent-runtime";
import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime";
export async function resolveStickerVisionSupportRuntime(params: {
cfg: OpenClawConfig;
agentId?: string;
}): Promise<boolean> {
const catalog = await loadModelCatalog({ config: params.cfg });
const defaultModel = resolveDefaultModelForAgent({
cfg: params.cfg,
agentId: params.agentId,
});
const entry = findModelInCatalog(catalog, defaultModel.provider, defaultModel.model);
if (!entry) {
return false;
}
return modelSupportsVision(entry);
}