@ondeinference / onde / commits / 3aade59

feat(deps): consume onde-mistralrs 0.9.3, retire mio visionOS patch

Bump onde-mistralrs{,-core} from 0.9.2 to 0.9.3 across all platform sections. 0.9.3 carries the onde-tqdm dependency (crossterm 0.29 -> mio 1.x), so the crates.io tqdm 0.8.0 -> crossterm 0.25 -> mio 0.8.11 chain that lacked visionOS support is gone from onde's resolved tree. Delete the [patch.crates-io] mio entry — mio now resolves to 1.2.2 from the registry. Both aarch64-apple-visionos{,-sim} pass cargo +nightly check -Z build-std with the patch removed. Update the forked-dependencies skill to mark the mio fork retired. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

setoelkahfi committed Jul 22, 2026 at 20:10 UTC 3aade595c2090d93117c93d5d2b6972c59ad3daa
3 files changed +107 -96
.agents/skills/forked-dependencies/SKILL.md
+20 -15
@@ -56,9 +56,10 @@ The fix that removed the whole problem: the crossterm-0.29 tqdm fork is now
56 a `version =` registry dep (package rename), exactly like `onde-mistralrs-*` and
57 `onde-candle-*`. A registry dep survives publish, so onde's registry-resolved
58 tree gets `onde-tqdm` → `crossterm 0.29` → `mio 1.x`, and the `mio 0.8.11`
59 -line disappears entirely. Once the `onde-mistralrs-*` crates carrying the
60 -`onde-tqdm` dep are published (0.9.3+) and onde bumps to them, onde's
61 -`[patch.crates-io] mio` entry is deleted. See the onde-tqdm and mio entries.
59 +line disappears entirely. This is now **done**: `onde-mistralrs-*` 0.9.3
60 +(carrying the `onde-tqdm` dep) is published, onde consumes 0.9.3, and onde's
61 +`[patch.crates-io] mio` entry has been **deleted**. The `mio` fork is retired.
62 +See the onde-tqdm and mio entries.
63
64 ---
65
@@ -70,7 +71,7 @@ line disappears entirely. Once the `onde-mistralrs-*` crates carrying the
71 | candle-core, candle-nn | `setoelkahfi/candle` | branch `onde/candle-0.11.0-27f20fea` (rev `27f20fea`) | Post-0.11.0 candle APIs; **published** as `onde-candle-{core,nn}` | mistral.rs fork deps (registry) |
72 | tqdm | `setoelkahfi/tqdm` | branch `release/onde-tqdm` (version `0.8.2`) | Bumps crossterm to 0.29 (→ mio 1.x); **published** as `onde-tqdm` | mistral.rs fork dep (registry) |
73 | sysctl | `setoelkahfi/sysctl-rs` | branch `feature/watchos` | watchOS (`target_os = "watchos"`) support | `[patch.crates-io]` in onde **and** mistral.rs fork |
73 -| mio | `setoelkahfi/mio` | branch `feature/visionos` | visionOS support for the `mio 0.8.11` line | `[patch.crates-io]` in onde — **removable once onde consumes onde-mistralrs 0.9.3+** |
74 +| mio | `setoelkahfi/mio` | branch `feature/visionos` | visionOS support for the `mio 0.8.11` line | **RETIRED** — patch removed from onde once it consumed onde-mistralrs 0.9.3 (onde-tqdm → mio 1.x). Fork kept for history/upstream PR. |
75
76 > **Retired:** `core2` (`bbqsrc/core2` rev `545e84bc`) — was a `[patch.crates-io]`
77 > workaround for the yanked `core2 0.4.0`; removed from the mistral.rs fork after
@@ -118,8 +119,13 @@ line disappears entirely. Once the `onde-mistralrs-*` crates carrying the
119 - **Applied in:** `[patch.crates-io]` in **both** onde and the mistral.rs fork
120 (each workspace root that builds for watchOS needs its own patch entry).
121
121 -### mio → visionOS (being retired)
122 +### mio → visionOS (RETIRED)
123
124 +- **Status:** the onde `[patch.crates-io] mio` entry has been **removed**. onde
125 + now consumes `onde-mistralrs 0.9.3`, whose `onde-tqdm` dep pulls `crossterm
126 + 0.29 → mio 1.x`, so `mio 0.8.11` is gone from onde's tree. The fork below is
127 + kept only for history and a possible upstream PR; it is no longer wired into
128 + any build.
129 - **Fork:** `setoelkahfi/mio`, branch `feature/visionos` (commit `683fca8`).
130 Based on `mio 0.8.11`. This is the **official GitHub fork** of tokio-rs/mio
131 (in tokio's fork network, so it can open upstream PRs). An earlier standalone
@@ -134,16 +140,15 @@ line disappears entirely. Once the `onde-mistralrs-*` crates carrying the
140 tokio's `mio 1.x` already supports visionOS, so **only the 0.8.x line** needs it.
141 - **Where 0.8.11 came from:** `tqdm → crossterm 0.25 → mio 0.8.11`, and
142 `signal-hook-mio → crossterm`. Not from tokio (that uses `mio 1.2.2`).
137 -- **Applied in:** `[patch.crates-io]` in onde. The fork's version (`0.8.11`)
138 - stays semver-compatible with the `^0.8` requirement it replaces; it does not
139 - touch tokio's `^1`.
140 -- **Retirement path (the real fix):** the `onde-tqdm` publish (below) removes the
141 - `mio 0.8.11` line from onde's registry-resolved tree entirely. Verified: with
142 - onde consuming the onde-tqdm-carrying `onde-mistralrs-*` crates, onde's
143 - lockfile resolves `mio 1.2.2` only — no 0.8.11 — even with the `mio` patch
144 - deleted. **Delete the onde `[patch.crates-io] mio` entry once onde bumps to
145 - `onde-mistralrs 0.9.3+`.** Until that publish lands, keep the patch (0.9.2, the
146 - currently-published set, still drags in `tqdm 0.8.0 → mio 0.8.11`).
143 +- **Applied in:** *(historical)* was `[patch.crates-io]` in onde. The fork's
144 + version (`0.8.11`) stayed semver-compatible with the `^0.8` requirement it
145 + replaced; it did not touch tokio's `^1`.
146 +- **How it was retired (the real fix):** the `onde-tqdm` publish (below) removed
147 + the `mio 0.8.11` line from onde's registry-resolved tree entirely. Verified:
148 + with onde consuming the onde-tqdm-carrying `onde-mistralrs 0.9.3` crates, onde's
149 + lockfile resolves `mio 1.2.2` only — no 0.8.11 — and both visionOS targets
150 + (`aarch64-apple-visionos{,-sim}`) `cargo +nightly check -Z build-std` pass with
151 + the `mio` patch deleted.
152
153 ### tqdm → crossterm 0.29 → `onde-tqdm`
154
Cargo.lock
+70 -62
@@ -855,6 +855,15 @@ dependencies = [
855 "unicode-segmentation",
856 ]
857
858 +[[package]]
859 +name = "convert_case"
860 +version = "0.10.0"
861 +source = "registry+https://github.com/rust-lang/crates.io-index"
862 +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9"
863 +dependencies = [
864 + "unicode-segmentation",
865 +]
866 +
867 [[package]]
868 name = "core-foundation"
869 version = "0.9.4"
@@ -946,15 +955,17 @@ checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17"
955
956 [[package]]
957 name = "crossterm"
949 -version = "0.25.0"
958 +version = "0.29.0"
959 source = "registry+https://github.com/rust-lang/crates.io-index"
951 -checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67"
960 +checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b"
961 dependencies = [
953 - "bitflags 1.3.2",
962 + "bitflags 2.13.1",
963 "crossterm_winapi",
955 - "libc",
956 - "mio 0.8.11",
964 + "derive_more",
965 + "document-features",
966 + "mio",
967 "parking_lot",
968 + "rustix",
969 "signal-hook",
970 "signal-hook-mio",
971 "winapi",
@@ -1220,6 +1231,7 @@ version = "2.1.1"
1231 source = "registry+https://github.com/rust-lang/crates.io-index"
1232 checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb"
1233 dependencies = [
1234 + "convert_case 0.10.0",
1235 "proc-macro2",
1236 "quote",
1237 "rustc_version",
@@ -1305,6 +1317,15 @@ version = "1.1.1"
1317 source = "registry+https://github.com/rust-lang/crates.io-index"
1318 checksum = "c2db04e74f0a9a93103b50e90b96024c9b2bdca8bce6a632ec71b88736d3d359"
1319
1320 +[[package]]
1321 +name = "document-features"
1322 +version = "0.2.12"
1323 +source = "registry+https://github.com/rust-lang/crates.io-index"
1324 +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61"
1325 +dependencies = [
1326 + "litrs",
1327 +]
1328 +
1329 [[package]]
1330 name = "dotenvy"
1331 version = "0.15.7"
@@ -2795,6 +2816,12 @@ version = "0.8.2"
2816 source = "registry+https://github.com/rust-lang/crates.io-index"
2817 checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0"
2818
2819 +[[package]]
2820 +name = "litrs"
2821 +version = "1.0.0"
2822 +source = "registry+https://github.com/rust-lang/crates.io-index"
2823 +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092"
2824 +
2825 [[package]]
2826 name = "llguidance"
2827 version = "1.7.6"
@@ -3046,17 +3073,6 @@ dependencies = [
3073 "simd-adler32",
3074 ]
3075
3049 -[[package]]
3050 -name = "mio"
3051 -version = "0.8.11"
3052 -source = "git+https://github.com/setoelkahfi/mio.git?branch=feature%2Fvisionos#683fca87d9da2c8f947952ecec4e005babbaddbd"
3053 -dependencies = [
3054 - "libc",
3055 - "log",
3056 - "wasi",
3057 - "windows-sys 0.48.0",
3058 -]
3059 -
3076 [[package]]
3077 name = "mio"
3078 version = "1.2.2"
@@ -3064,6 +3080,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3080 checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427"
3081 dependencies = [
3082 "libc",
3083 + "log",
3084 "wasi",
3085 "windows-sys 0.61.2",
3086 ]
@@ -3465,9 +3482,9 @@ dependencies = [
3482
3483 [[package]]
3484 name = "onde-mistralrs"
3468 -version = "0.9.2"
3485 +version = "0.9.3"
3486 source = "registry+https://github.com/rust-lang/crates.io-index"
3470 -checksum = "7d6dd56303633fe696d3a396397f6c7b777ab4b291a3bd11889081469728ad03"
3487 +checksum = "689f038ebc5d6d11e4880a24e50d62f91bbf21358b92c9b5cf7bf5e65af232bd"
3488 dependencies = [
3489 "anyhow",
3490 "clap 4.6.2",
@@ -3493,9 +3510,9 @@ dependencies = [
3510
3511 [[package]]
3512 name = "onde-mistralrs-audio"
3496 -version = "0.9.2"
3513 +version = "0.9.3"
3514 source = "registry+https://github.com/rust-lang/crates.io-index"
3498 -checksum = "59837ac59a57fc7f39b91c05d10cd4fb8cf5923af68c2a0d0e2fe163b9fa331b"
3515 +checksum = "71b9a72504697c5b91e1d0448d67883e8d3046ad060200610c0484aef5dfaee5"
3516 dependencies = [
3517 "anyhow",
3518 "apodize",
@@ -3505,9 +3522,9 @@ dependencies = [
3522
3523 [[package]]
3524 name = "onde-mistralrs-code-exec"
3508 -version = "0.9.2"
3525 +version = "0.9.3"
3526 source = "registry+https://github.com/rust-lang/crates.io-index"
3510 -checksum = "75e94be375b6758b003b44f60a73c532e12d21b882f3ed242444da48a0057fa3"
3527 +checksum = "4016265a19fa51ad973e99a6746904e432d3140b5c2ca14a41077edc6b8648c2"
3528 dependencies = [
3529 "anyhow",
3530 "base64 0.22.1",
@@ -3525,9 +3542,9 @@ dependencies = [
3542
3543 [[package]]
3544 name = "onde-mistralrs-core"
3528 -version = "0.9.2"
3545 +version = "0.9.3"
3546 source = "registry+https://github.com/rust-lang/crates.io-index"
3530 -checksum = "1002300a58b4adaf2e4e80a00e9fb1586221838bfb9fe5f6282b676dea805711"
3547 +checksum = "3e9266eb62ceb5a9cf8fb5342e6a9b78e286f47b670762559ee800a5a2db5132"
3548 dependencies = [
3549 "ahash",
3550 "akin",
@@ -3580,6 +3597,7 @@ dependencies = [
3597 "onde-mistralrs-quant",
3598 "onde-mistralrs-sandbox",
3599 "onde-mistralrs-vision",
3600 + "onde-tqdm",
3601 "openai-harmony",
3602 "ordered-float",
3603 "parking_lot",
@@ -3615,7 +3633,6 @@ dependencies = [
3633 "toktrie",
3634 "toktrie_hf_tokenizers",
3635 "toml",
3618 - "tqdm",
3636 "tracing",
3637 "tracing-subscriber",
3638 "urlencoding",
@@ -3626,9 +3643,9 @@ dependencies = [
3643
3644 [[package]]
3645 name = "onde-mistralrs-macros"
3629 -version = "0.9.2"
3646 +version = "0.9.3"
3647 source = "registry+https://github.com/rust-lang/crates.io-index"
3631 -checksum = "40e618e24be8a9d782e3c67203bb254638dbfa1fe7a58a343e87b725bacdd115"
3648 +checksum = "6e624ab1f0896a07ff437f4c49050c891918c0f01a008113c788b64e5f76c1d9"
3649 dependencies = [
3650 "darling 0.23.0",
3651 "proc-macro2",
@@ -3638,9 +3655,9 @@ dependencies = [
3655
3656 [[package]]
3657 name = "onde-mistralrs-mcp"
3641 -version = "0.9.2"
3658 +version = "0.9.3"
3659 source = "registry+https://github.com/rust-lang/crates.io-index"
3643 -checksum = "be18bf54e73533f535d7bb7f41ef344446f2f30eb38b2d761dd731b75f5c8ab8"
3660 +checksum = "c8bcb140ed84c4dd2683f1533fc58905f959e7394843bc02a315bfdd3ffcbc25"
3661 dependencies = [
3662 "anyhow",
3663 "async-trait",
@@ -3660,9 +3677,9 @@ dependencies = [
3677
3678 [[package]]
3679 name = "onde-mistralrs-metal-compile"
3663 -version = "0.9.2"
3680 +version = "0.9.3"
3681 source = "registry+https://github.com/rust-lang/crates.io-index"
3665 -checksum = "59d4675711b79b2f56d269a532e81aa063e647ce1f51ef58be2de9dfa0ff7844"
3682 +checksum = "44109415be2971d311b403095d3c278443210d0ccc1c383a84ad44da5f5b1abf"
3683 dependencies = [
3684 "candle-metal-kernels",
3685 "objc2-metal",
@@ -3670,9 +3687,9 @@ dependencies = [
3687
3688 [[package]]
3689 name = "onde-mistralrs-paged-attn"
3673 -version = "0.9.2"
3690 +version = "0.9.3"
3691 source = "registry+https://github.com/rust-lang/crates.io-index"
3675 -checksum = "fcd82a7fe695be832d78f5f31df95fbf835e7a23d6e863e4fdd83411cbace0a1"
3692 +checksum = "6f93c8c04d15ebce014e80675387d269bcead85be063bf9afce8b353d64e61b8"
3693 dependencies = [
3694 "anyhow",
3695 "candle-metal-kernels",
@@ -3688,9 +3705,9 @@ dependencies = [
3705
3706 [[package]]
3707 name = "onde-mistralrs-quant"
3691 -version = "0.9.2"
3708 +version = "0.9.3"
3709 source = "registry+https://github.com/rust-lang/crates.io-index"
3693 -checksum = "00294ba7009ba711ffe878a1d7e71055eec7ea9304f2ab3e2e7e155ec27371b2"
3710 +checksum = "1d4ed48af14e3e5ff318a6ea6cefbc1e50ee753f143bd1ae6c0f188c33033d5a"
3711 dependencies = [
3712 "byteorder",
3713 "candle-metal-kernels",
@@ -3723,9 +3740,9 @@ dependencies = [
3740
3741 [[package]]
3742 name = "onde-mistralrs-sandbox"
3726 -version = "0.9.2"
3743 +version = "0.9.3"
3744 source = "registry+https://github.com/rust-lang/crates.io-index"
3728 -checksum = "1690ceaa672988cac66963f75ab77def2c9aa1384011836b7cf2dda71d90fa02"
3745 +checksum = "77845cc6e16e3b1eebed11d3ba6a3a56785f0031421bf46d1deefbe281aaa19e"
3746 dependencies = [
3747 "anyhow",
3748 "itoa",
@@ -3741,15 +3758,26 @@ dependencies = [
3758
3759 [[package]]
3760 name = "onde-mistralrs-vision"
3744 -version = "0.9.2"
3761 +version = "0.9.3"
3762 source = "registry+https://github.com/rust-lang/crates.io-index"
3746 -checksum = "623e475386d5baf928e3cfffd6482e0aa032b84bf33059414a03db02f6cebcd5"
3763 +checksum = "8cdc7ae244c416860838e9cb3ff5cd8ae8acf474f48f2fe15d45bc5491215760"
3764 dependencies = [
3765 "image",
3766 "onde-candle-core",
3767 "rayon",
3768 ]
3769
3770 +[[package]]
3771 +name = "onde-tqdm"
3772 +version = "0.8.2"
3773 +source = "registry+https://github.com/rust-lang/crates.io-index"
3774 +checksum = "2d96f4fcb4af06959bf9c9b81ace0502e2be2d11d7e037c94f3f7851bde720ea"
3775 +dependencies = [
3776 + "anyhow",
3777 + "crossterm",
3778 + "once_cell",
3779 +]
3780 +
3781 [[package]]
3782 name = "onig"
3783 version = "6.5.3"
@@ -5206,7 +5234,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
5234 checksum = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc"
5235 dependencies = [
5236 "libc",
5209 - "mio 0.8.11",
5237 + "mio",
5238 "signal-hook",
5239 ]
5240
@@ -6071,7 +6099,7 @@ checksum = "d988bcd52dbe076d3d46903332f58c912b87a2c49b1428419a5845154762ffee"
6099 dependencies = [
6100 "bytes",
6101 "libc",
6074 - "mio 1.2.2",
6102 + "mio",
6103 "parking_lot",
6104 "pin-project-lite",
6105 "signal-hook-registry",
@@ -6247,17 +6275,6 @@ version = "0.3.3"
6275 source = "registry+https://github.com/rust-lang/crates.io-index"
6276 checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
6277
6250 -[[package]]
6251 -name = "tqdm"
6252 -version = "0.8.0"
6253 -source = "registry+https://github.com/rust-lang/crates.io-index"
6254 -checksum = "b316d5c2ac649ca856dacd487d0ebb94f3b746bada51355d93dd2c007ab62a2e"
6255 -dependencies = [
6256 - "anyhow",
6257 - "crossterm",
6258 - "once_cell",
6259 -]
6260 -
6278 [[package]]
6279 name = "tracing"
6280 version = "0.1.44"
@@ -6341,7 +6358,7 @@ version = "2.2.1"
6358 source = "registry+https://github.com/rust-lang/crates.io-index"
6359 checksum = "4fc20a25899c5ae43735253244214f3d5eb75dd28d9cc8491732294a985adb8c"
6360 dependencies = [
6344 - "convert_case",
6361 + "convert_case 0.6.0",
6362 "proc-macro2",
6363 "quote",
6364 "state",
@@ -7162,15 +7179,6 @@ dependencies = [
7179 "windows-link 0.2.1",
7180 ]
7181
7165 -[[package]]
7166 -name = "windows-sys"
7167 -version = "0.48.0"
7168 -source = "registry+https://github.com/rust-lang/crates.io-index"
7169 -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
7170 -dependencies = [
7171 - "windows-targets 0.48.5",
7172 -]
7173 -
7182 [[package]]
7183 name = "windows-sys"
7184 version = "0.52.0"
Cargo.toml
+17 -19
@@ -26,51 +26,51 @@ crate-type = ["lib", "cdylib", "staticlib"]
26 # in the Android sandbox).
27 [target.'cfg(target_os = "android")'.dependencies]
28 hf-hub = { version = "0.4", features = ["tokio", "rustls-tls"], default-features = false }
29 -mistralrs = { version = "0.9.2", package = "onde-mistralrs", features = [] }
30 -mistralrs-core = { version = "0.9.2", package = "onde-mistralrs-core", features = [] }
29 +mistralrs = { version = "0.9.3", package = "onde-mistralrs", features = [] }
30 +mistralrs-core = { version = "0.9.3", package = "onde-mistralrs-core", features = [] }
31
32 # iOS: Metal-accelerated inference; hf-hub + mistralrs-core needed for
33 # GLOBAL_HF_CACHE sandbox workaround (~/.cache is outside the container).
34 [target.'cfg(target_os = "ios")'.dependencies]
35 hf-hub = { version = "0.4", features = ["tokio", "rustls-tls"], default-features = false }
36 -mistralrs = { version = "0.9.2", package = "onde-mistralrs", features = ["metal"] }
37 -mistralrs-core = { version = "0.9.2", package = "onde-mistralrs-core", features = ["metal"] }
36 +mistralrs = { version = "0.9.3", package = "onde-mistralrs", features = ["metal"] }
37 +mistralrs-core = { version = "0.9.3", package = "onde-mistralrs-core", features = ["metal"] }
38
39 # Linux: CPU-only baseline (no GPU features).
40 # For NVIDIA GPU builds, patch this to features = ["cuda"] in CI before building.
41 [target.'cfg(target_os = "linux")'.dependencies]
42 -mistralrs = { version = "0.9.2", package = "onde-mistralrs" }
42 +mistralrs = { version = "0.9.3", package = "onde-mistralrs" }
43
44 # macOS: Metal-accelerated inference.
45 [target.'cfg(target_os = "macos")'.dependencies]
46 -mistralrs = { version = "0.9.2", package = "onde-mistralrs", features = ["metal"] }
46 +mistralrs = { version = "0.9.3", package = "onde-mistralrs", features = ["metal"] }
47
48 # tvOS: Metal-accelerated inference (Apple TV has Apple GPU); hf-hub +
49 # mistralrs-core needed for GLOBAL_HF_CACHE sandbox workaround.
50 [target.'cfg(target_os = "tvos")'.dependencies]
51 hf-hub = { version = "0.4", features = ["tokio", "rustls-tls"], default-features = false }
52 -mistralrs = { version = "0.9.2", package = "onde-mistralrs", features = ["metal"] }
53 -mistralrs-core = { version = "0.9.2", package = "onde-mistralrs-core", features = ["metal"] }
52 +mistralrs = { version = "0.9.3", package = "onde-mistralrs", features = ["metal"] }
53 +mistralrs-core = { version = "0.9.3", package = "onde-mistralrs-core", features = ["metal"] }
54
55 # visionOS: Metal-accelerated inference (Apple Vision Pro has M2 GPU);
56 # hf-hub + mistralrs-core needed for GLOBAL_HF_CACHE sandbox workaround.
57 [target.'cfg(target_os = "visionos")'.dependencies]
58 hf-hub = { version = "0.4", features = ["tokio", "rustls-tls"], default-features = false }
59 -mistralrs = { version = "0.9.2", package = "onde-mistralrs", features = ["metal"] }
60 -mistralrs-core = { version = "0.9.2", package = "onde-mistralrs-core", features = ["metal"] }
59 +mistralrs = { version = "0.9.3", package = "onde-mistralrs", features = ["metal"] }
60 +mistralrs-core = { version = "0.9.3", package = "onde-mistralrs-core", features = ["metal"] }
61
62 # watchOS: Metal-accelerated inference (Apple Watch Series 4+ has Apple GPU);
63 # hf-hub + mistralrs-core needed for GLOBAL_HF_CACHE sandbox workaround.
64 # Memory constrained — default to 1.5B model.
65 [target.'cfg(target_os = "watchos")'.dependencies]
66 hf-hub = { version = "0.4", features = ["tokio", "rustls-tls"], default-features = false }
67 -mistralrs = { version = "0.9.2", package = "onde-mistralrs", features = ["metal"] }
68 -mistralrs-core = { version = "0.9.2", package = "onde-mistralrs-core", features = ["metal"] }
67 +mistralrs = { version = "0.9.3", package = "onde-mistralrs", features = ["metal"] }
68 +mistralrs-core = { version = "0.9.3", package = "onde-mistralrs-core", features = ["metal"] }
69
70 # Windows: CPU-only baseline (no GPU features).
71 # For NVIDIA GPU builds, patch this to features = ["cuda"] in CI before building.
72 [target.'cfg(target_os = "windows")'.dependencies]
73 -mistralrs = { version = "0.9.2", package = "onde-mistralrs" }
73 +mistralrs = { version = "0.9.3", package = "onde-mistralrs" }
74
75 [dependencies]
76 anyhow = "1"
@@ -102,7 +102,7 @@ dotenvy = "0.15"
102 uniffi = { version = "=0.31.0", features = ["build"] }
103
104 # The target-conditional mistralrs deps above resolve to the published
105 -# onde-mistralrs{,-core} 0.9.2 crates (setoelkahfi/mistral.rs fork,
105 +# onde-mistralrs{,-core} 0.9.3 crates (setoelkahfi/mistral.rs fork,
106 # fix/all-platform-fixes, synced with upstream 0.9.x). Those in turn pull
107 # onde-candle-{core,nn} 0.11.0 (candle rev 27f20fea published under new names;
108 # upstream mistral.rs needs post-0.11.0 candle APIs no released candle has).
@@ -115,10 +115,8 @@ uniffi = { version = "=0.31.0", features = ["build"] }
115 # PR: https://github.com/johalun/sysctl-rs/pull/74
116 # NOTE: [patch.crates-io] is ignored by crates.io consumers — safe to keep.
117 #
118 -# mio 0.8.11 (pulled by tqdm -> crossterm 0.25) lacks visionOS support and hits
119 -# `compile_error!("unsupported target")` when building the Apple XCFramework.
120 -# The fork adds target_os = "visionos" to the existing tvos/watchos cfg gates.
121 -# tokio's mio 1.x already supports visionOS, so only the 0.8.x line needs it.
118 +# mio no longer needs patching: onde-mistralrs-core 0.9.3 depends on onde-tqdm
119 +# 0.8.2 (crossterm 0.29 -> mio 1.x), so the old tqdm -> crossterm 0.25 -> mio
120 +# 0.8.11 chain (which lacked visionOS support) is gone from the tree.
121 [patch.crates-io]
122 sysctl = { git = "https://github.com/setoelkahfi/sysctl-rs.git", branch = "feature/watchos" }
124 -mio = { git = "https://github.com/setoelkahfi/mio.git", branch = "feature/visionos" }