feat: prompt res
parent
98c70ff86d
commit
525e64467d
@ -0,0 +1,55 @@
|
|||||||
|
'use client'
|
||||||
|
import useAvailableVarList from '@/app/components/workflow/nodes/_base/hooks/use-available-var-list'
|
||||||
|
import type { FC } from 'react'
|
||||||
|
import React from 'react'
|
||||||
|
import PromptRes from './prompt-res'
|
||||||
|
import { Type } from '@/app/components/workflow/nodes/llm/types'
|
||||||
|
import { BlockEnum } from '@/app/components/workflow/types'
|
||||||
|
import { useTranslation } from 'react-i18next'
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
value: string
|
||||||
|
nodeId: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const PromptResInWorkflow: FC<Props> = ({
|
||||||
|
value,
|
||||||
|
nodeId,
|
||||||
|
}) => {
|
||||||
|
const { t } = useTranslation()
|
||||||
|
const {
|
||||||
|
availableVars,
|
||||||
|
availableNodes,
|
||||||
|
} = useAvailableVarList(nodeId, {
|
||||||
|
onlyLeafNodeVar: false,
|
||||||
|
filterVar: _payload => true,
|
||||||
|
})
|
||||||
|
return (
|
||||||
|
<PromptRes
|
||||||
|
value={value}
|
||||||
|
workflowVariableBlock={{
|
||||||
|
show: true,
|
||||||
|
variables: availableVars || [],
|
||||||
|
getVarType: () => Type.string,
|
||||||
|
workflowNodesMap: availableNodes.reduce((acc, node) => {
|
||||||
|
acc[node.id] = {
|
||||||
|
title: node.data.title,
|
||||||
|
type: node.data.type,
|
||||||
|
width: node.width,
|
||||||
|
height: node.height,
|
||||||
|
position: node.position,
|
||||||
|
}
|
||||||
|
if (node.data.type === BlockEnum.Start) {
|
||||||
|
acc.sys = {
|
||||||
|
title: t('workflow.blocks.start'),
|
||||||
|
type: BlockEnum.Start,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return acc
|
||||||
|
}, {} as any),
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
</PromptRes>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
export default React.memo(PromptResInWorkflow)
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
'use client'
|
||||||
|
import PromptEditor from '@/app/components/base/prompt-editor'
|
||||||
|
import type { WorkflowVariableBlockType } from '@/app/components/base/prompt-editor/types'
|
||||||
|
import type { FC } from 'react'
|
||||||
|
import React from 'react'
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
value: string
|
||||||
|
workflowVariableBlock: WorkflowVariableBlockType
|
||||||
|
}
|
||||||
|
|
||||||
|
const PromptRes: FC<Props> = ({
|
||||||
|
value,
|
||||||
|
workflowVariableBlock,
|
||||||
|
}) => {
|
||||||
|
return (
|
||||||
|
<PromptEditor
|
||||||
|
value={value}
|
||||||
|
editable={false}
|
||||||
|
className='h-full bg-transparent pt-0'
|
||||||
|
workflowVariableBlock={workflowVariableBlock}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
export default React.memo(PromptRes)
|
||||||
Loading…
Reference in New Issue