Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

index.ts 2.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import type { RAGPipelineVariables } from '@/models/pipeline'
  2. import type { StateCreator } from 'zustand'
  3. import type {
  4. ToolWithProvider,
  5. } from '@/app/components/workflow/types'
  6. import type { DataSourceItem } from '@/app/components/workflow/block-selector/types'
  7. import { transformDataSourceToTool } from '@/app/components/workflow/block-selector/utils'
  8. import type { IconInfo } from '@/models/datasets'
  9. import type { InputFieldEditorProps } from '../components/panel/input-field/editor'
  10. export type RagPipelineSliceShape = {
  11. pipelineId: string
  12. knowledgeName: string
  13. knowledgeIcon?: IconInfo
  14. showInputFieldPanel: boolean
  15. setShowInputFieldPanel: (showInputFieldPanel: boolean) => void
  16. showInputFieldPreviewPanel: boolean
  17. setShowInputFieldPreviewPanel: (showInputFieldPreviewPanel: boolean) => void
  18. inputFieldEditPanelProps: InputFieldEditorProps | null
  19. setInputFieldEditPanelProps: (showInputFieldEditPanel: InputFieldEditorProps | null) => void
  20. nodesDefaultConfigs: Record<string, any>
  21. setNodesDefaultConfigs: (nodesDefaultConfigs: Record<string, any>) => void
  22. ragPipelineVariables: RAGPipelineVariables
  23. setRagPipelineVariables: (ragPipelineVariables: RAGPipelineVariables) => void
  24. dataSourceList: ToolWithProvider[]
  25. setDataSourceList: (dataSourceList: DataSourceItem[]) => void
  26. isPreparingDataSource: boolean
  27. setIsPreparingDataSource: (isPreparingDataSource: boolean) => void
  28. }
  29. export type CreateRagPipelineSliceSlice = StateCreator<RagPipelineSliceShape>
  30. export const createRagPipelineSliceSlice: StateCreator<RagPipelineSliceShape> = set => ({
  31. pipelineId: '',
  32. knowledgeName: '',
  33. showInputFieldPanel: false,
  34. setShowInputFieldPanel: showInputFieldPanel => set(() => ({ showInputFieldPanel })),
  35. showInputFieldPreviewPanel: false,
  36. setShowInputFieldPreviewPanel: showInputFieldPreviewPanel => set(() => ({ showInputFieldPreviewPanel })),
  37. inputFieldEditPanelProps: null,
  38. setInputFieldEditPanelProps: inputFieldEditPanelProps => set(() => ({ inputFieldEditPanelProps })),
  39. nodesDefaultConfigs: {},
  40. setNodesDefaultConfigs: nodesDefaultConfigs => set(() => ({ nodesDefaultConfigs })),
  41. ragPipelineVariables: [],
  42. setRagPipelineVariables: (ragPipelineVariables: RAGPipelineVariables) => set(() => ({ ragPipelineVariables })),
  43. dataSourceList: [],
  44. setDataSourceList: (dataSourceList: DataSourceItem[]) => {
  45. const formattedDataSourceList = dataSourceList.map(item => transformDataSourceToTool(item))
  46. set(() => ({ dataSourceList: formattedDataSourceList }))
  47. },
  48. isPreparingDataSource: false,
  49. setIsPreparingDataSource: isPreparingDataSource => set(() => ({ isPreparingDataSource })),
  50. })