From 4ea2449eebd3af966e619d871aa8da30b3ecf666 Mon Sep 17 00:00:00 2001 From: Bart Date: Tue, 3 Mar 2026 13:34:32 -0600 Subject: [PATCH 1/2] fix(workflow): improve typing for state parameter Replace DangerouslyAllowAny with unknown in WorkflowState and WorkflowStepState types to provide stricter type checking for workflow state parameter in execute handlers. This addresses issue #645 where state was typed as 'any' making it difficult to debug workflow execution code. Closes #645 --- packages/core/src/workflow/internal/state.ts | 2 +- packages/core/src/workflow/types.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/src/workflow/internal/state.ts b/packages/core/src/workflow/internal/state.ts index 04750b05b..8d8485449 100644 --- a/packages/core/src/workflow/internal/state.ts +++ b/packages/core/src/workflow/internal/state.ts @@ -32,7 +32,7 @@ export type WorkflowState = { /** the initial input data to the workflow */ input: InternalExtractWorkflowInputData; /** current data being processed */ - data: DangerouslyAllowAny; + data: unknown; /** shared workflow state across steps */ workflowState: WorkflowStateStore; /** the result of workflow execution, null until execution is complete */ diff --git a/packages/core/src/workflow/types.ts b/packages/core/src/workflow/types.ts index bf61c8c73..eb301545d 100644 --- a/packages/core/src/workflow/types.ts +++ b/packages/core/src/workflow/types.ts @@ -1120,7 +1120,7 @@ export interface UpdateWorkflowStepOptions { * The state parameter passed to workflow steps */ export type WorkflowStepState = Omit< - WorkflowState, + WorkflowState, "data" | "result" > & { /** Workflow execution context for event tracking */ From 0efe87999d14ee1128bbc13abb37134493d94a9a Mon Sep 17 00:00:00 2001 From: Bart Date: Tue, 3 Mar 2026 13:36:15 -0600 Subject: [PATCH 2/2] chore: add changeset for type fix --- .changeset/olive-ears-smoke.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/olive-ears-smoke.md diff --git a/.changeset/olive-ears-smoke.md b/.changeset/olive-ears-smoke.md new file mode 100644 index 000000000..230347641 --- /dev/null +++ b/.changeset/olive-ears-smoke.md @@ -0,0 +1,5 @@ +--- +"@voltagent/core": patch +--- + +fix(workflow): improve typing for state parameter