refactor(llm): remove GBNF grammar, switch to JSON-envelope extractor

extract_content_tags now generates with grammar=None and parses the
response via a manual brace-counting JSON envelope extractor that
handles Qwen <think>...</think> prefixes and trailing stop tokens.
Five new unit tests. Bumps llama-cpp-2 to 0.1.146. Explicit
features=[] on tauri dependency (no-op).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-13 08:25:55 +01:00
parent b0d4ac8de1
commit 1d71e8e361
3 changed files with 111 additions and 12 deletions

View File

@@ -41,7 +41,7 @@ magnotia-llm = { path = "../crates/llm" }
# autostart plugins are desktop-only — gated below under
# cfg(not(target_os = "android")). The dialog, opener, and notification
# plugins all support Android natively so live in the unconditional list.
tauri = { version = "2" }
tauri = { version = "2", features = [] }
tauri-plugin-opener = "2"
tauri-plugin-dialog = "2"
# Phase 6 nudges: OS-native notifications via the frontend-owned nudge