From d59950286430a0b5fb243a06a9637dfeae595dc0 Mon Sep 17 00:00:00 2001 From: Daniele Morotti <58258368+DanieleMorotti@users.noreply.github.com> Date: Mon, 14 Apr 2025 10:36:16 +0200 Subject: [PATCH 1/4] Fixed annotations example output_guardrails --- examples/agent_patterns/output_guardrails.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/agent_patterns/output_guardrails.py b/examples/agent_patterns/output_guardrails.py index 526a08521..6f17ba617 100644 --- a/examples/agent_patterns/output_guardrails.py +++ b/examples/agent_patterns/output_guardrails.py @@ -2,6 +2,7 @@ import asyncio import json +from typing import Union from pydantic import BaseModel, Field @@ -31,7 +32,7 @@ class MessageOutput(BaseModel): reasoning: str = Field(description="Thoughts on how to respond to the user's message") response: str = Field(description="The response to the user's message") - user_name: str | None = Field(description="The name of the user who sent the message, if known") + user_name: Union[str, None] = Field(description="The name of the user who sent the message, if known") @output_guardrail From 02e922f1e9e68bcc46345eed7e9a426f15591eeb Mon Sep 17 00:00:00 2001 From: Daniele Morotti <58258368+DanieleMorotti@users.noreply.github.com> Date: Mon, 14 Apr 2025 10:37:18 +0200 Subject: [PATCH 2/4] Fixed annotations customer_service example --- examples/customer_service/main.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/customer_service/main.py b/examples/customer_service/main.py index bd802e228..145badb85 100644 --- a/examples/customer_service/main.py +++ b/examples/customer_service/main.py @@ -2,6 +2,7 @@ import asyncio import random +from typing import Union import uuid from pydantic import BaseModel @@ -26,10 +27,10 @@ class AirlineAgentContext(BaseModel): - passenger_name: str | None = None - confirmation_number: str | None = None - seat_number: str | None = None - flight_number: str | None = None + passenger_name: Union[str, None] = None + confirmation_number: Union[str, None] = None + seat_number: Union[str, None] = None + flight_number: Union[str, None] = None ### TOOLS From ec7812d056d1d8cc46b7fa94e39ef2637f850247 Mon Sep 17 00:00:00 2001 From: Daniele Morotti <58258368+DanieleMorotti@users.noreply.github.com> Date: Mon, 14 Apr 2025 19:00:57 +0200 Subject: [PATCH 3/4] Added 'eval-type-backport' to fix TypeError on old python versions --- pyproject.toml | 1 + uv.lock | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index ca398ba29..fa3da072a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ dependencies = [ "types-requests>=2.0, <3", "mcp>=1.6.0, <2; python_version >= '3.10'", "mkdocs-static-i18n>=1.3.0", + "eval-type-backport>=0.2.2", ] classifiers = [ "Typing :: Typed", diff --git a/uv.lock b/uv.lock index af7eef7e6..a762c723e 100644 --- a/uv.lock +++ b/uv.lock @@ -313,6 +313,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277 }, ] +[[package]] +name = "eval-type-backport" +version = "0.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/ea/8b0ac4469d4c347c6a385ff09dc3c048c2d021696664e26c7ee6791631b5/eval_type_backport-0.2.2.tar.gz", hash = "sha256:f0576b4cf01ebb5bd358d02314d31846af5e07678387486e2c798af0e7d849c1", size = 9079 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/31/55cd413eaccd39125368be33c46de24a1f639f2e12349b0361b4678f3915/eval_type_backport-0.2.2-py3-none-any.whl", hash = "sha256:cb6ad7c393517f476f96d456d0412ea80f0a8cf96f6892834cd9340149111b0a", size = 5830 }, +] + [[package]] name = "evdev" version = "1.9.1" @@ -1102,6 +1111,7 @@ name = "openai-agents" version = "0.0.9" source = { editable = "." } dependencies = [ + { name = "eval-type-backport" }, { name = "griffe" }, { name = "mcp", marker = "python_full_version >= '3.10'" }, { name = "mkdocs-static-i18n" }, @@ -1146,6 +1156,7 @@ dev = [ [package.metadata] requires-dist = [ + { name = "eval-type-backport", specifier = ">=0.2.2" }, { name = "graphviz", marker = "extra == 'viz'", specifier = ">=0.17" }, { name = "griffe", specifier = ">=1.5.6,<2" }, { name = "mcp", marker = "python_full_version >= '3.10'", specifier = ">=1.6.0,<2" }, From 78fdbd177a32be9aa46be2a098e27cd1531e6484 Mon Sep 17 00:00:00 2001 From: Daniele Morotti <58258368+DanieleMorotti@users.noreply.github.com> Date: Mon, 14 Apr 2025 19:03:54 +0200 Subject: [PATCH 4/4] Removed previous correction on examples --- examples/agent_patterns/output_guardrails.py | 3 +-- examples/customer_service/main.py | 9 ++++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/examples/agent_patterns/output_guardrails.py b/examples/agent_patterns/output_guardrails.py index 6f17ba617..526a08521 100644 --- a/examples/agent_patterns/output_guardrails.py +++ b/examples/agent_patterns/output_guardrails.py @@ -2,7 +2,6 @@ import asyncio import json -from typing import Union from pydantic import BaseModel, Field @@ -32,7 +31,7 @@ class MessageOutput(BaseModel): reasoning: str = Field(description="Thoughts on how to respond to the user's message") response: str = Field(description="The response to the user's message") - user_name: Union[str, None] = Field(description="The name of the user who sent the message, if known") + user_name: str | None = Field(description="The name of the user who sent the message, if known") @output_guardrail diff --git a/examples/customer_service/main.py b/examples/customer_service/main.py index 145badb85..bd802e228 100644 --- a/examples/customer_service/main.py +++ b/examples/customer_service/main.py @@ -2,7 +2,6 @@ import asyncio import random -from typing import Union import uuid from pydantic import BaseModel @@ -27,10 +26,10 @@ class AirlineAgentContext(BaseModel): - passenger_name: Union[str, None] = None - confirmation_number: Union[str, None] = None - seat_number: Union[str, None] = None - flight_number: Union[str, None] = None + passenger_name: str | None = None + confirmation_number: str | None = None + seat_number: str | None = None + flight_number: str | None = None ### TOOLS