Chore/workflow last run (#21823)

Co-authored-by: Joel <iamjoel007@gmail.com>
This commit is contained in:
zxhlyh
2025-07-02 17:48:07 +08:00
committed by GitHub
parent 8978b9d38b
commit 3bfa9767c0
13 changed files with 422 additions and 235 deletions

View File

@@ -7,6 +7,12 @@ import {
} from 'zustand'
import { createStore } from 'zustand/vanilla'
import { HooksStoreContext } from './provider'
import type { IOtherOptions } from '@/service/base'
import type { VarInInspect } from '@/types/workflow'
import type {
Node,
ValueSelector,
} from '@/app/components/workflow/types'
type CommonHooksFnMap = {
doSyncWorkflowDraft: (
@@ -22,11 +28,30 @@ type CommonHooksFnMap = {
handleBackupDraft: () => void
handleLoadBackupDraft: () => void
handleRestoreFromPublishedWorkflow: (...args: any[]) => void
handleRun: (...args: any[]) => void
handleRun: (params: any, callback?: IOtherOptions,) => void
handleStopRun: (...args: any[]) => void
handleStartWorkflowRun: () => void
handleWorkflowStartRunInWorkflow: () => void
handleWorkflowStartRunInChatflow: () => void
fetchInspectVars: () => Promise<void>
hasNodeInspectVars: (nodeId: string) => boolean
hasSetInspectVar: (nodeId: string, name: string, sysVars: VarInInspect[], conversationVars: VarInInspect[]) => boolean
fetchInspectVarValue: (selector: ValueSelector) => Promise<void>
editInspectVarValue: (nodeId: string, varId: string, value: any) => Promise<void>
renameInspectVarName: (nodeId: string, oldName: string, newName: string) => Promise<void>
appendNodeInspectVars: (nodeId: string, payload: VarInInspect[], allNodes: Node[]) => void
deleteInspectVar: (nodeId: string, varId: string) => Promise<void>
deleteNodeInspectorVars: (nodeId: string) => Promise<void>
deleteAllInspectorVars: () => Promise<void>
isInspectVarEdited: (nodeId: string, name: string) => boolean
resetToLastRunVar: (nodeId: string, varId: string) => Promise<void>
invalidateSysVarValues: () => void
resetConversationVar: (varId: string) => Promise<void>
invalidateConversationVarValues: () => void
configsMap?: {
conversationVarsUrl: string
systemVarsUrl: string
}
}
export type Shape = {
@@ -45,6 +70,21 @@ export const createHooksStore = ({
handleStartWorkflowRun = noop,
handleWorkflowStartRunInWorkflow = noop,
handleWorkflowStartRunInChatflow = noop,
fetchInspectVars = async () => noop(),
hasNodeInspectVars = () => false,
hasSetInspectVar = () => false,
fetchInspectVarValue = async () => noop(),
editInspectVarValue = async () => noop(),
renameInspectVarName = async () => noop(),
appendNodeInspectVars = () => noop(),
deleteInspectVar = async () => noop(),
deleteNodeInspectorVars = async () => noop(),
deleteAllInspectorVars = async () => noop(),
isInspectVarEdited = () => false,
resetToLastRunVar = async () => noop(),
invalidateSysVarValues = noop,
resetConversationVar = async () => noop(),
invalidateConversationVarValues = noop,
}: Partial<Shape>) => {
return createStore<Shape>(set => ({
refreshAll: props => set(state => ({ ...state, ...props })),
@@ -59,6 +99,21 @@ export const createHooksStore = ({
handleStartWorkflowRun,
handleWorkflowStartRunInWorkflow,
handleWorkflowStartRunInChatflow,
fetchInspectVars,
hasNodeInspectVars,
hasSetInspectVar,
fetchInspectVarValue,
editInspectVarValue,
renameInspectVarName,
appendNodeInspectVars,
deleteInspectVar,
deleteNodeInspectorVars,
deleteAllInspectorVars,
isInspectVarEdited,
resetToLastRunVar,
invalidateSysVarValues,
resetConversationVar,
invalidateConversationVarValues,
}))
}