dify/web/features/agent-v2/agent-composer/store-modules/files.ts
盐粒 Yanli 52c106b532
feat(agent-v2): sync nightly updates to main (2026-06-25) (#37915)
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: Yansong Zhang <916125788@qq.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-06-26 13:13:35 +00:00

25 lines
838 B
TypeScript

import type { AgentFileNode } from '../form-state'
import type { DraftFieldUpdate } from './utils'
import { atom } from 'jotai'
import { syncFileReferenceLabels } from '../reference-labels'
import { agentComposerDraftAtom } from '../store'
import { resolveDraftFieldUpdate } from './utils'
export const agentComposerFilesAtom = atom<AgentFileNode[], [DraftFieldUpdate<AgentFileNode[]>], void>(
get => get(agentComposerDraftAtom).files,
(get, set, filesUpdate: DraftFieldUpdate<AgentFileNode[]>) => {
const draft = get(agentComposerDraftAtom)
const files = resolveDraftFieldUpdate(draft.files, filesUpdate)
set(agentComposerDraftAtom, {
...draft,
prompt: syncFileReferenceLabels({
prompt: draft.prompt,
currentFiles: draft.files,
nextFiles: files,
}),
files,
})
},
)