A compatibility and polish release. Adds full OpenCode SDK v1/v2 client shape support, voice caching, VS Code focus detection, config hot-reload, and brings all dependencies up to date.
Added
- Voice caching — TTS audio can now be cached to disk (
enableVoiceCache,voiceCacheDir,voiceCacheMaxSizeMB) to avoid redundant synthesis for repeated messages. Closes #13. - VS Code focus detection — Focus detection now recognises VS Code, VS Code Insiders, and VSCodium across Windows, macOS, and Linux, suppressing notifications when the integrated terminal is focused. Closes #14.
- Config hot-reload — The plugin detects changes to
smart-voice-notify.jsoncvia file signature (mtime + size) and refreshes configuration without requiring a restart. Fixes the performance regression reported in #15. - OpenCode SDK v2 client shape support —
session.getandtui.showToastnow auto-detect v1/v2 API shapes and fall back gracefully, ensuring compatibility with both@opencode-ai/pluginv1.x and v2.x surfaces. - Expanded
SessionandTUIToastPayloadtypes — SDK types now coverslug,workspaceID,path,agent,model,cost,tokens,share, and toastdirectory/workspacefields present in newer SDK versions.
Changed
- Version bumped from
1.3.3to1.4.0. - Dependencies updated:
@elevenlabs/elevenlabs-js->^2.52.0detect-terminal->^3.0.0msedge-tts->^2.0.5@types/node->^22.19.21bun-types->^1.3.14typescript->^6.0.3
- TypeScript 6 compatibility — Added
"ignoreDeprecations": "6.0"totsconfig.json. .gitignorerewrite — Comprehensive coverage for OS artifacts, IDE files, logs, caches, and temp files.bun.lockis now tracked for reproducible installs.- Permission/question batch windows are now read dynamically from config instead of captured once at startup.
- README — Added section clarifying OpenCode's built-in notifications vs. this plugin's capabilities; updated SDK version references to v1/v2 terminology.
Housekeeping
- Lockfile regenerated with updated dependency versions.