From 2ebcb5db6d1db289302494ab409b8f0d4fe3cd33 Mon Sep 17 00:00:00 2001 From: PTFOPlayer Date: Mon, 29 Jun 2026 09:01:06 +0200 Subject: [PATCH 1/2] chore: bump package versions and dependencies --- Cargo.lock | 196 +++++++++++---------- Cargo.toml | 6 +- docs/examples/sockudo-worker/Cargo.toml | 8 +- docs/examples/sockudo-worker/src/auth.rs | 2 +- docs/examples/sockudo-worker/src/worker.rs | 6 +- tinyharness-lib/Cargo.toml | 10 +- tinyharness-lib/src/provider/sockudo.rs | 6 +- tinyharness-ui/Cargo.toml | 4 +- 8 files changed, 121 insertions(+), 117 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7d03708..ba1a387 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 4 [[package]] name = "TinyHarness" -version = "0.3.0" +version = "0.3.1" dependencies = [ "chrono", "clap", @@ -165,6 +165,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" +dependencies = [ + "hybrid-array", +] + [[package]] name = "block2" version = "0.6.2" @@ -180,12 +189,6 @@ version = "3.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - [[package]] name = "bytes" version = "1.12.0" @@ -287,6 +290,12 @@ dependencies = [ "cc", ] +[[package]] +name = "cmov" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" + [[package]] name = "colorchoice" version = "1.0.5" @@ -303,6 +312,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "const-oid" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" + [[package]] name = "core-foundation" version = "0.9.4" @@ -338,6 +353,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "crypto-common" version = "0.1.7" @@ -348,6 +372,15 @@ dependencies = [ "typenum", ] +[[package]] +name = "crypto-common" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" +dependencies = [ + "hybrid-array", +] + [[package]] name = "ctrlc" version = "3.5.2" @@ -359,6 +392,15 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "ctutils" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" +dependencies = [ + "cmov", +] + [[package]] name = "data-encoding" version = "2.11.0" @@ -371,9 +413,20 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", - "crypto-common", - "subtle", + "block-buffer 0.10.4", + "crypto-common 0.1.7", +] + +[[package]] +name = "digest" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" +dependencies = [ + "block-buffer 0.12.1", + "const-oid", + "crypto-common 0.2.2", + "ctutils", ] [[package]] @@ -643,11 +696,11 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hmac" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f" dependencies = [ - "digest", + "digest 0.11.3", ] [[package]] @@ -698,6 +751,15 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +[[package]] +name = "hybrid-array" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "818356c5132c1fede50f837ca96afbe78ff42413047f4abb886217845e1b6c8c" +dependencies = [ + "typenum", +] + [[package]] name = "hyper" version = "1.10.1" @@ -942,7 +1004,7 @@ dependencies = [ "jni-sys", "log", "simd_cesu8", - "thiserror 2.0.18", + "thiserror", "walkdir", "windows-link", ] @@ -1047,9 +1109,9 @@ checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] name = "md5" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" +checksum = "ae960838283323069879657ca3de837e9f7bbb4c7bf6ea7f1b290d5e9476d2e0" [[package]] name = "memchr" @@ -1158,7 +1220,7 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "thiserror 2.0.18", + "thiserror", "tokio", "tokio-stream", "url", @@ -1301,7 +1363,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror 2.0.18", + "thiserror", "tokio", "tracing", "web-time", @@ -1317,13 +1379,13 @@ dependencies = [ "bytes", "getrandom 0.3.4", "lru-slab", - "rand 0.9.4", + "rand", "ring", "rustc-hash", "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.18", + "thiserror", "tinyvec", "tracing", "web-time", @@ -1374,35 +1436,14 @@ dependencies = [ "nibble_vec", ] -[[package]] -name = "rand" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - [[package]] name = "rand" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.5", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", + "rand_chacha", + "rand_core", ] [[package]] @@ -1412,16 +1453,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.5", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.17", + "rand_core", ] [[package]] @@ -1887,19 +1919,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.2.17", + "digest 0.10.7", ] [[package]] name = "sha2" -version = "0.10.9" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" dependencies = [ "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.3.0", + "digest 0.11.3", ] [[package]] @@ -2064,33 +2096,13 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - [[package]] name = "thiserror" version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.18", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "thiserror-impl", ] [[package]] @@ -2115,7 +2127,7 @@ dependencies = [ [[package]] name = "tinyharness-lib" -version = "0.3.0" +version = "0.3.1" dependencies = [ "futures-util", "glob", @@ -2138,7 +2150,7 @@ dependencies = [ [[package]] name = "tinyharness-ui" -version = "0.3.0" +version = "0.3.1" dependencies = [ "libc", "regex", @@ -2235,9 +2247,9 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.24.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" +checksum = "8f72a05e828585856dacd553fba484c242c46e391fb0e58917c942ee9202915c" dependencies = [ "futures-util", "log", @@ -2368,20 +2380,18 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.24.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +checksum = "6c01152af293afb9c7c2a57e4b559c5620b421f6d133261c60dd2d0cdb38e6b8" dependencies = [ - "byteorder", "bytes", "data-encoding", "http", "httparse", "log", - "rand 0.8.6", + "rand", "sha1", - "thiserror 1.0.69", - "utf-8", + "thiserror", ] [[package]] @@ -2426,12 +2436,6 @@ dependencies = [ "serde", ] -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - [[package]] name = "utf8_iter" version = "1.0.4" diff --git a/Cargo.toml b/Cargo.toml index 5820a0b..d6b5ad8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = [".", "tinyharness-lib", "tinyharness-ui"] [package] name = "TinyHarness" -version = "0.3.0" +version = "0.3.1" license = "MIT" description = "tinyharness - ai coding harness" edition = "2024" @@ -13,8 +13,8 @@ name = "tinyharness" path = "src/main.rs" [dependencies] -tinyharness-lib = { version = "0.3.0", path = "tinyharness-lib" } -tinyharness-ui = { version = "0.3.0", path = "tinyharness-ui" } +tinyharness-lib = { version = "0.3.1", path = "tinyharness-lib" } +tinyharness-ui = { version = "0.3.1", path = "tinyharness-ui" } clap = { version = "4.6.1", features = ["derive"] } tokio = { version = "1.52.1", features = ["full"] } serde = { version = "1.0.228", features = ["derive"] } diff --git a/docs/examples/sockudo-worker/Cargo.toml b/docs/examples/sockudo-worker/Cargo.toml index 3af0bb5..5144797 100644 --- a/docs/examples/sockudo-worker/Cargo.toml +++ b/docs/examples/sockudo-worker/Cargo.toml @@ -10,14 +10,14 @@ description = "Sockudo AI Transport worker — connects to Sockudo, receives ai- [dependencies] tokio = { version = "1.52.1", features = ["full"] } -tokio-tungstenite = "0.24" +tokio-tungstenite = "0.29.0" futures-util = "0.3" reqwest = { version = "0.13.2", features = ["stream", "json"] } serde = { version = "1.0.228", features = ["derive"] } serde_json = "1.0.149" -hmac = "0.12" -sha2 = "0.10" -md5 = "0.7" +hmac = "0.13.0" +sha2 = "0.11.0" +md5 = "0.8.0" uuid = { version = "1", features = ["v4"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } diff --git a/docs/examples/sockudo-worker/src/auth.rs b/docs/examples/sockudo-worker/src/auth.rs index e3f1fb2..6dedada 100644 --- a/docs/examples/sockudo-worker/src/auth.rs +++ b/docs/examples/sockudo-worker/src/auth.rs @@ -4,7 +4,7 @@ use std::time::{SystemTime, UNIX_EPOCH}; -use hmac::{Hmac, Mac}; +use hmac::{Hmac, KeyInit, Mac}; use sha2::Sha256; type HmacSha256 = Hmac; diff --git a/docs/examples/sockudo-worker/src/worker.rs b/docs/examples/sockudo-worker/src/worker.rs index 6912b83..1a3d3d6 100644 --- a/docs/examples/sockudo-worker/src/worker.rs +++ b/docs/examples/sockudo-worker/src/worker.rs @@ -122,7 +122,7 @@ impl SockudoWorker { tokio::select! { // Periodic keepalive ping _ = ping_ticker.tick() => { - if ws_write.send(WsMessage::Ping(vec![])).await.is_err() { + if ws_write.send(WsMessage::Ping(vec![].into())).await.is_err() { return Err("WebSocket ping send failed".to_string()); } continue; @@ -148,7 +148,7 @@ impl SockudoWorker { WsMessage::Text(t) => t.to_string(), WsMessage::Binary(b) => String::from_utf8_lossy(&b).to_string(), WsMessage::Ping(_) => { - let _ = ws_write.send(WsMessage::Pong(vec![])).await; + let _ = ws_write.send(WsMessage::Pong(vec![].into())).await; continue; } WsMessage::Pong(_) | WsMessage::Close(_) | WsMessage::Frame(_) => continue, @@ -179,7 +179,7 @@ impl SockudoWorker { }); let _ = ws_write .send(WsMessage::Text( - serde_json::to_string(&subscribe_msg).unwrap_or_default(), + serde_json::to_string(&subscribe_msg).unwrap_or_default().into(), )) .await; continue; diff --git a/tinyharness-lib/Cargo.toml b/tinyharness-lib/Cargo.toml index 490b6c7..0cbe2c8 100644 --- a/tinyharness-lib/Cargo.toml +++ b/tinyharness-lib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tinyharness-lib" -version = "0.3.0" +version = "0.3.1" license = "MIT" description = "core liblary for tinyharness" edition = "2024" @@ -17,10 +17,10 @@ regex = "1.11.1" glob = "0.3.2" uuid = { version = "1", features = ["v4"] } tracing = "0.1" -hmac = "0.12" -sha2 = "0.10" -md5 = "0.7" -tokio-tungstenite = "0.24" +hmac = "0.13.0" +sha2 = "0.11.0" +md5 = "0.8.0" +tokio-tungstenite = "0.29.0" futures-util = "0.3" [dev-dependencies] diff --git a/tinyharness-lib/src/provider/sockudo.rs b/tinyharness-lib/src/provider/sockudo.rs index a2d8758..6614bbe 100644 --- a/tinyharness-lib/src/provider/sockudo.rs +++ b/tinyharness-lib/src/provider/sockudo.rs @@ -18,7 +18,7 @@ use std::sync::{Arc, Mutex}; use std::time::{Duration, SystemTime, UNIX_EPOCH}; use futures_util::{SinkExt, StreamExt}; -use hmac::{Hmac, Mac}; +use hmac::{Hmac, KeyInit, Mac}; use reqwest::Client; use serde::Deserialize; use sha2::Sha256; @@ -275,7 +275,7 @@ impl SockudoProvider { WsMessage::Text(t) => t.to_string(), WsMessage::Binary(b) => String::from_utf8_lossy(&b).to_string(), WsMessage::Ping(_) => { - let _ = ws_write.send(WsMessage::Pong(vec![])).await; + let _ = ws_write.send(WsMessage::Pong(vec![].into())).await; continue; } WsMessage::Pong(_) | WsMessage::Close(_) | WsMessage::Frame(_) => continue, @@ -308,7 +308,7 @@ impl SockudoProvider { }); let _ = ws_write .send(WsMessage::Text( - serde_json::to_string(&subscribe_msg).unwrap_or_default(), + serde_json::to_string(&subscribe_msg).unwrap_or_default().into(), )) .await; continue; diff --git a/tinyharness-ui/Cargo.toml b/tinyharness-ui/Cargo.toml index 8d1ad6a..00943ae 100644 --- a/tinyharness-ui/Cargo.toml +++ b/tinyharness-ui/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "tinyharness-ui" -version = "0.3.0" +version = "0.3.1" license = "MIT" description = "ui library for tinyharness" edition = "2024" [dependencies] -tinyharness-lib = { version = "0.3.0", path = "../tinyharness-lib" } +tinyharness-lib = { version = "0.3.1", path = "../tinyharness-lib" } rustyline = { version = "18.0.0", features = ["derive"] } serde_json = "1.0.149" regex = "1.11.1" From c27df9d478e6366991b66053f6cbe36cd6b203af Mon Sep 17 00:00:00 2001 From: PTFOPlayer Date: Mon, 29 Jun 2026 09:04:21 +0200 Subject: [PATCH 2/2] fix: update sockudo integration tests for tungstenite --- tinyharness-lib/src/provider/sockudo.rs | 4 +++- tinyharness-lib/tests/sockudo_integration.rs | 10 +++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/tinyharness-lib/src/provider/sockudo.rs b/tinyharness-lib/src/provider/sockudo.rs index 6614bbe..5ec6310 100644 --- a/tinyharness-lib/src/provider/sockudo.rs +++ b/tinyharness-lib/src/provider/sockudo.rs @@ -308,7 +308,9 @@ impl SockudoProvider { }); let _ = ws_write .send(WsMessage::Text( - serde_json::to_string(&subscribe_msg).unwrap_or_default().into(), + serde_json::to_string(&subscribe_msg) + .unwrap_or_default() + .into(), )) .await; continue; diff --git a/tinyharness-lib/tests/sockudo_integration.rs b/tinyharness-lib/tests/sockudo_integration.rs index 3502a34..4443b53 100644 --- a/tinyharness-lib/tests/sockudo_integration.rs +++ b/tinyharness-lib/tests/sockudo_integration.rs @@ -16,7 +16,7 @@ use std::time::{Duration, SystemTime, UNIX_EPOCH}; use futures_util::{SinkExt, StreamExt}; -use hmac::{Hmac, Mac}; +use hmac::{Hmac, KeyInit, Mac}; use sha2::Sha256; use tinyharness_lib::{ SecretString, @@ -501,7 +501,7 @@ async fn run_agent_worker( WsMessage::Text(t) => t.to_string(), WsMessage::Binary(b) => String::from_utf8_lossy(&b).to_string(), WsMessage::Ping(_) => { - let _ = ws_write.send(WsMessage::Pong(vec![])).await; + let _ = ws_write.send(WsMessage::Pong(vec![].into())).await; continue; } _ => continue, @@ -532,7 +532,7 @@ async fn run_agent_worker( }); let _ = ws_write .send(WsMessage::Text( - serde_json::to_string(&subscribe_msg).unwrap(), + serde_json::to_string(&subscribe_msg).unwrap().into(), )) .await; continue; @@ -708,7 +708,7 @@ async fn subscribe_and_collect_response(channel: &str, app_key: &str) -> Result< WsMessage::Text(t) => t.to_string(), WsMessage::Binary(b) => String::from_utf8_lossy(&b).to_string(), WsMessage::Ping(_) => { - let _ = ws_write.send(WsMessage::Pong(vec![])).await; + let _ = ws_write.send(WsMessage::Pong(vec![].into())).await; continue; } _ => continue, @@ -731,7 +731,7 @@ async fn subscribe_and_collect_response(channel: &str, app_key: &str) -> Result< }); let _ = ws_write .send(WsMessage::Text( - serde_json::to_string(&subscribe_msg).unwrap(), + serde_json::to_string(&subscribe_msg).unwrap().into(), )) .await; continue;