修正草稿文本把附件引用误回读成 $名称的问题

- apps/ai-game-creator-shell/src/features/project-workspace/ResourceReferenceInput.tsx 的 readDraftFromNodes 改为按 part.type 显式分支:附件引用回读为 @名称,技能引用回读为 $名称,未知类型返回空串
- 该 text 会被受控同步比较(对照 directCodexContentToPromptText 展开的 value),附件口径不一致会让受控输入区每次都判定草稿变化而重建编辑器
- 顺带去掉该处嵌套三元,与 resourceReferences.ts 的渲染口径对齐
This commit is contained in:
2026-09-19 23:05:34 +08:00
parent e259106267
commit 37c7477068
@@ -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 {