test/tools: cover workspace, file, run_command and PTY

This commit is contained in:
2026-07-14 18:20:32 +08:00
parent f23780171b
commit f45af76c9b
6 changed files with 212 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
from __future__ import annotations
import inspect
from typing import TYPE_CHECKING, Any, cast
if TYPE_CHECKING:
from plyngent.agent import ToolDefinition
def call_sync(definition: ToolDefinition, *args: object, **kwargs: object) -> str:
result: Any = definition.handler(*args, **kwargs)
assert not inspect.isawaitable(result)
return cast("str", result)
async def call_async(definition: ToolDefinition, *args: object, **kwargs: object) -> str:
result: Any = definition.handler(*args, **kwargs)
if inspect.isawaitable(result):
result = await result
return cast("str", result)