Simplify agents.py architecture with unified config dict flow
Remove typed structures (InputContext, AgentConfig, HookContext,
PreHookContext) in favor of passing config dicts directly through
the system. Providers now use config.get() instead of extracting
into dataclasses. Unify generate and agent/tools branches into
single _run_agent() function.
- Delete dataclasses and TypedDicts from agents.py and shared.py
- Update all three providers to access config directly
- Fix tests to match new architecture
- Update documentation to reflect config dict approach
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>