0.1.5
Description of changes:
- Add full async support: awrap_model_call, awrap_tool_call, abefore_agent, aafter_agent
- Add dynamic hook discovery (_hooks.py) — new AgentMiddleware hooks auto-detected at import
- Add middleware list composition: Task(middleware=[mw1, mw2]) like create_agent
- Add auto-wrapping: raw AgentMiddleware accepted directly without explicit adapter
- Add validation: invalid middleware warned and skipped instead of crashing
- Add demo scripts for both Python and TypeScript
- Add support for task scoped skills