Python: [BREAKING] changed AIFunction to FunctionTool and @ai_function to @tool (#3413)

* changed AIFunction to FunctionTool and @ai_function to @tool

* test and mypy fixes

* mypy fix

* switch function tool to always_require

* fix noop

* fix github copilot imports

* test fixes

* fix ollama test

* fixes for tests

* fix tests

* reverted change to always_require and extended timeout

* fix test
This commit is contained in:
Eduard van Valkenburg
2026-01-28 15:53:53 +01:00
committed by GitHub
Unverified
parent 15b43f2abe
commit a7d924a7d2
255 changed files with 1202 additions and 1290 deletions
@@ -13,7 +13,7 @@ from agent_framework import (
ChatResponseUpdate,
Content,
Role,
ai_function,
tool,
)
from pytest import MonkeyPatch
@@ -231,9 +231,9 @@ class TestAGUIChatClient:
When server requests a client function, @use_function_invocation decorator
intercepts and executes it locally. This matches .NET AG-UI implementation.
"""
from agent_framework import ai_function
from agent_framework import tool
@ai_function
@tool
def test_tool(param: str) -> str:
"""Test tool."""
return "result"
@@ -299,7 +299,7 @@ class TestAGUIChatClient:
async def test_server_tool_calls_not_executed_locally(self, monkeypatch: MonkeyPatch) -> None:
"""Server tools should not trigger local function invocation even when client tools exist."""
@ai_function
@tool
def client_tool() -> str:
"""Client tool stub."""
return "client"