[BREAKING] Python: Refactor workflow events to unified discriminated union pattern (#3690)

* Refactor events

* Merge main

* Fixes

* Cleanup

* Update samples and tests

* Remove unused imports

* PR feedback

* Merge main. Add properties for events to help typing

* Formatting

* Cleanup

* use builtins.type to avoid shadowing by WorkflowEvent.type attribute

* Final improvements
This commit is contained in:
Evan Mattson
2026-02-06 16:47:20 +09:00
committed by GitHub
Unverified
parent 09f59b21ad
commit 0f3f4dbcaf
127 changed files with 1646 additions and 1703 deletions
@@ -6,7 +6,7 @@ from agent_framework import (
Executor,
WorkflowBuilder,
WorkflowContext,
WorkflowOutputEvent,
handler,
)
from agent_framework.observability import configure_otel_providers, get_tracer
@@ -93,7 +93,7 @@ async def run_sequential_workflow() -> None:
output_event = None
async for event in workflow.run("Hello world", stream=True):
if isinstance(event, WorkflowOutputEvent):
if event.type == "output":
# The WorkflowOutputEvent contains the final result.
output_event = event