import asyncio
import json
from agents import Agent, FunctionTool, Runner
from doconda import Doconda
def as_function_tool(t):
async def invoke(ctx, args: str):
return json.dumps(await asyncio.to_thread(t.run, json.loads(args)))
return FunctionTool(
name=t.name,
description=t.description,
params_json_schema=t.input_schema,
on_invoke_tool=invoke,
strict_json_schema=False,
)
agent = Agent(
name="Documentos",
instructions="Crea los documentos que te pida el usuario y devuelve sus enlaces.",
model="gpt-5",
tools=[as_function_tool(t) for t in Doconda().tools()],
)
result = Runner.run_sync(agent, "Redacta un memo para el equipo: la oficina cierra el viernes")
print(result.final_output)