async/await, no streaming.
- TypeScript
- Python
wrapAgent returns an async function in TypeScript, so the call site still uses await.onComplete(response) / ctx.on_complete(response) records the output explicitly. You can also omit it and rely on the return value being captured automatically.
