Switch to published crate dependencies and update CI
- Use published versions for all dependencies in Cargo.toml - Add macOS-specific features for candle-core - Add commented [patch.crates-io] block for local development overrides - Update CI to remove matrix builds and set env vars for secrets - Update several dependencies to latest patch versions in Cargo.lock - Fix tilde expansion logic in finetune path handling
keypair34 committed
Apr 22, 2026 at 17:57 UTC
2de6928219b484c4d818f8aac9084747f3435674
7 files changed
+147
-180
.github/workflows/ci.yml
+33
-30
@@ -30,11 +30,8 @@ jobs:
30
with:
31
components: rustfmt
32
33
- - name: Cache cargo registry and build artifacts
34
- uses: Swatinem/rust-cache@v2
35
-
33
- name: Check formatting
37
- run: cargo fmt --all -- --check
34
+ run: cargo fmt -- --check
35
36
clippy:
37
name: Clippy
@@ -52,7 +49,12 @@ jobs:
49
uses: Swatinem/rust-cache@v2
50
51
- name: Lint
55
- run: cargo clippy --all-targets --all-features -- -D warnings
52
+ run: cargo clippy --all-targets -- -D warnings
53
+ env:
54
+ ONDE_APP_ID: ${{ secrets.ONDE_APP_ID }}
55
+ ONDE_APP_SECRET: ${{ secrets.ONDE_APP_SECRET }}
56
+ GRESIQ_API_KEY: ${{ secrets.GRESIQ_API_KEY }}
57
+ GRESIQ_API_SECRET: ${{ secrets.GRESIQ_API_SECRET }}
58
59
test:
60
name: Test
@@ -68,41 +70,37 @@ jobs:
70
uses: Swatinem/rust-cache@v2
71
72
- name: Run tests
71
- run: cargo test --all-features --locked --verbose
73
+ run: cargo test --locked --verbose
74
+ env:
75
+ ONDE_APP_ID: ${{ secrets.ONDE_APP_ID }}
76
+ ONDE_APP_SECRET: ${{ secrets.ONDE_APP_SECRET }}
77
+ GRESIQ_API_KEY: ${{ secrets.GRESIQ_API_KEY }}
78
+ GRESIQ_API_SECRET: ${{ secrets.GRESIQ_API_SECRET }}
79
80
check:
81
name: Cargo check
82
runs-on: ubuntu-latest
76
- strategy:
77
- fail-fast: false
78
- matrix:
79
- target:
80
- - x86_64-unknown-linux-gnu
81
- - x86_64-pc-windows-msvc
82
- - x86_64-apple-darwin
83
steps:
84
- name: Checkout
85
uses: actions/checkout@v4
86
87
- name: Install Rust toolchain
88
uses: dtolnay/rust-toolchain@stable
89
- with:
90
- targets: ${{ matrix.target }}
89
90
- name: Cache cargo registry and build artifacts
91
uses: Swatinem/rust-cache@v2
92
93
- name: Cargo check
96
- run: cargo check --locked --target ${{ matrix.target }}
94
+ run: cargo check --locked
95
+ env:
96
+ ONDE_APP_ID: ${{ secrets.ONDE_APP_ID }}
97
+ ONDE_APP_SECRET: ${{ secrets.ONDE_APP_SECRET }}
98
+ GRESIQ_API_KEY: ${{ secrets.GRESIQ_API_KEY }}
99
+ GRESIQ_API_SECRET: ${{ secrets.GRESIQ_API_SECRET }}
100
101
build:
99
- name: Build
100
- runs-on: ubuntu-latest
101
- strategy:
102
- fail-fast: false
103
- matrix:
104
- target:
105
- - x86_64-unknown-linux-gnu
102
+ name: Build (aarch64-apple-darwin)
103
+ runs-on: macos-latest
104
steps:
105
- name: Checkout
106
uses: actions/checkout@v4
@@ -110,13 +108,18 @@ jobs:
108
- name: Install Rust toolchain
109
uses: dtolnay/rust-toolchain@stable
110
with:
113
- targets: ${{ matrix.target }}
111
+ targets: aarch64-apple-darwin
112
113
- name: Cache cargo registry and build artifacts
114
uses: Swatinem/rust-cache@v2
115
116
- name: Build release binary
119
- run: cargo build --release --locked --target ${{ matrix.target }}
117
+ run: cargo build --release --locked --target aarch64-apple-darwin
118
+ env:
119
+ ONDE_APP_ID: ${{ secrets.ONDE_APP_ID }}
120
+ ONDE_APP_SECRET: ${{ secrets.ONDE_APP_SECRET }}
121
+ GRESIQ_API_KEY: ${{ secrets.GRESIQ_API_KEY }}
122
+ GRESIQ_API_SECRET: ${{ secrets.GRESIQ_API_SECRET }}
123
124
ci:
125
name: CI status
@@ -129,10 +132,10 @@ jobs:
132
- build
133
if: always()
134
steps:
132
- - name: Verify required jobs succeeded
135
+ - name: Verify all required jobs succeeded
136
run: |
134
- test "${{ needs.fmt.result }}" = "success"
137
+ test "${{ needs.fmt.result }}" = "success"
138
test "${{ needs.clippy.result }}" = "success"
136
- test "${{ needs.test.result }}" = "success"
137
- test "${{ needs.check.result }}" = "success"
138
- test "${{ needs.build.result }}" = "success"
139
+ test "${{ needs.test.result }}" = "success"
140
+ test "${{ needs.check.result }}" = "success"
141
+ test "${{ needs.build.result }}" = "success"
Cargo.lock
+77
-130
@@ -154,9 +154,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
154
155
[[package]]
156
name = "bitflags"
157
-version = "2.11.0"
157
+version = "2.11.1"
158
source = "registry+https://github.com/rust-lang/crates.io-index"
159
-checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
159
+checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3"
160
161
[[package]]
162
name = "block"
@@ -223,6 +223,8 @@ checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
223
[[package]]
224
name = "candle-core"
225
version = "0.10.2"
226
+source = "registry+https://github.com/rust-lang/crates.io-index"
227
+checksum = "6bd9895436c1ba5dc1037a19935d084b838db066ff4e15ef7dded020b7c12a4a"
228
dependencies = [
229
"accelerate-src",
230
"byteorder",
@@ -238,7 +240,7 @@ dependencies = [
240
"num_cpus",
241
"objc2-foundation",
242
"objc2-metal",
241
- "rand 0.9.2",
243
+ "rand 0.9.4",
244
"rand_distr",
245
"rayon",
246
"safetensors 0.7.0",
@@ -251,6 +253,8 @@ dependencies = [
253
[[package]]
254
name = "candle-metal-kernels"
255
version = "0.10.2"
256
+source = "registry+https://github.com/rust-lang/crates.io-index"
257
+checksum = "4b6b5a4cae6b4e1ab0efcee4dc05272d11b374a3d1ba121b3a961e36be54ab60"
258
dependencies = [
259
"half",
260
"objc2",
@@ -264,6 +268,8 @@ dependencies = [
268
[[package]]
269
name = "candle-nn"
270
version = "0.10.2"
271
+source = "registry+https://github.com/rust-lang/crates.io-index"
272
+checksum = "a9317a09d6530b758990ed7f625ac69ff43653bc9ee28b0464644ad1169ada87"
273
dependencies = [
274
"candle-core",
275
"half",
@@ -278,6 +284,8 @@ dependencies = [
284
[[package]]
285
name = "candle-ug"
286
version = "0.10.2"
287
+source = "registry+https://github.com/rust-lang/crates.io-index"
288
+checksum = "ca0fc3167cbc99c8ec1be618cb620aa21dca95038f118c3579a79370e3dc5f77"
289
dependencies = [
290
"ug",
291
"ug-metal",
@@ -351,9 +359,9 @@ dependencies = [
359
360
[[package]]
361
name = "clap"
354
-version = "4.6.0"
362
+version = "4.6.1"
363
source = "registry+https://github.com/rust-lang/crates.io-index"
356
-checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351"
364
+checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51"
365
dependencies = [
366
"clap_builder",
367
"clap_derive",
@@ -373,9 +381,9 @@ dependencies = [
381
382
[[package]]
383
name = "clap_derive"
376
-version = "4.6.0"
384
+version = "4.6.1"
385
source = "registry+https://github.com/rust-lang/crates.io-index"
378
-checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a"
386
+checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9"
387
dependencies = [
388
"heck 0.5.0",
389
"proc-macro2",
@@ -519,7 +527,7 @@ version = "0.28.1"
527
source = "registry+https://github.com/rust-lang/crates.io-index"
528
checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6"
529
dependencies = [
522
- "bitflags 2.11.0",
530
+ "bitflags 2.11.1",
531
"crossterm_winapi",
532
"futures-core",
533
"mio",
@@ -701,7 +709,7 @@ version = "0.3.1"
709
source = "registry+https://github.com/rust-lang/crates.io-index"
710
checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38"
711
dependencies = [
704
- "bitflags 2.11.0",
712
+ "bitflags 2.11.1",
713
"objc2",
714
]
715
@@ -769,7 +777,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
777
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
778
dependencies = [
779
"libc",
772
- "windows-sys 0.61.2",
780
+ "windows-sys 0.59.0",
781
]
782
783
[[package]]
@@ -792,7 +800,7 @@ checksum = "c2d1f04709a8ac06e8e8042875a3c466cc4832d3c1a18dbcb9dba3c6e83046bc"
800
dependencies = [
801
"half",
802
"num-traits",
795
- "rand 0.9.2",
803
+ "rand 0.9.4",
804
"rand_distr",
805
]
806
@@ -1249,7 +1257,7 @@ dependencies = [
1257
"cfg-if",
1258
"crunchy",
1259
"num-traits",
1252
- "rand 0.9.2",
1260
+ "rand 0.9.4",
1261
"rand_distr",
1262
"zerocopy",
1263
]
@@ -1381,16 +1389,15 @@ dependencies = [
1389
1390
[[package]]
1391
name = "hyper-rustls"
1384
-version = "0.27.7"
1392
+version = "0.27.9"
1393
source = "registry+https://github.com/rust-lang/crates.io-index"
1386
-checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58"
1394
+checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f"
1395
dependencies = [
1396
"http",
1397
"hyper",
1398
"hyper-util",
1399
"rustls",
1400
"rustls-native-certs",
1393
- "rustls-pki-types",
1401
"tokio",
1402
"tokio-rustls",
1403
"tower-service",
@@ -1683,9 +1690,9 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
1690
1691
[[package]]
1692
name = "libc"
1686
-version = "0.2.184"
1693
+version = "0.2.185"
1694
source = "registry+https://github.com/rust-lang/crates.io-index"
1688
-checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af"
1695
+checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f"
1696
1697
[[package]]
1698
name = "libloading"
@@ -1831,7 +1838,7 @@ version = "0.29.0"
1838
source = "registry+https://github.com/rust-lang/crates.io-index"
1839
checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21"
1840
dependencies = [
1834
- "bitflags 2.11.0",
1841
+ "bitflags 2.11.1",
1842
"block",
1843
"core-graphics-types",
1844
"foreign-types",
@@ -1896,7 +1903,7 @@ version = "0.50.3"
1903
source = "registry+https://github.com/rust-lang/crates.io-index"
1904
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
1905
dependencies = [
1899
- "windows-sys 0.61.2",
1906
+ "windows-sys 0.59.0",
1907
]
1908
1909
[[package]]
@@ -2008,7 +2015,7 @@ version = "0.3.2"
2015
source = "registry+https://github.com/rust-lang/crates.io-index"
2016
checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
2017
dependencies = [
2011
- "bitflags 2.11.0",
2018
+ "bitflags 2.11.1",
2019
"dispatch2",
2020
"objc2",
2021
]
@@ -2025,7 +2032,7 @@ version = "0.3.2"
2032
source = "registry+https://github.com/rust-lang/crates.io-index"
2033
checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
2034
dependencies = [
2028
- "bitflags 2.11.0",
2035
+ "bitflags 2.11.1",
2036
"block2",
2037
"libc",
2038
"objc2",
@@ -2038,7 +2045,7 @@ version = "0.3.2"
2045
source = "registry+https://github.com/rust-lang/crates.io-index"
2046
checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794"
2047
dependencies = [
2041
- "bitflags 2.11.0",
2048
+ "bitflags 2.11.1",
2049
"block2",
2050
"dispatch2",
2051
"objc2",
@@ -2089,7 +2096,7 @@ version = "6.5.1"
2096
source = "registry+https://github.com/rust-lang/crates.io-index"
2097
checksum = "336b9c63443aceef14bea841b899035ae3abe89b7c486aaf4c5bd8aafedac3f0"
2098
dependencies = [
2092
- "bitflags 2.11.0",
2099
+ "bitflags 2.11.1",
2100
"libc",
2101
"once_cell",
2102
"onig_sys",
@@ -2291,7 +2298,7 @@ dependencies = [
2298
"bytes",
2299
"getrandom 0.3.4",
2300
"lru-slab",
2294
- "rand 0.9.2",
2301
+ "rand 0.9.4",
2302
"ring",
2303
"rustc-hash",
2304
"rustls",
@@ -2314,7 +2321,7 @@ dependencies = [
2321
"once_cell",
2322
"socket2",
2323
"tracing",
2317
- "windows-sys 0.60.2",
2324
+ "windows-sys 0.59.0",
2325
]
2326
2327
[[package]]
@@ -2351,9 +2358,9 @@ dependencies = [
2358
2359
[[package]]
2360
name = "rand"
2354
-version = "0.9.2"
2361
+version = "0.9.4"
2362
source = "registry+https://github.com/rust-lang/crates.io-index"
2356
-checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
2363
+checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea"
2364
dependencies = [
2365
"rand_chacha 0.9.0",
2366
"rand_core 0.9.5",
@@ -2404,7 +2411,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2411
checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463"
2412
dependencies = [
2413
"num-traits",
2407
- "rand 0.9.2",
2414
+ "rand 0.9.4",
2415
]
2416
2417
[[package]]
@@ -2413,7 +2420,7 @@ version = "0.29.0"
2420
source = "registry+https://github.com/rust-lang/crates.io-index"
2421
checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b"
2422
dependencies = [
2416
- "bitflags 2.11.0",
2423
+ "bitflags 2.11.1",
2424
"cassowary",
2425
"compact_str 0.8.1",
2426
"crossterm",
@@ -2434,7 +2441,7 @@ version = "11.6.0"
2441
source = "registry+https://github.com/rust-lang/crates.io-index"
2442
checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186"
2443
dependencies = [
2437
- "bitflags 2.11.0",
2444
+ "bitflags 2.11.1",
2445
]
2446
2447
[[package]]
@@ -2491,7 +2498,7 @@ version = "0.5.18"
2498
source = "registry+https://github.com/rust-lang/crates.io-index"
2499
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
2500
dependencies = [
2494
- "bitflags 2.11.0",
2501
+ "bitflags 2.11.1",
2502
]
2503
2504
[[package]]
@@ -2602,7 +2609,7 @@ version = "0.38.44"
2609
source = "registry+https://github.com/rust-lang/crates.io-index"
2610
checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
2611
dependencies = [
2605
- "bitflags 2.11.0",
2612
+ "bitflags 2.11.1",
2613
"errno",
2614
"libc",
2615
"linux-raw-sys",
@@ -2611,9 +2618,9 @@ dependencies = [
2618
2619
[[package]]
2620
name = "rustls"
2614
-version = "0.23.37"
2621
+version = "0.23.38"
2622
source = "registry+https://github.com/rust-lang/crates.io-index"
2616
-checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4"
2623
+checksum = "69f9466fb2c14ea04357e91413efb882e2a6d4a406e625449bc0a5d360d53a21"
2624
dependencies = [
2625
"once_cell",
2626
"ring",
@@ -2647,9 +2654,9 @@ dependencies = [
2654
2655
[[package]]
2656
name = "rustls-webpki"
2650
-version = "0.103.11"
2657
+version = "0.103.13"
2658
source = "registry+https://github.com/rust-lang/crates.io-index"
2652
-checksum = "20a6af516fea4b20eccceaf166e8aa666ac996208e8a644ce3ef5aa783bc7cd4"
2659
+checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e"
2660
dependencies = [
2661
"ring",
2662
"rustls-pki-types",
@@ -2725,7 +2732,7 @@ version = "3.7.0"
2732
source = "registry+https://github.com/rust-lang/crates.io-index"
2733
checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d"
2734
dependencies = [
2728
- "bitflags 2.11.0",
2735
+ "bitflags 2.11.1",
2736
"core-foundation 0.10.1",
2737
"core-foundation-sys",
2738
"libc",
@@ -2892,6 +2899,8 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
2899
[[package]]
2900
name = "smbcloud-auth-sdk"
2901
version = "0.3.34"
2902
+source = "registry+https://github.com/rust-lang/crates.io-index"
2903
+checksum = "69ab2f5faa2a3c4588f073ce98e70ac74cfdbbab593c3e2f7d3cebf0b16de72a"
2904
dependencies = [
2905
"base64 0.22.1",
2906
"reqwest",
@@ -2906,7 +2915,9 @@ dependencies = [
2915
2916
[[package]]
2917
name = "smbcloud-gresiq-sdk"
2909
-version = "0.3.34"
2918
+version = "0.3.35"
2919
+source = "registry+https://github.com/rust-lang/crates.io-index"
2920
+checksum = "260fbaeaef9dcfe865159dd4b0980a94ebdd1cf2a09267e8a966b485d643ce21"
2921
dependencies = [
2922
"anyhow",
2923
"log",
@@ -2921,6 +2932,8 @@ dependencies = [
2932
[[package]]
2933
name = "smbcloud-model"
2934
version = "0.3.35"
2935
+source = "registry+https://github.com/rust-lang/crates.io-index"
2936
+checksum = "eeba5e1371b12e9573e6eba49ea99ea990ec1b6befe7bfcafaf41b43e1cf331d"
2937
dependencies = [
2938
"chrono",
2939
"log",
@@ -2937,8 +2950,10 @@ dependencies = [
2950
[[package]]
2951
name = "smbcloud-network"
2952
version = "0.3.35"
2953
+source = "registry+https://github.com/rust-lang/crates.io-index"
2954
+checksum = "1c236db19d4cea01cf48b584838fcc898745514c8e01c1c0cad0cba976cabefb"
2955
dependencies = [
2941
- "clap 4.6.0",
2956
+ "clap 4.6.1",
2957
"log",
2958
"reqwest",
2959
"serde",
@@ -3153,7 +3168,7 @@ version = "0.6.0"
3168
source = "registry+https://github.com/rust-lang/crates.io-index"
3169
checksum = "01198a2debb237c62b6826ec7081082d951f46dbb64b0e8c7649a452230d1dfc"
3170
dependencies = [
3156
- "bitflags 2.11.0",
3171
+ "bitflags 2.11.1",
3172
"byteorder",
3173
"enum-as-inner",
3174
"libc",
@@ -3294,7 +3309,7 @@ dependencies = [
3309
"monostate",
3310
"onig",
3311
"paste",
3297
- "rand 0.9.2",
3312
+ "rand 0.9.4",
3313
"rayon",
3314
"rayon-cond 0.4.0",
3315
"regex",
@@ -3310,9 +3325,9 @@ dependencies = [
3325
3326
[[package]]
3327
name = "tokio"
3313
-version = "1.51.1"
3328
+version = "1.52.1"
3329
source = "registry+https://github.com/rust-lang/crates.io-index"
3315
-checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c"
3330
+checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6"
3331
dependencies = [
3332
"bytes",
3333
"libc",
@@ -3378,7 +3393,7 @@ version = "0.6.8"
3393
source = "registry+https://github.com/rust-lang/crates.io-index"
3394
checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8"
3395
dependencies = [
3381
- "bitflags 2.11.0",
3396
+ "bitflags 2.11.1",
3397
"bytes",
3398
"futures-util",
3399
"http",
@@ -3499,9 +3514,9 @@ checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e"
3514
3515
[[package]]
3516
name = "typenum"
3502
-version = "1.19.0"
3517
+version = "1.20.0"
3518
source = "registry+https://github.com/rust-lang/crates.io-index"
3504
-checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
3519
+checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de"
3520
3521
[[package]]
3522
name = "ug"
@@ -3632,9 +3647,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
3647
3648
[[package]]
3649
name = "uuid"
3635
-version = "1.23.0"
3650
+version = "1.23.1"
3651
source = "registry+https://github.com/rust-lang/crates.io-index"
3637
-checksum = "5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9"
3652
+checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76"
3653
dependencies = [
3654
"getrandom 0.4.2",
3655
"js-sys",
@@ -3686,11 +3701,11 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
3701
3702
[[package]]
3703
name = "wasip2"
3689
-version = "1.0.2+wasi-0.2.9"
3704
+version = "1.0.3+wasi-0.2.9"
3705
source = "registry+https://github.com/rust-lang/crates.io-index"
3691
-checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
3706
+checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6"
3707
dependencies = [
3693
- "wit-bindgen",
3708
+ "wit-bindgen 0.57.1",
3709
]
3710
3711
[[package]]
@@ -3699,7 +3714,7 @@ version = "0.4.0+wasi-0.3.0-rc-2026-01-06"
3714
source = "registry+https://github.com/rust-lang/crates.io-index"
3715
checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5"
3716
dependencies = [
3702
- "wit-bindgen",
3717
+ "wit-bindgen 0.51.0",
3718
]
3719
3720
[[package]]
@@ -3798,7 +3813,7 @@ version = "0.244.0"
3813
source = "registry+https://github.com/rust-lang/crates.io-index"
3814
checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
3815
dependencies = [
3801
- "bitflags 2.11.0",
3816
+ "bitflags 2.11.1",
3817
"hashbrown 0.15.5",
3818
"indexmap",
3819
"semver",
@@ -3855,7 +3870,7 @@ version = "0.1.11"
3870
source = "registry+https://github.com/rust-lang/crates.io-index"
3871
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
3872
dependencies = [
3858
- "windows-sys 0.61.2",
3873
+ "windows-sys 0.48.0",
3874
]
3875
3876
[[package]]
@@ -3959,15 +3974,6 @@ dependencies = [
3974
"windows-targets 0.52.6",
3975
]
3976
3962
-[[package]]
3963
-name = "windows-sys"
3964
-version = "0.60.2"
3965
-source = "registry+https://github.com/rust-lang/crates.io-index"
3966
-checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
3967
-dependencies = [
3968
- "windows-targets 0.53.5",
3969
-]
3970
-
3977
[[package]]
3978
name = "windows-sys"
3979
version = "0.61.2"
@@ -4001,30 +4007,13 @@ dependencies = [
4007
"windows_aarch64_gnullvm 0.52.6",
4008
"windows_aarch64_msvc 0.52.6",
4009
"windows_i686_gnu 0.52.6",
4004
- "windows_i686_gnullvm 0.52.6",
4010
+ "windows_i686_gnullvm",
4011
"windows_i686_msvc 0.52.6",
4012
"windows_x86_64_gnu 0.52.6",
4013
"windows_x86_64_gnullvm 0.52.6",
4014
"windows_x86_64_msvc 0.52.6",
4015
]
4016
4011
-[[package]]
4012
-name = "windows-targets"
4013
-version = "0.53.5"
4014
-source = "registry+https://github.com/rust-lang/crates.io-index"
4015
-checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
4016
-dependencies = [
4017
- "windows-link",
4018
- "windows_aarch64_gnullvm 0.53.1",
4019
- "windows_aarch64_msvc 0.53.1",
4020
- "windows_i686_gnu 0.53.1",
4021
- "windows_i686_gnullvm 0.53.1",
4022
- "windows_i686_msvc 0.53.1",
4023
- "windows_x86_64_gnu 0.53.1",
4024
- "windows_x86_64_gnullvm 0.53.1",
4025
- "windows_x86_64_msvc 0.53.1",
4026
-]
4027
-
4017
[[package]]
4018
name = "windows_aarch64_gnullvm"
4019
version = "0.48.5"
@@ -4037,12 +4026,6 @@ version = "0.52.6"
4026
source = "registry+https://github.com/rust-lang/crates.io-index"
4027
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
4028
4040
-[[package]]
4041
-name = "windows_aarch64_gnullvm"
4042
-version = "0.53.1"
4043
-source = "registry+https://github.com/rust-lang/crates.io-index"
4044
-checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
4045
-
4029
[[package]]
4030
name = "windows_aarch64_msvc"
4031
version = "0.48.5"
@@ -4055,12 +4038,6 @@ version = "0.52.6"
4038
source = "registry+https://github.com/rust-lang/crates.io-index"
4039
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
4040
4058
-[[package]]
4059
-name = "windows_aarch64_msvc"
4060
-version = "0.53.1"
4061
-source = "registry+https://github.com/rust-lang/crates.io-index"
4062
-checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
4063
-
4041
[[package]]
4042
name = "windows_i686_gnu"
4043
version = "0.48.5"
@@ -4073,24 +4050,12 @@ version = "0.52.6"
4050
source = "registry+https://github.com/rust-lang/crates.io-index"
4051
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
4052
4076
-[[package]]
4077
-name = "windows_i686_gnu"
4078
-version = "0.53.1"
4079
-source = "registry+https://github.com/rust-lang/crates.io-index"
4080
-checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
4081
-
4053
[[package]]
4054
name = "windows_i686_gnullvm"
4055
version = "0.52.6"
4056
source = "registry+https://github.com/rust-lang/crates.io-index"
4057
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
4058
4088
-[[package]]
4089
-name = "windows_i686_gnullvm"
4090
-version = "0.53.1"
4091
-source = "registry+https://github.com/rust-lang/crates.io-index"
4092
-checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
4093
-
4059
[[package]]
4060
name = "windows_i686_msvc"
4061
version = "0.48.5"
@@ -4103,12 +4068,6 @@ version = "0.52.6"
4068
source = "registry+https://github.com/rust-lang/crates.io-index"
4069
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
4070
4106
-[[package]]
4107
-name = "windows_i686_msvc"
4108
-version = "0.53.1"
4109
-source = "registry+https://github.com/rust-lang/crates.io-index"
4110
-checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
4111
-
4071
[[package]]
4072
name = "windows_x86_64_gnu"
4073
version = "0.48.5"
@@ -4121,12 +4080,6 @@ version = "0.52.6"
4080
source = "registry+https://github.com/rust-lang/crates.io-index"
4081
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
4082
4124
-[[package]]
4125
-name = "windows_x86_64_gnu"
4126
-version = "0.53.1"
4127
-source = "registry+https://github.com/rust-lang/crates.io-index"
4128
-checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
4129
-
4083
[[package]]
4084
name = "windows_x86_64_gnullvm"
4085
version = "0.48.5"
@@ -4139,12 +4092,6 @@ version = "0.52.6"
4092
source = "registry+https://github.com/rust-lang/crates.io-index"
4093
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
4094
4142
-[[package]]
4143
-name = "windows_x86_64_gnullvm"
4144
-version = "0.53.1"
4145
-source = "registry+https://github.com/rust-lang/crates.io-index"
4146
-checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
4147
-
4095
[[package]]
4096
name = "windows_x86_64_msvc"
4097
version = "0.48.5"
@@ -4157,12 +4104,6 @@ version = "0.52.6"
4104
source = "registry+https://github.com/rust-lang/crates.io-index"
4105
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
4106
4160
-[[package]]
4161
-name = "windows_x86_64_msvc"
4162
-version = "0.53.1"
4163
-source = "registry+https://github.com/rust-lang/crates.io-index"
4164
-checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
4165
-
4107
[[package]]
4108
name = "wit-bindgen"
4109
version = "0.51.0"
@@ -4172,6 +4113,12 @@ dependencies = [
4113
"wit-bindgen-rust-macro",
4114
]
4115
4116
+[[package]]
4117
+name = "wit-bindgen"
4118
+version = "0.57.1"
4119
+source = "registry+https://github.com/rust-lang/crates.io-index"
4120
+checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
4121
+
4122
[[package]]
4123
name = "wit-bindgen-core"
4124
version = "0.51.0"
@@ -4221,7 +4168,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
4168
checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
4169
dependencies = [
4170
"anyhow",
4224
- "bitflags 2.11.0",
4171
+ "bitflags 2.11.1",
4172
"indexmap",
4173
"log",
4174
"serde",
Cargo.toml
+23
-12
@@ -29,19 +29,30 @@ ratatui = "0.29"
29
libc = "0.2"
30
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls-native-roots"] }
31
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
32
-smbcloud-auth-sdk = { path = "../smbcloud-cli/crates/smbcloud-auth-sdk" }
33
-smbcloud-model = { path = "../smbcloud-cli/crates/smbcloud-model" }
34
-smbcloud-network = { path = "../smbcloud-cli/crates/smbcloud-network" }
35
-smbcloud-gresiq-sdk = { path = "../smbcloud-cli/crates/smbcloud-gresiq-sdk" }
36
-
37
-candle-core = { path = "../candle/candle-core", features = ["metal", "accelerate"] }
38
-candle-nn = { path = "../candle/candle-nn" }
32
+smbcloud-auth-sdk = "0.3.34"
33
+smbcloud-model = "0.3.35"
34
+smbcloud-network = "0.3.35"
35
+smbcloud-gresiq-sdk = "0.3.35"
36
+candle-core = "0.10.2"
37
+candle-nn = "0.10.2"
38
tokenizers = { version = "0.20", default-features = false, features = ["onig"] }
39
serde = { version = "1", features = ["derive"] }
40
serde_json = "1"
41
43
-# To publish to crates.io, switch back to version specs and remove path deps:
44
-# smbcloud-auth-sdk = { version = "0.3" }
45
-# smbcloud-model = { version = "0.3" }
46
-# smbcloud-network = { version = "0.3" }
47
-# smbcloud-gresiq-sdk = { version = "0.1" }
42
+# Metal and Accelerate are macOS-only frameworks; Cargo merges features so on
43
+# macOS these are added on top of the base candle-core dep above.
44
+[target.'cfg(target_os = "macos")'.dependencies]
45
+candle-core = { version = "0.10.2", features = ["metal", "accelerate"] }
46
+
47
+# ---------------------------------------------------------------------------
48
+# Local development overrides
49
+# Uncomment the [patch.crates-io] block below to use path deps while working
50
+# on the upstream crates alongside onde-cli. Never commit with this active.
51
+# ---------------------------------------------------------------------------
52
+# [patch.crates-io]
53
+# smbcloud-auth-sdk = { path = "../smbcloud-cli/crates/smbcloud-auth-sdk" }
54
+# smbcloud-model = { path = "../smbcloud-cli/crates/smbcloud-model" }
55
+# smbcloud-network = { path = "../smbcloud-cli/crates/smbcloud-network" }
56
+# smbcloud-gresiq-sdk = { path = "../smbcloud-cli/crates/smbcloud-gresiq-sdk" }
57
+# candle-core = { path = "../candle/candle-core" }
58
+# candle-nn = { path = "../candle/candle-nn" }
src/app.rs
+6
-6
@@ -1058,12 +1058,12 @@ fn handle_key_finetune(
1058
1059
// Expand ~ in paths
1060
let expand = |s: &str| -> String {
1061
- if let Some(rest) = s.strip_prefix("~/") {
1062
- if let Some(home) = dirs::home_dir() {
1063
- return home.join(rest).to_string_lossy().to_string();
1064
- }
1065
- }
1066
- s.to_string()
1061
+ dirs::home_dir()
1062
+ .and_then(|home| {
1063
+ s.strip_prefix("~/")
1064
+ .map(|rest| home.join(rest).to_string_lossy().to_string())
1065
+ })
1066
+ .unwrap_or_else(|| s.to_string())
1067
};
1068
1069
let model_dir = std::path::PathBuf::from(expand(&app.finetune_model_dir));
src/finetune.rs
+1
@@ -610,6 +610,7 @@ struct LoraQwenModel {
610
rope_cos: Tensor, // [max_seq_len, head_dim]
611
rope_sin: Tensor, // [max_seq_len, head_dim]
612
hidden_size: usize,
613
+ #[allow(dead_code)]
614
vocab_size: usize,
615
rms_norm_eps: f64,
616
}
src/hf.rs
+6
-2
@@ -181,7 +181,11 @@ fn scan_dir(dir: &PathBuf, source: CacheSource) -> Vec<LocalModel> {
181
182
let remainder = &dir_name["models--".len()..];
183
let model_id = remainder.replace("--", "/");
184
- let display_name = model_id.split('/').last().unwrap_or(&model_id).to_string();
184
+ let display_name = model_id
185
+ .split('/')
186
+ .next_back()
187
+ .unwrap_or(&model_id)
188
+ .to_string();
189
190
let size_bytes = dir_size(&path);
191
@@ -234,7 +238,7 @@ pub fn merge_models(catalog: &[OndeModel], local: Vec<LocalModel>) -> Vec<Merged
238
let display_name = cm
239
.name
240
.as_deref()
237
- .unwrap_or_else(|| hf_id.split('/').last().unwrap_or(hf_id))
241
+ .unwrap_or_else(|| hf_id.split('/').next_back().unwrap_or(hf_id))
242
.to_string();
243
244
merged.push(MergedModel {
src/hf_search.rs
+1
@@ -22,6 +22,7 @@ pub struct HfModelInfo {
22
#[serde(default)]
23
pub downloads: u64,
24
#[serde(default)]
25
+ #[allow(dead_code)]
26
pub tags: Vec<String>,
27
/// Commit SHA of the latest revision.
28
pub sha: Option<String>,