diff --git a/pyproject.toml b/pyproject.toml index 0f3446668..4cbc071d8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,7 @@ opentelemetry = [ ] pydantic = ["pydantic>=2.0.0,<3"] openai-agents = [ - "openai-agents>=0.2.11,<0.3", + "openai-agents>=0.3,<0.4", "eval-type-backport>=0.2.2; python_version < '3.10'" ] @@ -57,7 +57,7 @@ dev = [ "pytest-cov>=6.1.1", "httpx>=0.28.1", "pytest-pretty>=1.3.0", - "openai-agents[litellm]>=0.2.11,<0.3" + "openai-agents[litellm]>=0.3,<0.4" ] [tool.poe.tasks] diff --git a/temporalio/contrib/openai_agents/_invoke_model_activity.py b/temporalio/contrib/openai_agents/_invoke_model_activity.py index b0ba8ef7d..6409f0bb1 100644 --- a/temporalio/contrib/openai_agents/_invoke_model_activity.py +++ b/temporalio/contrib/openai_agents/_invoke_model_activity.py @@ -173,11 +173,6 @@ async def empty_on_invoke_handoff( ) -> Any: return None - # workaround for https://github.com/pydantic/pydantic/issues/9541 - # ValidatorIterator returned - input_json = to_json(input["input"]) - input_input = json.loads(input_json) - def make_tool(tool: ToolInput) -> Tool: if isinstance( tool, @@ -220,7 +215,7 @@ def make_tool(tool: ToolInput) -> Tool: try: return await model.get_response( system_instructions=input.get("system_instructions"), - input=input_input, + input=input["input"], model_settings=input["model_settings"], tools=tools, output_schema=input.get("output_schema"), diff --git a/temporalio/contrib/openai_agents/_openai_runner.py b/temporalio/contrib/openai_agents/_openai_runner.py index 4f9dbbf65..f7030cdd4 100644 --- a/temporalio/contrib/openai_agents/_openai_runner.py +++ b/temporalio/contrib/openai_agents/_openai_runner.py @@ -63,11 +63,6 @@ async def run( "Temporal OpenAI agent does not support on demand MCP servers." ) - # workaround for https://github.com/pydantic/pydantic/issues/9541 - # ValidatorIterator returned - input_json = to_json(input) - input = json.loads(input_json) - context = kwargs.get("context") max_turns = kwargs.get("max_turns", DEFAULT_MAX_TURNS) hooks = kwargs.get("hooks") diff --git a/uv.lock b/uv.lock index fbf2f9470..d6e59a30e 100644 --- a/uv.lock +++ b/uv.lock @@ -1720,7 +1720,7 @@ wheels = [ [[package]] name = "openai" -version = "1.107.0" +version = "1.107.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -1732,14 +1732,14 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/88/67/d6498de300f83ff57a79cb7aa96ef3bef8d6f070c3ded0f1b5b45442a6bc/openai-1.107.0.tar.gz", hash = "sha256:43e04927584e57d0e9e640ee0077c78baf8150098be96ebd5c512539b6c4e9a4", size = 566056, upload-time = "2025-09-08T19:25:47.604Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/e0/a62daa7ff769df969cc1b782852cace79615039630b297005356f5fb46fb/openai-1.107.1.tar.gz", hash = "sha256:7c51b6b8adadfcf5cada08a613423575258b180af5ad4bc2954b36ebc0d3ad48", size = 563671, upload-time = "2025-09-10T15:04:40.288Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/91/ed/e8a4fd20390f2858b95227c288df8fe0c835f7c77625f7583609161684ba/openai-1.107.0-py3-none-any.whl", hash = "sha256:3dcfa3cbb116bd6924b27913b8da28c4a787379ff60049588547a1013e6d6438", size = 950968, upload-time = "2025-09-08T19:25:45.552Z" }, + { url = "https://files.pythonhosted.org/packages/d4/12/32c19999a58eec4a695e8ce334442b6135df949f0bb61b2ceaa4fa60d3a9/openai-1.107.1-py3-none-any.whl", hash = "sha256:168f9885b1b70d13ada0868a0d0adfd538c16a02f7fd9fe063851a2c9a025e72", size = 945177, upload-time = "2025-09-10T15:04:37.782Z" }, ] [[package]] name = "openai-agents" -version = "0.2.11" +version = "0.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "griffe" }, @@ -1750,9 +1750,9 @@ dependencies = [ { name = "types-requests" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/dd/c7/e8b588851bdbb33f16397b45d182998a01e6e57ff028a143788036a89d53/openai_agents-0.2.11.tar.gz", hash = "sha256:1a2e3fade02b3d8571560dbd121bfe0d84c80f48da04c838d9d5195966714abc", size = 1677542, upload-time = "2025-09-03T22:16:05.856Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a3/49/78c902865ceb0432dae52f4a3feee8bcb57ce5be724c52e0119754fd421b/openai_agents-0.3.0.tar.gz", hash = "sha256:4d5d1a4f43cdc35b55c41ae4f31157cf5ff2e2c89563cde58616f8a77fde932d", size = 1700443, upload-time = "2025-09-11T19:20:09.742Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/71/a8712a89502b95da64db6b0b31c12ac5039542ae8e31caddba369b6bd324/openai_agents-0.2.11-py3-none-any.whl", hash = "sha256:ed26f7bb2b08bd7607ae87eb7bcfcee8c8f4431da134252757b31120a68b9086", size = 179141, upload-time = "2025-09-03T22:16:03.823Z" }, + { url = "https://files.pythonhosted.org/packages/46/3b/58ee42582716645aa1a5c30c1e337dc9a7433f7f0b5ed84ef02a35368abb/openai_agents-0.3.0-py3-none-any.whl", hash = "sha256:16de8a28729ae9e27faad7ce146a4b74acf05c9eeca3fe23299f6e621a3893ed", size = 185007, upload-time = "2025-09-11T19:20:08.304Z" }, ] [package.optional-dependencies] @@ -2847,7 +2847,7 @@ requires-dist = [ { name = "eval-type-backport", marker = "python_full_version < '3.10' and extra == 'openai-agents'", specifier = ">=0.2.2" }, { name = "grpcio", marker = "extra == 'grpc'", specifier = ">=1.48.2,<2" }, { name = "nexus-rpc", specifier = "==1.1.0" }, - { name = "openai-agents", marker = "extra == 'openai-agents'", specifier = ">=0.2.11,<0.3" }, + { name = "openai-agents", marker = "extra == 'openai-agents'", specifier = ">=0.3,<0.4" }, { name = "opentelemetry-api", marker = "extra == 'opentelemetry'", specifier = ">=1.11.1,<2" }, { name = "opentelemetry-sdk", marker = "extra == 'opentelemetry'", specifier = ">=1.11.1,<2" }, { name = "protobuf", specifier = ">=3.20,<6" }, @@ -2866,7 +2866,7 @@ dev = [ { name = "maturin", specifier = ">=1.8.2" }, { name = "mypy", specifier = "==1.4.1" }, { name = "mypy-protobuf", specifier = ">=3.3.0,<4" }, - { name = "openai-agents", extras = ["litellm"], specifier = ">=0.2.11,<0.3" }, + { name = "openai-agents", extras = ["litellm"], specifier = ">=0.3,<0.4" }, { name = "psutil", specifier = ">=5.9.3,<6" }, { name = "pydocstyle", specifier = ">=6.3.0,<7" }, { name = "pydoctor", specifier = ">=24.11.1,<25" },