feat: Enhance InputFieldDialog and workflow hooks to handle ragPipelineVariables

pull/21398/head
twwu 12 months ago
parent 5bb02c79cc
commit 4c30d1c1eb

@ -95,6 +95,8 @@ const InputFieldDialog = ({
{ {
datasourceKeys.map((key) => { datasourceKeys.map((key) => {
const inputFields = inputFieldsMap[key] || [] const inputFields = inputFieldsMap[key] || []
if (!inputFields.length)
return null
return ( return (
<FieldList <FieldList
LabelRightContent={<Datasource title={datasourceTitleMap[key]} />} LabelRightContent={<Datasource title={datasourceTitleMap[key]} />}
@ -107,13 +109,15 @@ const InputFieldDialog = ({
}) })
} }
{/* Shared Inputs */} {/* Shared Inputs */}
<FieldList {inputFieldsMap.shared?.length > 0 && (
LabelRightContent={<SharedInputs />} <FieldList
inputFields={inputFieldsMap.shared || []} LabelRightContent={<SharedInputs />}
readonly={readonly} inputFields={inputFieldsMap.shared}
labelClassName='pt-1 pb-2' readonly={readonly}
handleInputFieldsChange={updateInputFields.bind(null, '')} labelClassName='pt-1 pb-2'
/> handleInputFieldsChange={updateInputFields.bind(null, '')}
/>
)}
</div> </div>
<FooterTip /> <FooterTip />
</div> </div>

@ -24,6 +24,7 @@ export const useNodesSyncDraft = () => {
pipelineId, pipelineId,
environmentVariables, environmentVariables,
syncWorkflowDraftHash, syncWorkflowDraftHash,
ragPipelineVariables,
} = workflowStore.getState() } = workflowStore.getState()
if (pipelineId) { if (pipelineId) {
@ -58,6 +59,7 @@ export const useNodesSyncDraft = () => {
}, },
}, },
environment_variables: environmentVariables, environment_variables: environmentVariables,
rag_pipeline_variables: ragPipelineVariables,
hash: syncWorkflowDraftHash, hash: syncWorkflowDraftHash,
}, },
} }

@ -38,6 +38,7 @@ export const usePipelineInit = () => {
setSyncWorkflowDraftHash, setSyncWorkflowDraftHash,
setDraftUpdatedAt, setDraftUpdatedAt,
setToolPublished, setToolPublished,
setRagPipelineVariables,
} = workflowStore.getState() } = workflowStore.getState()
try { try {
const res = await fetchWorkflowDraft(`/rag/pipeline/${datasetId}/workflows/draft`) const res = await fetchWorkflowDraft(`/rag/pipeline/${datasetId}/workflows/draft`)
@ -50,6 +51,7 @@ export const usePipelineInit = () => {
}, {} as Record<string, string>)) }, {} as Record<string, string>))
setEnvironmentVariables(res.environment_variables?.map(env => env.value_type === 'secret' ? { ...env, value: '[__HIDDEN__]' } : env) || []) setEnvironmentVariables(res.environment_variables?.map(env => env.value_type === 'secret' ? { ...env, value: '[__HIDDEN__]' } : env) || [])
setSyncWorkflowDraftHash(res.hash) setSyncWorkflowDraftHash(res.hash)
setRagPipelineVariables?.(res.rag_pipeline_variables || [])
setIsLoading(false) setIsLoading(false)
} }
catch (error: any) { catch (error: any) {

@ -2,6 +2,7 @@ import type { Viewport } from 'reactflow'
import type { BlockEnum, ConversationVariable, Edge, EnvironmentVariable, Node } from '@/app/components/workflow/types' import type { BlockEnum, ConversationVariable, Edge, EnvironmentVariable, Node } from '@/app/components/workflow/types'
import type { TransferMethod } from '@/types/app' import type { TransferMethod } from '@/types/app'
import type { ErrorHandleTypeEnum } from '@/app/components/workflow/nodes/_base/components/error-handle/types' import type { ErrorHandleTypeEnum } from '@/app/components/workflow/nodes/_base/components/error-handle/types'
import type { RAGPipelineVariables } from '@/models/pipeline'
export type AgentLogItem = { export type AgentLogItem = {
node_execution_id: string, node_execution_id: string,
@ -120,6 +121,7 @@ export type FetchWorkflowDraftResponse = {
tool_published: boolean tool_published: boolean
environment_variables?: EnvironmentVariable[] environment_variables?: EnvironmentVariable[]
conversation_variables?: ConversationVariable[] conversation_variables?: ConversationVariable[]
rag_pipeline_variables?: RAGPipelineVariables
version: string version: string
marked_name: string marked_name: string
marked_comment: string marked_comment: string

Loading…
Cancel
Save