mirror of
https://github.com/langgenius/dify.git
synced 2026-08-01 09:50:50 +08:00
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>
25 lines
838 B
TypeScript
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,
|
|
})
|
|
},
|
|
)
|