Skip to content

v1.0.0 - Major Architecture Rewrite

Choose a tag to compare

@Tarquinen Tarquinen released this 15 Dec 19:05
· 889 commits to master since this release

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_DIR config 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