| 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														import ProcessDocuments from './process-documents' | 
														 | 
														 | 
														import ProcessDocuments from './process-documents' | 
													
													
												
													
														 | 
														 | 
														import LeftHeader from './left-header' | 
														 | 
														 | 
														import LeftHeader from './left-header' | 
													
													
												
													
														 | 
														 | 
														import { usePipelineExecutionLog, useRunPublishedPipeline } from '@/service/use-pipeline' | 
														 | 
														 | 
														import { usePipelineExecutionLog, useRunPublishedPipeline } from '@/service/use-pipeline' | 
													
													
												
													
														 | 
														 | 
														import type { PublishedPipelineRunPreviewResponse } from '@/models/pipeline' | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														import { DatasourceType } from '@/models/pipeline' | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														import type { OnlineDriveFile, PublishedPipelineRunPreviewResponse } from '@/models/pipeline' | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														import { DatasourceType, OnlineDriveFileType } from '@/models/pipeline' | 
													
													
												
													
														 | 
														 | 
														import { noop } from 'lodash-es' | 
														 | 
														 | 
														import { noop } from 'lodash-es' | 
													
													
												
													
														 | 
														 | 
														import { useDatasetDetailContextWithSelector } from '@/context/dataset-detail' | 
														 | 
														 | 
														import { useDatasetDetailContextWithSelector } from '@/context/dataset-detail' | 
													
													
												
													
														 | 
														 | 
														import { useRouter } from 'next/navigation' | 
														 | 
														 | 
														import { useRouter } from 'next/navigation' | 
													
													
												
													
														 | 
														 | 
														import { useInvalidDocumentDetail, useInvalidDocumentList } from '@/service/knowledge/use-document' | 
														 | 
														 | 
														import { useInvalidDocumentDetail, useInvalidDocumentList } from '@/service/knowledge/use-document' | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														import { isFile } from '../../../create-from-pipeline/data-source/online-drive/utils' | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														type PipelineSettingsProps = { | 
														 | 
														 | 
														type PipelineSettingsProps = { | 
													
													
												
													
														 | 
														 | 
														  datasetId: string | 
														 | 
														 | 
														  datasetId: string | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    return onlineDocuments | 
														 | 
														 | 
														    return onlineDocuments | 
													
													
												
													
														 | 
														 | 
														  }, [lastRunData]) | 
														 | 
														 | 
														  }, [lastRunData]) | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														  const onlineDriveFiles = useMemo(() => { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    const onlineDriveFiles: OnlineDriveFile[] = [] | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    if (lastRunData?.datasource_type === DatasourceType.onlineDrive) { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														      const { key } = lastRunData.datasource_info | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														      const isFileType = isFile(key) | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														      const filePathList = key.split('/') | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														      onlineDriveFiles.push({ | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														        key, | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														        displayName: `${isFileType ? filePathList.pop() : filePathList[filePathList.length - 2]}${isFileType ? '' : '/'}`, | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														        type: isFileType ? OnlineDriveFileType.file : OnlineDriveFileType.folder, | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														      }) | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    } | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    return onlineDriveFiles | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														  }, [lastRunData]) | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														  const { mutateAsync: runPublishedPipeline, isIdle, isPending } = useRunPublishedPipeline() | 
														 | 
														 | 
														  const { mutateAsync: runPublishedPipeline, isIdle, isPending } = useRunPublishedPipeline() | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														  const handlePreviewChunks = useCallback(async (data: Record<string, any>) => { | 
														 | 
														 | 
														  const handlePreviewChunks = useCallback(async (data: Record<string, any>) => { | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														      onSuccess: () => { | 
														 | 
														 | 
														      onSuccess: () => { | 
													
													
												
													
														 | 
														 | 
														        invalidDocumentList() | 
														 | 
														 | 
														        invalidDocumentList() | 
													
													
												
													
														 | 
														 | 
														        invalidDocumentDetail() | 
														 | 
														 | 
														        invalidDocumentDetail() | 
													
													
												
													
														 | 
														 | 
														        push(`/datasets/${datasetId}/documents/${documentId}`) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														        push(`/datasets/${datasetId}/documents`) | 
													
													
												
													
														 | 
														 | 
														      }, | 
														 | 
														 | 
														      }, | 
													
													
												
													
														 | 
														 | 
														    }) | 
														 | 
														 | 
														    }) | 
													
													
												
													
														 | 
														 | 
														  }, [datasetId, documentId, invalidDocumentDetail, invalidDocumentList, lastRunData, pipelineId, push, runPublishedPipeline]) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														  }, [datasetId, invalidDocumentDetail, invalidDocumentList, lastRunData, pipelineId, push, runPublishedPipeline]) | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														  const onClickProcess = useCallback(() => { | 
														 | 
														 | 
														  const onClickProcess = useCallback(() => { | 
													
													
												
													
														 | 
														 | 
														    isPreview.current = false | 
														 | 
														 | 
														    isPreview.current = false | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														              onProcess={onClickProcess} | 
														 | 
														 | 
														              onProcess={onClickProcess} | 
													
													
												
													
														 | 
														 | 
														              onPreview={onClickPreview} | 
														 | 
														 | 
														              onPreview={onClickPreview} | 
													
													
												
													
														 | 
														 | 
														              onSubmit={handleSubmit} | 
														 | 
														 | 
														              onSubmit={handleSubmit} | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              isRunning={isPending} | 
													
													
												
													
														 | 
														 | 
														            /> | 
														 | 
														 | 
														            /> | 
													
													
												
													
														 | 
														 | 
														          </div> | 
														 | 
														 | 
														          </div> | 
													
													
												
													
														 | 
														 | 
														        </div> | 
														 | 
														 | 
														        </div> | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        <div className='flex h-full flex-col pl-2 pt-2'> | 
														 | 
														 | 
														        <div className='flex h-full flex-col pl-2 pt-2'> | 
													
													
												
													
														 | 
														 | 
														          <ChunkPreview | 
														 | 
														 | 
														          <ChunkPreview | 
													
													
												
													
														 | 
														 | 
														            dataSourceType={lastRunData!.datasource_type} | 
														 | 
														 | 
														            dataSourceType={lastRunData!.datasource_type} | 
													
													
												
													
														 | 
														 | 
														            files={files} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														            localFiles={files} | 
													
													
												
													
														 | 
														 | 
														            onlineDocuments={onlineDocuments} | 
														 | 
														 | 
														            onlineDocuments={onlineDocuments} | 
													
													
												
													
														 | 
														 | 
														            websitePages={websitePages} | 
														 | 
														 | 
														            websitePages={websitePages} | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														            onlineDriveFiles={onlineDriveFiles} | 
													
													
												
													
														 | 
														 | 
														            isIdle={isIdle} | 
														 | 
														 | 
														            isIdle={isIdle} | 
													
													
												
													
														 | 
														 | 
														            isPending={isPending && isPreview.current} | 
														 | 
														 | 
														            isPending={isPending && isPreview.current} | 
													
													
												
													
														 | 
														 | 
														            estimateData={estimateData} | 
														 | 
														 | 
														            estimateData={estimateData} | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														            handlePreviewFileChange={noop} | 
														 | 
														 | 
														            handlePreviewFileChange={noop} | 
													
													
												
													
														 | 
														 | 
														            handlePreviewOnlineDocumentChange={noop} | 
														 | 
														 | 
														            handlePreviewOnlineDocumentChange={noop} | 
													
													
												
													
														 | 
														 | 
														            handlePreviewWebsitePageChange={noop} | 
														 | 
														 | 
														            handlePreviewWebsitePageChange={noop} | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														            handlePreviewOnlineDriveFileChange={noop} | 
													
													
												
													
														 | 
														 | 
														          /> | 
														 | 
														 | 
														          /> | 
													
													
												
													
														 | 
														 | 
														        </div> | 
														 | 
														 | 
														        </div> | 
													
													
												
													
														 | 
														 | 
														      </div> | 
														 | 
														 | 
														      </div> |