mlx: include sibling commons headers before the packaged ones
SI
17h ago+129+129+012345678901234567890123456789-126-126-012345678901234567890123456789
Summary
rac_mlx.hnow includes the decision, LLM, and speech headers that sit next to it incore/includebefore it looks at a packaged include path.- A Swift build was failing because the packaged headers had
rac/core/rac_error.hbut notrac/features/decision/rac_decision_service.h.
Test plan
- CI on this PR is green.
Made with Cursor
Summary by cubic
Adds LFM3 Omni and LFM3 D1 support across the MLX Swift runtime and llama.cpp, fixes a Swift build failure in rac_mlx.h by preferring sibling commons headers from core/include before the packaged ones, and enables git long paths on Windows so the llama.cpp fetch doesn't hit MAX_PATH.
- Bumps llama.cpp to
runanywhere-b10453.10and mlx-swift-lm to3.31.14;mlx-audio-swiftmoves from the0.1.9tag to a branch carrying that version. - The MLX runtime loads
lfm3_omnicheckpoints with the VLM factory and scores bothlfm3_vlandlfm3-d1checkpoints with a newLFM3D1model. - llama.cpp chat formatting now runs the model's Jinja template via
common_chat_templates_apply; the oldllama_chat_apply_templatedetected ChatML and dropped LFM3-Omni's prefilled thinking response, and the plain-text fallback is kept for template failures. - Trains the desktop kit version at
0.20.43; published SDK assets stay pinned at0.20.37, with XCFramework checksums refreshed from a local build of the new llama.cpp and mlx-swift-lm versions.
Summary by CodeRabbit
-
New Features
- Added support for loading and scoring LFM3 decision models in the Swift MLX runtime.
- Added recognition of LFM3 decision models in the llama.cpp runtime.
-
Improvements
- Improved chat-template handling, with a plain-text fallback if template processing fails.
- Updated the llama.cpp runtime version across supported platforms.
- Updated the MLX Swift language-model dependency.