type AgentResult = { charge: unknown; order: unknown; summary: unknown; }; type ToolCall = (name: string, input: unknown) => Promise; export default async function agentLookup( tools: ToolCall, orderId: string, ): Promise { const order = await tools("lookupOrder", { id: orderId }); const charge = await tools("chargeCard", { cardToken: "tok_live_customer_4242", orderId, }); const summary = await tools( "summarize", "Customer asked for the current shipping state and total.", ); return { charge, order, summary }; }