修正草稿文本把附件引用误回读成 $名称的问题
- apps/ai-game-creator-shell/src/features/project-workspace/ResourceReferenceInput.tsx 的 readDraftFromNodes 改为按 part.type 显式分支:附件引用回读为 @名称,技能引用回读为 $名称,未知类型返回空串 - 该 text 会被受控同步比较(对照 directCodexContentToPromptText 展开的 value),附件口径不一致会让受控输入区每次都判定草稿变化而重建编辑器 - 顺带去掉该处嵌套三元,与 resourceReferences.ts 的渲染口径对齐
This commit is contained in:
+11
-9
@@ -275,15 +275,17 @@ function readDraftFromNodes(): ChatComposerDraft {
|
||||
]),
|
||||
);
|
||||
const text = projection.content
|
||||
.map((part) =>
|
||||
part.type === 'input_text'
|
||||
? part.text
|
||||
: part.type === 'agc_resource_reference'
|
||||
? (labels.get(part.resourceId) ?? `@${part.resourceId}`)
|
||||
: part.type === 'agc_runtime_region_reference'
|
||||
? `@${part.label}`
|
||||
: `$${part.name}`,
|
||||
)
|
||||
// 与 directCodexContentToPromptText 保持同一口径:附件引用是 `@名称`,不是 `$名称`。
|
||||
.map((part) => {
|
||||
if (part.type === 'input_text') return part.text;
|
||||
if (part.type === 'agc_resource_reference') {
|
||||
return labels.get(part.resourceId) ?? `@${part.resourceId}`;
|
||||
}
|
||||
if (part.type === 'agc_runtime_region_reference') return `@${part.label}`;
|
||||
if (part.type === 'agc_attachment_reference') return `@${part.name}`;
|
||||
if (part.type === 'agc_skill_reference') return `$${part.name}`;
|
||||
return '';
|
||||
})
|
||||
.join('')
|
||||
.trim();
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user