default.ts 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { BlockEnum } from '../../types'
  2. import type { NodeDefault } from '../../types'
  3. import { type ParameterExtractorNodeType, ReasoningModeType } from './types'
  4. import { ALL_CHAT_AVAILABLE_BLOCKS, ALL_COMPLETION_AVAILABLE_BLOCKS } from '@/app/components/workflow/constants'
  5. const i18nPrefix = 'workflow'
  6. const nodeDefault: NodeDefault<ParameterExtractorNodeType> = {
  7. defaultValue: {
  8. query: [],
  9. model: {
  10. provider: '',
  11. name: '',
  12. mode: 'chat',
  13. completion_params: {
  14. temperature: 0.7,
  15. },
  16. },
  17. reasoning_mode: ReasoningModeType.prompt,
  18. },
  19. getAvailablePrevNodes(isChatMode: boolean) {
  20. const nodes = isChatMode
  21. ? ALL_CHAT_AVAILABLE_BLOCKS
  22. : ALL_COMPLETION_AVAILABLE_BLOCKS.filter(type => type !== BlockEnum.End)
  23. return nodes
  24. },
  25. getAvailableNextNodes(isChatMode: boolean) {
  26. const nodes = isChatMode ? ALL_CHAT_AVAILABLE_BLOCKS : ALL_COMPLETION_AVAILABLE_BLOCKS
  27. return nodes
  28. },
  29. checkValid(payload: ParameterExtractorNodeType, t: any) {
  30. let errorMessages = ''
  31. if (!errorMessages && (!payload.query || payload.query.length === 0))
  32. errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.parameterExtractor.inputVar`) })
  33. if (!errorMessages && !payload.model.provider)
  34. errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.parameterExtractor.model`) })
  35. if (!errorMessages && (!payload.parameters || payload.parameters.length === 0))
  36. errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.parameterExtractor.extractParameters`) })
  37. if (!errorMessages) {
  38. payload.parameters.forEach((param) => {
  39. if (errorMessages)
  40. return
  41. if (!param.name) {
  42. errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.parameterExtractor.addExtractParameterContent.namePlaceholder`) })
  43. return
  44. }
  45. if (!param.type) {
  46. errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.parameterExtractor.addExtractParameterContent.typePlaceholder`) })
  47. return
  48. }
  49. if (!param.description)
  50. errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.parameterExtractor.addExtractParameterContent.descriptionPlaceholder`) })
  51. })
  52. }
  53. return {
  54. isValid: !errorMessages,
  55. errorMessage: errorMessages,
  56. }
  57. },
  58. }
  59. export default nodeDefault