Преглед на файлове

fix(datasource): load default fileExtensions for file node earlier

tags/2.0.0-beta.2
kurokobo преди 2 месеца
родител
ревизия
1f10c1f474

+ 22
- 0
web/app/components/workflow/block-selector/constants.tsx Целия файл

BlockClassificationEnum.Transform, BlockClassificationEnum.Transform,
BlockClassificationEnum.Utilities, BlockClassificationEnum.Utilities,
] ]

export const DEFAULT_FILE_EXTENSIONS_IN_LOCAL_FILE_DATA_SOURCE = [
'txt',
'markdown',
'mdx',
'pdf',
'html',
'xlsx',
'xls',
'vtt',
'properties',
'doc',
'docx',
'csv',
'eml',
'msg',
'pptx',
'xml',
'epub',
'ppt',
'md',
]

+ 12
- 3
web/app/components/workflow/block-selector/data-sources.tsx Целия файл

OnSelectBlock, OnSelectBlock,
ToolWithProvider, ToolWithProvider,
} from '../types' } from '../types'
import type { ToolDefaultValue } from './types'
import type { DataSourceDefaultValue, ToolDefaultValue } from './types'
import Tools from './tools' import Tools from './tools'
import { ViewType } from './view-type-select' import { ViewType } from './view-type-select'
import cn from '@/utils/classnames' import cn from '@/utils/classnames'
import type { ListRef } from '@/app/components/workflow/block-selector/market-place-plugin/list' import type { ListRef } from '@/app/components/workflow/block-selector/market-place-plugin/list'
import { getMarketplaceUrl } from '@/utils/var' import { getMarketplaceUrl } from '@/utils/var'
import { useGlobalPublicStore } from '@/context/global-public-context' import { useGlobalPublicStore } from '@/context/global-public-context'
import { DEFAULT_FILE_EXTENSIONS_IN_LOCAL_FILE_DATA_SOURCE } from './constants'


type AllToolsProps = { type AllToolsProps = {
className?: string className?: string
const pluginRef = useRef<ListRef>(null) const pluginRef = useRef<ListRef>(null)
const wrapElemRef = useRef<HTMLDivElement>(null) const wrapElemRef = useRef<HTMLDivElement>(null)
const handleSelect = useCallback((_: any, toolDefaultValue: ToolDefaultValue) => { const handleSelect = useCallback((_: any, toolDefaultValue: ToolDefaultValue) => {
onSelect(BlockEnum.DataSource, toolDefaultValue && {
let defaultValue: DataSourceDefaultValue = {
plugin_id: toolDefaultValue?.provider_id, plugin_id: toolDefaultValue?.provider_id,
provider_type: toolDefaultValue?.provider_type, provider_type: toolDefaultValue?.provider_type,
provider_name: toolDefaultValue?.provider_name, provider_name: toolDefaultValue?.provider_name,
datasource_name: toolDefaultValue?.tool_name, datasource_name: toolDefaultValue?.tool_name,
datasource_label: toolDefaultValue?.tool_label, datasource_label: toolDefaultValue?.tool_label,
title: toolDefaultValue?.title, title: toolDefaultValue?.title,
})
}
// Update defaultValue with fileExtensions if this is the local file data source
if (toolDefaultValue?.provider_id === 'langgenius/file' && toolDefaultValue?.provider_name === 'file') {
defaultValue = {
...defaultValue,
fileExtensions: DEFAULT_FILE_EXTENSIONS_IN_LOCAL_FILE_DATA_SOURCE,
}
}
onSelect(BlockEnum.DataSource, toolDefaultValue && defaultValue)
}, [onSelect]) }, [onSelect])
const { enable_marketplace } = useGlobalPublicStore(s => s.systemFeatures) const { enable_marketplace } = useGlobalPublicStore(s => s.systemFeatures)



+ 1
- 0
web/app/components/workflow/block-selector/types.ts Целия файл

datasource_name: string datasource_name: string
datasource_label: string datasource_label: string
title: string title: string
fileExtensions?: string[]
} }


export type ToolValue = { export type ToolValue = {

+ 0
- 22
web/app/components/workflow/nodes/data-source/constants.ts Целия файл

import { VarType } from '@/app/components/workflow/types' import { VarType } from '@/app/components/workflow/types'


export const DEFAULT_FILE_EXTENSIONS_IN_LOCAL_FILE_DATA_SOURCE = [
'txt',
'markdown',
'mdx',
'pdf',
'html',
'xlsx',
'xls',
'vtt',
'properties',
'doc',
'docx',
'csv',
'eml',
'msg',
'pptx',
'xml',
'epub',
'ppt',
'md',
]

export const COMMON_OUTPUT = [ export const COMMON_OUTPUT = [
{ {
name: 'datasource_type', name: 'datasource_type',

+ 0
- 2
web/app/components/workflow/nodes/data-source/hooks/use-config.ts Целия файл

DataSourceNodeType, DataSourceNodeType,
ToolVarInputs, ToolVarInputs,
} from '../types' } from '../types'
import { DEFAULT_FILE_EXTENSIONS_IN_LOCAL_FILE_DATA_SOURCE } from '../constants'


export const useConfig = (id: string, dataSourceList?: any[]) => { export const useConfig = (id: string, dataSourceList?: any[]) => {
const store = useStoreApi() const store = useStoreApi()
handleNodeDataUpdate({ handleNodeDataUpdate({
...nodeData.data, ...nodeData.data,
_dataSourceStartToAdd: false, _dataSourceStartToAdd: false,
fileExtensions: DEFAULT_FILE_EXTENSIONS_IN_LOCAL_FILE_DATA_SOURCE,
}) })
} }
}, [getNodeData, handleNodeDataUpdate]) }, [getNodeData, handleNodeDataUpdate])

Loading…
Отказ
Запис