diff --git a/Cargo.lock b/Cargo.lock index b371be1e..175b4f78 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -199,7 +199,7 @@ dependencies = [ "bytes", "bytes-utils", "fastrand", - "http 1.4.0", + "http 1.4.1", "http-body 1.0.1", "percent-encoding", "pin-project-lite", @@ -228,7 +228,7 @@ dependencies = [ "bytes", "fastrand", "http 0.2.12", - "http 1.4.0", + "http 1.4.1", "http-body-util", "regex-lite", "tracing", @@ -250,7 +250,7 @@ dependencies = [ "hex", "hmac", "http 0.2.12", - "http 1.4.0", + "http 1.4.1", "percent-encoding", "sha2", "time", @@ -292,7 +292,7 @@ dependencies = [ "bytes-utils", "futures-core", "futures-util", - "http 1.4.0", + "http 1.4.1", "http-body 1.0.1", "http-body-util", "percent-encoding", @@ -333,7 +333,7 @@ dependencies = [ "bytes", "fastrand", "http 0.2.12", - "http 1.4.0", + "http 1.4.1", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", @@ -353,7 +353,7 @@ dependencies = [ "aws-smithy-types", "bytes", "http 0.2.12", - "http 1.4.0", + "http 1.4.1", "pin-project-lite", "tokio", "tracing", @@ -362,15 +362,15 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.4.6" +version = "1.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b1117b3b2bbe166d11199b540ceed0d0f7676e36e7b962b5a437a9971eac75" +checksum = "53f93074121a1be41317b9aa607143ae17900631f7f59a99f2b905d519d6783b" dependencies = [ "base64-simd", "bytes", "bytes-utils", "http 0.2.12", - "http 1.4.0", + "http 1.4.1", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", @@ -585,9 +585,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.44" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" dependencies = [ "iana-time-zone", "js-sys", @@ -599,9 +599,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.6.0" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" +checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" dependencies = [ "clap_builder", "clap_derive", @@ -621,9 +621,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.6.0" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a" +checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" dependencies = [ "heck", "proc-macro2", @@ -1102,9 +1102,9 @@ dependencies = [ [[package]] name = "diesel" -version = "2.3.7" +version = "2.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4ae09a41a4b89f94ec1e053623da8340d996bc32c6517d325a9daad9b239358" +checksum = "29fe29a87fb84c631ffb3ba21798c4b1f3a964701ba78f0dce4bf8668562ec88" dependencies = [ "chrono", "diesel_derives", @@ -1130,9 +1130,9 @@ dependencies = [ [[package]] name = "diesel_migrations" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745fd255645f0f1135f9ec55c7b00e0882192af9683ab4731e4bba3da82b8f9c" +checksum = "28d0f4a98124ba6d4ca75da535f65984badec16a003b6e2f94a01e31a79490b8" dependencies = [ "diesel", "migrations_internals", @@ -1757,7 +1757,7 @@ dependencies = [ "fnv", "futures-core", "futures-sink", - "http 1.4.0", + "http 1.4.1", "indexmap", "slab", "tokio", @@ -1778,9 +1778,9 @@ dependencies = [ [[package]] name = "handlebars" -version = "6.4.0" +version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b3f9296c208515b87bd915a2f5d1163d4b3f863ba83337d7713cf478055948e" +checksum = "d43ccdfe15a81ab0a8af639e90254227c9a46afd9c5f5b6ec7efaa345c4b0f00" dependencies = [ "derive_builder", "log", @@ -1906,9 +1906,9 @@ dependencies = [ [[package]] name = "http" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +checksum = "8be7462df143984c4598a256ef469b251d7d7f9e271135073e78fc535414f3d0" dependencies = [ "bytes", "itoa", @@ -1932,7 +1932,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.4.0", + "http 1.4.1", ] [[package]] @@ -1943,7 +1943,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.4.0", + "http 1.4.1", "http-body 1.0.1", "pin-project-lite", ] @@ -1977,7 +1977,7 @@ dependencies = [ "futures-channel", "futures-core", "h2", - "http 1.4.0", + "http 1.4.1", "http-body 1.0.1", "httparse", "httpdate", @@ -1995,7 +1995,7 @@ version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "http 1.4.0", + "http 1.4.1", "hyper", "hyper-util", "rustls", @@ -2017,7 +2017,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "http 1.4.0", + "http 1.4.1", "http-body 1.0.1", "hyper", "ipnet", @@ -2170,9 +2170,9 @@ dependencies = [ [[package]] name = "ignore" -version = "0.4.25" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3d782a365a015e0f5c04902246139249abf769125006fbe7649e2ee88169b4a" +checksum = "b915661dd01db3f05050265b2477bcc6527b3792388e2749b41623cc592be67d" dependencies = [ "crossbeam-deque", "globset", @@ -2629,7 +2629,7 @@ dependencies = [ "bytes", "colored", "futures-core", - "http 1.4.0", + "http 1.4.1", "http-body 1.0.1", "http-body-util", "hyper", @@ -2779,7 +2779,7 @@ dependencies = [ "base64 0.22.1", "chrono", "getrandom 0.2.16", - "http 1.4.0", + "http 1.4.1", "rand 0.8.5", "reqwest", "serde", @@ -2899,9 +2899,9 @@ dependencies = [ [[package]] name = "open" -version = "5.3.3" +version = "5.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43bb73a7fa3799b198970490a51174027ba0d4ec504b03cd08caf513d40024bc" +checksum = "2fbaa89d2ddc8473c78a3adf69eea8cffa28c483b8e02a971ef31527cd0fc92c" dependencies = [ "is-wsl", "libc", @@ -3048,7 +3048,7 @@ dependencies = [ "insta", "lazy-regex", "pretty_assertions", - "rand 0.10.0", + "rand 0.10.1", "regex", "schemars", "serde", @@ -3116,7 +3116,7 @@ dependencies = [ "fake", "futures", "glob", - "http 1.4.0", + "http 1.4.1", "libsqlite3-sys", "oauth2", "paws_app", @@ -3643,9 +3643,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" +checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" dependencies = [ "chacha20", "getrandom 0.4.1", @@ -3836,7 +3836,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http 1.4.0", + "http 1.4.1", "http-body 1.0.1", "http-body-util", "hyper", @@ -3907,7 +3907,7 @@ dependencies = [ "base64 0.22.1", "chrono", "futures", - "http 1.4.0", + "http 1.4.1", "pastey", "pin-project-lite", "process-wrap", @@ -4162,9 +4162,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.149" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" dependencies = [ "itoa", "memchr", @@ -4522,6 +4522,12 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[package]] +name = "symlink" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" + [[package]] name = "syn" version = "2.0.117" @@ -4850,7 +4856,7 @@ dependencies = [ "bitflags", "bytes", "futures-util", - "http 1.4.0", + "http 1.4.1", "http-body 1.0.1", "iri-string", "pin-project-lite", @@ -4884,11 +4890,12 @@ dependencies = [ [[package]] name = "tracing-appender" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786d480bce6247ab75f005b14ae1624ad978d3029d9113f0a22fa1ac773faeaf" +checksum = "050686193eb999b4bb3bc2acfa891a13da00f79734704c4b8b4ef1a10b368a3c" dependencies = [ "crossbeam-channel", + "symlink", "thiserror 2.0.18", "time", "tracing-subscriber", @@ -5064,7 +5071,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d81f9efa9df032be5934a46a068815a10a042b494b6a58cb0a1a97bb5467ed6f" dependencies = [ "base64 0.22.1", - "http 1.4.0", + "http 1.4.1", "httparse", "log", ] @@ -5114,7 +5121,7 @@ checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37" dependencies = [ "getrandom 0.4.1", "js-sys", - "rand 0.10.0", + "rand 0.10.1", "serde_core", "wasm-bindgen", ] diff --git a/Cargo.toml b/Cargo.toml index 5e4d6b02..03b74880 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,8 +18,8 @@ aws-smithy-types = "1.4" aws-smithy-async = { version = "1.2", features = ["rt-tokio"] } base64 = "0.22.1" bytes = "1.11.1" -chrono = { version = "0.4.44", features = ["serde"] } -clap = { version = "4.6.0", features = ["derive"] } +chrono = { version = "0.4.45", features = ["serde"] } +clap = { version = "4.6.1", features = ["derive"] } colored = "3.1.1" console = "0.16.3" dialoguer = { version = "0.12.0", features = ["fuzzy-select"] } @@ -33,10 +33,10 @@ gh-workflow = "0.8.1" glob = "0.3.3" grep-searcher = "0.1.14" grep-regex = "0.1.13" -handlebars = { version = "6.4.0", features = ["rust-embed"] } +handlebars = { version = "6.4.1", features = ["rust-embed"] } html2md = "0.2.15" -http = "1.2.0" -ignore = "0.4.23" +http = "1.4.1" +ignore = "0.4.26" is_ci = "1.2.0" indexmap = "2.13.0" insta = { version = "1.46.3", features = ["json", "yaml"] } @@ -61,7 +61,7 @@ reqwest-eventsource = "0.6.0" rust-embed = "8.11.0" schemars = "1.2.1" serde = { version = "1.0.217", features = ["derive"] } -serde_json = "1.0.149" +serde_json = "1.0.150" serde_yml = "0.0.12" sha2 = "0.10" strip-ansi-escapes = "0.2.1" @@ -86,7 +86,7 @@ tokio = { version = "1.50.0", features = [ tokio-stream = "0.1.18" tonic = { version = "0.14.2", features = ["tls-webpki-roots"] } tracing = "0.1.44" -tracing-appender = "0.2.3" +tracing-appender = "0.2.5" tracing-subscriber = { version = "0.3.23", features = ["env-filter", "json"] } url = { version = "2.5.8", features = ["serde"] } backon = "1.5.2" @@ -104,7 +104,7 @@ rmcp = { version = "0.10.0", features = [ "transport-child-process", "transport-streamable-http-client-reqwest", ] } -open = "5.3.2" +open = "5.3.5" nucleo = "0.5.0" gray_matter = "0.3.2" num-format = "0.4" diff --git a/crates/paws_app/src/operation_tests.rs b/crates/paws_app/src/operation_tests.rs index 7e02359d..4f216606 100644 --- a/crates/paws_app/src/operation_tests.rs +++ b/crates/paws_app/src/operation_tests.rs @@ -993,7 +993,7 @@ fn test_net_fetch_truncated() { let long_content = format!( "{}{}", "A".repeat(env.fetch_truncation_limit), - &truncated_content + truncated_content ); let fixture = ToolOperation::NetFetch { input: paws_domain::NetFetch { diff --git a/crates/paws_domain/src/context.rs b/crates/paws_domain/src/context.rs index 4f7c4660..28290d4b 100644 --- a/crates/paws_domain/src/context.rs +++ b/crates/paws_domain/src/context.rs @@ -174,8 +174,7 @@ impl ContextMessage { reasoning_details: Option>, tool_calls: Option>, ) -> Self { - let tool_calls = - tool_calls.and_then(|calls| if calls.is_empty() { None } else { Some(calls) }); + let tool_calls = tool_calls.filter(|calls| !calls.is_empty()); TextMessage { role: Role::Assistant, content: content.to_string(), diff --git a/crates/paws_infra/src/mcp_client.rs b/crates/paws_infra/src/mcp_client.rs index 2116ebf1..f301cbd6 100644 --- a/crates/paws_infra/src/mcp_client.rs +++ b/crates/paws_infra/src/mcp_client.rs @@ -264,7 +264,7 @@ fn resolve_http_templates( let template_data = serde_json::json!({"env": env_vars}); // Resolve templates in headers - for (_, value) in http.headers.iter_mut() { + for value in http.headers.values_mut() { // Try to render the template, but keep original value if it fails if let Ok(resolved) = handlebars.render_template(value, &template_data) { *value = resolved; diff --git a/crates/paws_repo/Cargo.toml b/crates/paws_repo/Cargo.toml index 01ae239a..b1c281f2 100644 --- a/crates/paws_repo/Cargo.toml +++ b/crates/paws_repo/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] -diesel_migrations = "2.2.0" +diesel_migrations = "2.3.2" paws_services.workspace = true @@ -67,7 +67,7 @@ version = "0.4" features = [ "serde",] [dependencies.diesel] -version = "2.3.7" +version = "2.3.10" features = [ "sqlite", "r2d2", "chrono",] [dependencies.derive_more] diff --git a/crates/paws_repo/src/app_config.rs b/crates/paws_repo/src/app_config.rs index e9b8f125..4f927e4b 100644 --- a/crates/paws_repo/src/app_config.rs +++ b/crates/paws_repo/src/app_config.rs @@ -94,7 +94,7 @@ impl AppConfigRepositor } } else { // Update all existing provider models - for (_, mut_model_id) in config.model.iter_mut() { + for mut_model_id in config.model.values_mut() { *mut_model_id = model_id.clone(); } } diff --git a/crates/paws_services/src/tool_services/fs_patch.rs b/crates/paws_services/src/tool_services/fs_patch.rs index eae22791..1ee40657 100644 --- a/crates/paws_services/src/tool_services/fs_patch.rs +++ b/crates/paws_services/src/tool_services/fs_patch.rs @@ -73,13 +73,7 @@ fn apply_replacement( content: &str, ) -> Result { // Handle empty search string - only certain operations make sense here - if let Some(needle) = search.and_then(|needle| { - if needle.is_empty() { - None // Empty search is not valid for matching - } else { - Some(needle) - } - }) { + if let Some(needle) = search.filter(|needle| !needle.is_empty()) { // Find the exact match to operate on let patch: Range = Range::find_exact(&haystack, needle.as_str()) .ok_or_else(|| Error::NoMatch(needle.to_string()))?;