ai-chatbot/lib/canvas/reference-image-policy.ts

16 lines
606 B
TypeScript

// HEAD/Range probes are advisory. Dropping an image changes numbered roles in
// a multi-image edit and must never turn a two-image replacement into one image.
export function selectCanvasReferenceImages(params: {
requested: string[];
reachable: string[];
requiredCount?: number;
}) {
if (params.requiredCount) {
if (params.requested.length !== params.requiredCount) {
throw new Error(`此编辑任务必须提供 ${params.requiredCount} 张不同的完整参考图`);
}
return [...params.requested];
}
return params.reachable.length ? params.reachable : params.requested;
}