v1.0.0 - Major Architecture Rewrite
What's Changed
Highlights
Complete rewrite to use OpenCode's native hooks API, removing ~1,400 lines of provider-specific fetch wrapper code. The plugin now uses experimental.chat.messages.transform and experimental.chat.system.transform hooks, making it dramatically simpler and more maintainable.
Architecture
- Removed
lib/fetch-wrapper/directory with 6+ format adapters (Anthropic, Bedrock, Gemini, OpenAI) - Simplified state management, removed ID mapping layer
- Consolidated tool cache logic
- Net reduction of ~1,400 lines
New Features
- System prompt transformation hook for synthetic context injection
- AI nudge system reminds LLM to use prune tool after N tool results
- Support for
$OPENCODE_CONFIG_DIRconfig location - Prune tool enabled by default
Bug Fixes
- Skip inserting prunable tools list when empty
- Properly reset nudge counter after prune tool use
- Await session state load before syncing tool cache
- Prevent compacted tools from appearing in prunable list
Breaking Changes
- On-idle strategy now marked as legacy and disabled by default
Full Changelog: v0.4.17...v1.0.0