修复旧版设计 Brief 媒介兼容
This commit is contained in:
@@ -36,7 +36,7 @@ import {
|
||||
type ServerBrief = {
|
||||
version: number;
|
||||
status: DesignBrief['status'];
|
||||
medium: DesignBrief['medium'];
|
||||
medium?: DesignBrief['medium'];
|
||||
summary: string;
|
||||
ready: boolean;
|
||||
missing_decision: string | null;
|
||||
@@ -219,10 +219,18 @@ const AGENT_RUN_TIMEOUT_MS = 10 * 60_000;
|
||||
const DESIGN_EVENT_DELIVERY_BARRIER_TIMEOUT_MS = 1_000;
|
||||
|
||||
function mapBrief(brief: ServerBrief): DesignBrief {
|
||||
const medium = brief.medium ?? null;
|
||||
if (medium !== null && medium !== 'image' && medium !== 'video') {
|
||||
throw new DesignWorkspaceModuleError(
|
||||
502,
|
||||
'DESIGN_WORKSPACE_RESPONSE_INVALID',
|
||||
'AI 设计服务返回了无效的媒介类型',
|
||||
);
|
||||
}
|
||||
return {
|
||||
version: brief.version,
|
||||
status: brief.status,
|
||||
medium: brief.medium,
|
||||
medium,
|
||||
summary: brief.summary,
|
||||
ready: brief.ready,
|
||||
missingDecision: brief.missing_decision,
|
||||
@@ -357,7 +365,10 @@ function isServerConversation(value: unknown): value is ServerConversation {
|
||||
&& Boolean(brief)
|
||||
&& Number.isInteger(brief?.version)
|
||||
&& ['draft', 'ready', 'confirmed'].includes(String(brief?.status))
|
||||
&& (brief?.medium === null || brief?.medium === 'image' || brief?.medium === 'video')
|
||||
&& (brief?.medium === undefined
|
||||
|| brief.medium === null
|
||||
|| brief.medium === 'image'
|
||||
|| brief.medium === 'video')
|
||||
&& typeof brief?.summary === 'string'
|
||||
&& typeof brief?.ready === 'boolean'
|
||||
&& (brief?.missing_decision === null || typeof brief?.missing_decision === 'string')
|
||||
|
||||
Reference in New Issue
Block a user