refactor(deliverables): reuse the chain claim test for the mention vocabulary

This commit is contained in:
ZiyaZhang
2026-08-07 05:00:47 -07:00
parent fe505e1e91
commit 7ef39dc4b0
@@ -12,7 +12,7 @@ import type { ChatFileMentions } from '@deepseek-ai/dsh-client-ui-conversation/c
import type {} from '@deepseek-ai/dsh-client-locale/client'
import { ProducedFiles } from './ProducedFiles.tsx'
import { en, NS, zh, type DeliverablesKey } from './locales.ts'
import { producedFileMentions, producedForClosing, selectProducedFiles } from './turn-deliverables.ts'
import { producedFileMentions, selectProducedFiles } from './turn-deliverables.ts'
declare module '@deepseek-ai/dsh-client-ui-slots' {
interface LocaleNamespaceMap {
@@ -46,8 +46,10 @@ export function apply(ctx: ClientContext): void {
const t = ctx.locale.bind(NS)
const mentions: ChatFileMentions = {
forClosing(owner) {
const paths = producedForClosing(owner.nodes, owner.seq)
if (paths.length === 0) return undefined
// Same claim test the turn-tail chain entry runs: no produced files,
// no vocabulary — the two surfaces agree by construction.
const paths = selectProducedFiles(owner)
if (paths === null) return undefined
return producedFileMentions(paths, owner.openFile, path => t('produced.open', { name: path }))
},
}