You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update the default llama.cpp native runtime to leehack/llamadart-native@v0.7.0-2: a fixed TextToSpeechRequest.seed gives the same Qwen3-TTS audio on every synthesis of a loaded engine, including after a cancelled one (#632), and Windows arm64 bundles no longer ship libomp140.aarch64.dll, a Visual Studio debug DLL that apps may not redistribute. Apple apps get it with llamadart_llama_cpp_flutter0.15.2; companions 0.15.0 and 0.15.1 keep building with an upgrade warning.
Update the default LiteRT-LM native runtime to leehack/litert-lm-native@v0.18.0-3: native speech-to-text loads dedicated ASR .litertlm containers such as Whisper tiny, which failed engine creation with tf_lite_prefill_decode not found (litert-lm-native#77). Flutter Apple apps get it with llamadart_litert_lm_flutter0.15.2; companions 0.15.0 and 0.15.1 keep v0.18.0-2.
Aligned the default WebGPU bridge assets to v0.1.69: loading a missing or
truncated Web state file throws LlamaStateException instead of aborting the
runtime, and chat image and audio URLs relative to the page load in worker
mode. Upstream v0.7.0@620d2225cc436ab0b001e3200e590e3b286ef9ab matches
native v0.7.0-2; the asset manifest records the byte-equivalent v0.7.0-1. Web LiteRT-LM stays @litert-lm/core@0.18.0.
Manifest SHA-256: 994e798389d440a256f103f3789a1f56da2ab00dd6bb6e52f334ed4e58867c46.
Include the native LiteRT-LM error message and status code in errors from failed engine creation, conversation creation and message sends, on runtimes that report them (v0.18.0 and later).
SpeechToTextEngine.capabilities with Qwen3AsrAdapter reports a projector that is not Qwen3-ASR's, such as a Qwen3-TTS mmproj, as unsupported instead of failing later with an empty transcript; when the projector type cannot be read, an empty transcript's error details name a possible model mismatch (#641).
Release a finished dedicated LiteRT-LM speech-to-text task when nobody listens to its events, as with transcribeOnce, instead of keeping it and its input audio until the next task.
setLoraSource and removeLoraSource match a path adapter spelled with ./, ../ or repeated separators instead of silently leaving it applied or applying it twice (#907).
Reject ModelParams.loras that LiteRT-LM cannot take before any adapter downloads, also for extensionless native .litertlm files, on the Web and in embedding mode.
Check and link the Apple companions a Flutter app reaches through another dependency, such as a shared app package or another pub workspace member, instead of bundling the hook's runtimes without them. Host flutter test on macOS for such an app no longer loads the bundled llama.cpp or stable_diffusion library. Such an app with llamadart_litert_lm_flutter must exclude the x86_64 iOS simulator, as direct dependents already must; the build error names the EXCLUDED_ARCHS setting.
Report the GPU llama.cpp actually uses when an explicit preferredBackend has no device, such as GpuBackend.vulkan on Apple platforms: getBackendName() no longer reports CPU when layers are offloaded to another GPU (#1281), and the ComputeDevice.gpu error names the registered backend, such as GpuBackend.metal, instead of suggesting ComputeDevice.auto (#1017).
package:llamadart/backend.dart exports BackendRuntimeIdentity, BackendModelFormatRouting, BackendChatScope, BackendDirectMediaInput and BackendDeferredEngineCreation, so custom backends can report their runtime and load an explicit ModelSource.format (#917).
Report a disposed LlamaEngine consistently: deprecated loaders disposed as they finish throw LlamaStateException, loadDecisionHeadBackend and attached speech engines throw it instead of LlamaUnsupportedException, and dispose() no longer waits for a projector download that ignores cancellation.
Fix tool-loop rollbacks on ChatSession subclasses and implementations whose addMessage moves or repeats messages, or whose history returns copies or hides messages; the turn could stay in the history while rolledBack was true (#1287).
Report stop instead of length when a llama.cpp speculative-decoding reply ends exactly at maxTokens, so completeWithTools no longer rolls it back as truncated.
Let Hermes templates that open reasoning in the prompt, such as QwQ, reason before a ToolChoice.required tool call; the call was previously parsed as reasoning and lost.
Handle deeply nested tool-call output: PEG-parsed formats such as Ministral throw LlamaInferenceException instead of overflowing the stack, and Command R7B and Cohere2 MoE replies parse in linear time instead of seconds.
Structured output and tool schemas: accept annotation-only allOf components such as {"description": "..."}, matching llama.cpp; reject \u-escaped spellings of declared property names as extra keys in open-object grammars; and reject integer bounds at -2^63 on native platforms with LlamaUnsupportedException, as on Web, instead of an opaque error or a wrong constraint.
Document that Windows x64 builds download the full native bundle, about 700 MiB with CUDA, even when CUDA is not selected, and how llamadart_native_path avoids it.