Skip to content

Commit d417123

Browse files
committed
fix(workflow): validate draft execution state
1 parent 7fd0d3d commit d417123

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-workflow-execution.test.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ vi.mock('@/lib/api/client/request', () => ({
120120
vi.mock('@/lib/api/contracts/workflows', () => ({
121121
cancelWorkflowExecutionContract: {},
122122
workflowLogContract: {},
123+
workflowStateSchema: { parse: (value: unknown) => value },
123124
}))
124125

125126
vi.mock('@/lib/logs/execution/trace-spans/trace-spans', () => ({

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-workflow-execution.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import {
1717
import { requestJson } from '@/lib/api/client/request'
1818
import {
1919
cancelWorkflowExecutionContract,
20-
type WorkflowStateContractInput,
2120
workflowLogContract,
21+
workflowStateSchema,
2222
} from '@/lib/api/contracts/workflows'
2323
import type { SecretSafeBlockLog } from '@/lib/logs/execution/display-types'
2424
import { buildTraceSpans } from '@/lib/logs/execution/trace-spans/trace-spans'
@@ -1972,12 +1972,12 @@ export function useWorkflowExecution() {
19721972
},
19731973
{} as typeof mergedStates
19741974
)
1975-
const workflowStateOverride: WorkflowStateContractInput = {
1975+
const workflowStateOverride = workflowStateSchema.parse({
19761976
blocks: executableStates,
19771977
edges: workflowEdges,
19781978
loops: latestWorkflowState.loops,
19791979
parallels: latestWorkflowState.parallels,
1980-
}
1980+
})
19811981

19821982
// Extract mock payload for trigger blocks
19831983
let workflowInput: any

0 commit comments

Comments
 (0)