ai-chatbot/lib/ai/runtime/direct-agent-response-builders.ts
Your Name dfc5f704b4
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
chore: sync latest app updates
2026-04-12 23:45:00 +08:00

79 lines
2.0 KiB
TypeScript

import {
buildAgentToolImageMarkdown,
buildAgentToolVideoMarkdown,
prependImageModelBadge,
} from "@/lib/ai/runtime/agent-media-markdown";
import {
getDirectAgentToolLabel,
getDirectAgentToolSuccessMessage,
type DirectAgentToolCapability,
} from "@/lib/ai/runtime/direct-agent-execution";
export function buildDirectAgentAnalysisAssistantText(params: {
summary: string;
answer?: string | null;
}) {
const answer = String(params.answer || "").trim();
return prependImageModelBadge(
[
getDirectAgentToolSuccessMessage("analyze"),
`图像观察:\n${String(params.summary || "").trim()}`,
answer ? `分析结论:\n${answer}` : "",
]
.filter(Boolean)
.join("\n\n"),
getDirectAgentToolLabel("analyze"),
);
}
export function buildDirectAgentImageGenerationAssistantText(params: {
imageMarkdown: string;
modelDisplayName?: string | null;
}) {
return prependImageModelBadge(
[
getDirectAgentToolSuccessMessage("generate_image"),
params.imageMarkdown,
]
.filter(Boolean)
.join("\n\n"),
params.modelDisplayName,
);
}
export function buildDirectAgentVideoGenerationAssistantText(params: {
videoUrl: string;
modelDisplayName?: string | null;
}) {
return prependImageModelBadge(
[
getDirectAgentToolSuccessMessage("generate_video"),
buildAgentToolVideoMarkdown(params.videoUrl),
]
.filter(Boolean)
.join("\n\n"),
params.modelDisplayName,
);
}
export function buildDirectAgentImageEditAssistantText(params: {
capability: DirectAgentToolCapability;
originalUrl: string;
thumbnailUrl?: string | null;
imageSize?: string;
}) {
return prependImageModelBadge(
[
getDirectAgentToolSuccessMessage(params.capability),
buildAgentToolImageMarkdown({
originalUrl: params.originalUrl,
thumbnailUrl: params.thumbnailUrl,
imageSize: params.imageSize,
}),
]
.filter(Boolean)
.join("\n\n"),
getDirectAgentToolLabel(params.capability),
);
}