from ath import ATHGatewayClient
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate
# Set up ATH client (assumes registration + token already done)
client = ATHGatewayClient(url="https://your-gateway.com", agent_id=..., private_key=pem)
client.load_credentials("creds.json")
client.set_token("ath_tk_...")
# Create tool
shop_tool = ATHTool(
name="shop_api",
description="Access ATH Shop: GET /products, POST /cart/add, POST /orders, GET /orders",
client=client,
provider="ath-shop",
)
# Create agent
llm = ChatOpenAI(model="gpt-4o")
prompt = ChatPromptTemplate.from_messages([
("system", "You help users shop. Use shop_api to browse and buy products."),
("human", "{input}"),
("placeholder", "{agent_scratchpad}"),
])
agent = create_tool_calling_agent(llm, [shop_tool], prompt)
executor = AgentExecutor(agent=agent, tools=[shop_tool])
# Run
result = executor.invoke({"input": "Find me a laptop under $1000 and add it to my cart"})
print(result["output"])