| 
                        123456789101112131415161718192021222324252627282930313233343536 | 
                        - import { useCallback } from 'react'
 - import { useWorkflowStore } from '@/app/components/workflow/store'
 - import { fetchWorkflowDraft } from '@/service/workflow'
 - import type { WorkflowDataUpdater } from '@/app/components/workflow/types'
 - import { useWorkflowUpdate } from '@/app/components/workflow/hooks'
 - 
 - export const useWorkflowRefreshDraft = () => {
 -   const workflowStore = useWorkflowStore()
 -   const { handleUpdateWorkflowCanvas } = useWorkflowUpdate()
 - 
 -   const handleRefreshWorkflowDraft = useCallback(() => {
 -     const {
 -       appId,
 -       setSyncWorkflowDraftHash,
 -       setIsSyncingWorkflowDraft,
 -       setEnvironmentVariables,
 -       setEnvSecrets,
 -       setConversationVariables,
 -     } = workflowStore.getState()
 -     setIsSyncingWorkflowDraft(true)
 -     fetchWorkflowDraft(`/apps/${appId}/workflows/draft`).then((response) => {
 -       handleUpdateWorkflowCanvas(response.graph as WorkflowDataUpdater)
 -       setSyncWorkflowDraftHash(response.hash)
 -       setEnvSecrets((response.environment_variables || []).filter(env => env.value_type === 'secret').reduce((acc, env) => {
 -         acc[env.id] = env.value
 -         return acc
 -       }, {} as Record<string, string>))
 -       setEnvironmentVariables(response.environment_variables?.map(env => env.value_type === 'secret' ? { ...env, value: '[__HIDDEN__]' } : env) || [])
 -       setConversationVariables(response.conversation_variables || [])
 -     }).finally(() => setIsSyncingWorkflowDraft(false))
 -   }, [handleUpdateWorkflowCanvas, workflowStore])
 - 
 -   return {
 -     handleRefreshWorkflowDraft,
 -   }
 - }
 
 
  |