fix: update types and improve data handling in pipeline components

This commit is contained in:
twwu 2025-06-03 10:14:48 +08:00
parent 898495b5c4
commit 5fb771218c
4 changed files with 25 additions and 11 deletions

View File

@ -23,6 +23,7 @@ import WebsitePreview from './preview/web-preview'
import ProcessDocuments from './process-documents'
import ChunkPreview from './preview/chunk-preview'
import Processing from './processing'
import type { PublishedPipelineRunPreviewResponse } from '@/models/pipeline'
import { DatasourceType } from '@/models/pipeline'
import { TransferMethod } from '@/types/app'
import { useAddDocumentsSteps, useLocalFile, useNotionsPages, useWebsiteCrawl } from './hooks'
@ -137,7 +138,7 @@ const CreateFormPipeline = () => {
is_preview: true,
}, {
onSuccess: (res) => {
setEstimateData(res.data.outputs as FileIndexingEstimateResponse)
setEstimateData((res as PublishedPipelineRunPreviewResponse).data.outputs)
},
})
}, [datasource, pipelineId, previewFile, previewNotionPage, previewWebsitePage, runPublishedPipeline, websiteCrawlJobId])
@ -187,7 +188,8 @@ const CreateFormPipeline = () => {
datasource_info_list: datasourceInfoList,
is_preview: false,
}, {
onSuccess: () => {
onSuccess: (res) => {
console.log('🚀 ~ handleProcess ~ res:', res)
handleNextStep()
},
})
@ -332,8 +334,8 @@ const CreateFormPipeline = () => {
files={fileList.map(file => file.file)}
notionPages={notionPages}
websitePages={websitePages}
isIdle={isIdle}
isPending={isPending}
isIdle={isIdle && isPreview.current}
isPending={isPending && isPreview.current}
estimateData={estimateData}
onPreview={onClickPreview}
handlePreviewFileChange={handlePreviewFileChange}

View File

@ -29,7 +29,7 @@ export const createRagPipelineSliceSlice: StateCreator<RagPipelineSliceShape> =
setRagPipelineVariables: (ragPipelineVariables: RAGPipelineVariables) => set(() => ({ ragPipelineVariables })),
dataSourceList: [],
setDataSourceList: (dataSourceList: DataSourceItem[]) => {
const formatedDataSourceList = dataSourceList.map(item => transformDataSourceToTool(item))
set(() => ({ dataSourceList: formatedDataSourceList }))
const formattedDataSourceList = dataSourceList.map(item => transformDataSourceToTool(item))
set(() => ({ dataSourceList: formattedDataSourceList }))
},
})

View File

@ -1,6 +1,6 @@
import type { Edge, EnvironmentVariable, Node, SupportUploadFileTypes } from '@/app/components/workflow/types'
import type { DSLImportMode, DSLImportStatus } from './app'
import type { ChunkingMode, DatasetPermission, IconInfo } from './datasets'
import type { ChunkingMode, DatasetPermission, FileIndexingEstimateResponse, IconInfo } from './datasets'
import type { Dependency } from '@/app/components/plugins/types'
import type { AppIconSelection } from '@/app/components/base/app-icon-picker'
import type { Viewport } from 'reactflow'
@ -183,5 +183,14 @@ export type PublishedPipelineRunRequest = {
start_node_id: string
datasource_type: DatasourceType
datasource_info_list: Array<Record<string, any>>
is_preview?: boolean
is_preview: boolean
}
export type PublishedPipelineRunPreviewResponse = {
data: {
outputs: FileIndexingEstimateResponse
}
}
export type PublishedPipelineRunResponse = {
}

View File

@ -16,7 +16,9 @@ import type {
PipelineTemplateListParams,
PipelineTemplateListResponse,
PublishedPipelineInfoResponse,
PublishedPipelineRunPreviewResponse,
PublishedPipelineRunRequest,
PublishedPipelineRunResponse,
UpdateTemplateInfoRequest,
UpdateTemplateInfoResponse,
} from '@/models/pipeline'
@ -187,15 +189,16 @@ export const usePublishedPipelineInfo = (pipelineId: string) => {
}
export const useRunPublishedPipeline = (
mutationOptions: MutationOptions<any, Error, PublishedPipelineRunRequest> = {},
mutationOptions: MutationOptions<PublishedPipelineRunPreviewResponse | PublishedPipelineRunResponse, Error, PublishedPipelineRunRequest> = {},
) => {
return useMutation({
mutationKey: [NAME_SPACE, 'run-published-pipeline'],
mutationFn: (request: PublishedPipelineRunRequest) => {
const { pipeline_id: pipelineId, ...rest } = request
return post<PublishedPipelineInfoResponse>(`/rag/pipelines/${pipelineId}/workflows/published/run`, {
const { pipeline_id: pipelineId, is_preview, ...rest } = request
return post<PublishedPipelineRunPreviewResponse | PublishedPipelineRunRequest>(`/rag/pipelines/${pipelineId}/workflows/published/run`, {
body: {
...rest,
is_preview,
response_mode: 'blocking',
},
})