Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 65 additions & 33 deletions 0001-Strip-non-Linux-deps-and-use-system-libraries.patch
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
From 50bf2e0a81cf7aa02f5bb4e2a5a1fc7a3521a8e4 Mon Sep 17 00:00:00 2001
From: Sam Doran <sdoran@redhat.com>
Date: Tue, 23 Jun 2026 10:42:47 -0400
From bdc2c3cd8a789d9a5b486d638878b2b409eacb38 Mon Sep 17 00:00:00 2001
From: thepetk <thepetk@gmail.com>
Date: Tue, 21 Jul 2026 15:30:40 +0100
Subject: [PATCH] Strip non-Linux deps and use system libraries

---
Cargo.toml | 9 ++-------
crates/goose-cli/Cargo.toml | 4 ----
crates/goose-server/Cargo.toml | 3 ---
crates/goose/Cargo.toml | 13 ++-----------
4 files changed, 3 insertions(+), 26 deletions(-)
Cargo.toml | 16 ++--------------
crates/goose-cli/Cargo.toml | 5 -----
crates/goose-server/Cargo.toml | 4 ----
crates/goose/Cargo.toml | 15 ---------------
4 files changed, 2 insertions(+), 38 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml
index e69de25..f5d7fb1 100644
index d0022e7..99e52aa 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,8 +1,6 @@
Expand All @@ -22,7 +22,7 @@ index e69de25..f5d7fb1 100644
- "vendor/v8",
]
resolver = "2"

@@ -44,7 +42,7 @@ http = { version = "1.1", default-features = false, features = ["std"] }
ignore = { version = "0.4.12", default-features = false }
include_dir = { version = "0.7", default-features = false }
Expand All @@ -31,7 +31,7 @@ index e69de25..f5d7fb1 100644
+keyring = { version = "3.6.3", default-features = false }
lru = { version = "0.18", default-features = false }
once_cell = { version = "1.21.3", default-features = false, features = ["std"] }
rand = { version = "0.8.5", default-features = false, features = ["std"] }
rand = "0.10.1"
@@ -72,7 +70,7 @@ utoipa = { version = "4.2", default-features = false }
uuid = { version = "1.23", default-features = false, features = ["v4", "std"] }
webbrowser = { version = "1", default-features = false }
Expand All @@ -41,59 +41,91 @@ index e69de25..f5d7fb1 100644
wiremock = { version = "0.6", default-features = false }
zip = { version = "8", default-features = false, features = ["deflate"] }
serial_test = { version = "3", default-features = false }
@@ -110,6 +108,3 @@ llama-cpp-sys-2 = { version = "=0.1.146", default-features = false }
@@ -110,15 +108,5 @@ llama-cpp-sys-2 = { version = "=0.1.146", default-features = false }
icu_calendar = { version = "=2.1.1", default-features = false }
icu_locale = { version = "=2.1.1", default-features = false }

-[patch.crates-io]
-v8 = { path = "vendor/v8" }
-cudaforge = { git = "https://github.com/jbg/cudaforge", rev = "e7c1967340e40673db98dc9e17da0f04834a456f" }
-
-# Dependencies don't need debug info. You rarely step-debug into third-party
-# crates, but their DWARF dominates `target/debug` — roughly 50-70% of each
-# dependency rlib in this workspace is debug info. Dropping it for dependencies
-# only shrinks the debug build substantially and speeds linking. The "*" spec
-# matches all dependencies but NOT workspace members, so first-party crates keep
-# full debug info and stay fully debuggable; release builds are unaffected.
[profile.dev.package."*"]
debug = false
diff --git a/crates/goose-cli/Cargo.toml b/crates/goose-cli/Cargo.toml
index 2f33e21..9290c5c 100644
index e50ee6d..aaece4e 100644
--- a/crates/goose-cli/Cargo.toml
+++ b/crates/goose-cli/Cargo.toml
@@ -66,10 +66,6 @@ sigstore-verify = { version = "0.8", default-features = false, optional = true }
@@ -66,10 +66,6 @@ sigstore-verify = { version = "0.9", default-features = false, optional = true }
axum.workspace = true
clap_complete_nushell = { version = "4", default-features = false }

-[target.'cfg(target_os = "windows")'.dependencies]
-anstream = { version = "1", default-features = false, features = ["wincon"] }
-winapi = { workspace = true }
-
[features]
default = [
"code-mode",
@@ -89,5 +85,4 @@ aws-providers = ["goose/aws-providers"]
cuda = ["goose/cuda", "local-inference"]
vulkan = ["goose/vulkan", "local-inference"]
-mlx = ["goose/mlx", "local-inference"]
telemetry = ["goose/telemetry"]
nostr = ["goose/nostr"]
diff --git a/crates/goose-server/Cargo.toml b/crates/goose-server/Cargo.toml
index add298a..0fe99a5 100644
index dd43047..20ce107 100644
--- a/crates/goose-server/Cargo.toml
+++ b/crates/goose-server/Cargo.toml
@@ -91,9 +91,6 @@ aws-lc-rs = { version = "1.17", default-features = false, optional = true }
@@ -27,7 +27,6 @@ local-inference = ["goose/local-inference"]
aws-providers = ["goose/aws-providers"]
cuda = ["goose/cuda", "local-inference"]
vulkan = ["goose/vulkan", "local-inference"]
-mlx = ["goose/mlx", "local-inference"]
telemetry = ["goose/telemetry"]
nostr = ["goose/nostr"]
otel = ["goose/otel"]
@@ -94,9 +93,6 @@ aws-lc-rs = { version = "1.17", default-features = false, optional = true }
openssl = { version = "0.10.66", default-features = false, optional = true }
pem = { version = "3.0.2", default-features = false, features = ["std"] }

-[target.'cfg(windows)'.dependencies]
-winreg = { version = "0.56", default-features = false }
-
[[bin]]
name = "goosed"
path = "src/main.rs"
diff --git a/crates/goose/Cargo.toml b/crates/goose/Cargo.toml
index 47f172b..1ceee51 100644
index 9dc486e..87f5a5c 100644
--- a/crates/goose/Cargo.toml
+++ b/crates/goose/Cargo.toml
@@ -130,7 +130,7 @@ tokio-cron-scheduler = { version = "0.15", default-features = false }
urlencoding = { workspace = true }
v_htmlescape = { version = "0.17", default-features = false, features = ["std"] }
sqlx = { version = "0.8.5", default-features = false, features = [
- "sqlite",
+ "sqlite-unbundled",
"chrono",
"json",
"macros",
@@ -218,17 +218,6 @@ image = { version = "0.24.9", default-features = false, features = ["png", "jpeg
@@ -41,7 +41,6 @@ aws-providers = [
]
cuda = ["local-inference", "candle-core/cuda", "candle-nn/cuda", "llama-cpp-2/cuda"]
vulkan = ["local-inference", "llama-cpp-2/vulkan"]
-mlx = ["local-inference", "dep:mlx-rs", "dep:mlx-lm", "dep:mlx-lm-utils"]
rustls-tls = [
"dep:rustls",
"reqwest/rustls",
@@ -204,9 +203,6 @@ nostr = { version = "0.44", default-features = false, features = ["nip44", "std"
nostr-sdk = { version = "0.44", default-features = false, features = ["nip44"], optional = true }
rustls = { workspace = true, optional = true }
hf-hub = { version = "1.0.0-rc.1", default-features = false, optional = true }
-mlx-rs = { version = "0.25.3", default-features = false, features = ["accelerate", "metal", "safetensors"], optional = true }
-mlx-lm = { git = "https://github.com/jh-block/mlx-lm", optional = true }
-mlx-lm-utils = { git = "https://github.com/jh-block/mlx-lm", optional = true }

pctx_code_mode = { version = "0.3", default-features = false, optional = true }

@@ -220,17 +216,6 @@ image = { version = "0.24.9", default-features = false, features = ["png", "jpe
subtle = { version = "2.5", default-features = false, features = ["std"] }
gethostname = "1.1.0"

-[target.'cfg(target_os = "windows")'.dependencies]
-winapi = { workspace = true }
-keyring = { workspace = true, features = ["windows-native"], optional = true }
Expand All @@ -108,6 +140,6 @@ index 47f172b..1ceee51 100644
[target.'cfg(target_os = "linux")'.dependencies]
keyring = { workspace = true, features = ["sync-secret-service"], optional = true }
libc = { version = "0.2.182", default-features = false, features = ["std"] }
--
2.54.0
--
2.43.0

26 changes: 13 additions & 13 deletions 0003-Downgrade-pkcs8-to-0.10.2-for-native-tls-compat.patch
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
From 73f80f1b0bcac2bf94db0126f3115ad8b8e8c2b9 Mon Sep 17 00:00:00 2001
From: Sam Doran <github@samdoran.com>
Date: Wed, 24 Jun 2026 15:17:32 -0400
From 1a5f6a243eba2238dc64edd11021da9c11af6b3a Mon Sep 17 00:00:00 2001
From: thepetk <thepetk@gmail.com>
Date: Tue, 21 Jul 2026 16:20:50 +0100
Subject: [PATCH] Downgrade pkcs8 to 0.10.2 for native-tls compatibility

---
crates/goose/Cargo.toml | 2 +-
crates/goose-providers/Cargo.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crates/goose/Cargo.toml b/crates/goose/Cargo.toml
index 47f172b..04da822 100644
--- a/crates/goose/Cargo.toml
+++ b/crates/goose/Cargo.toml
@@ -195,7 +195,7 @@ pastey = { version = "0.2", default-features = false }
shell-words = { workspace = true }
diff --git a/crates/goose-providers/Cargo.toml b/crates/goose-providers/Cargo.toml
index 7fd0180..19a60de 100644
--- a/crates/goose-providers/Cargo.toml
+++ b/crates/goose-providers/Cargo.toml
@@ -52,7 +52,7 @@ rand = { workspace = true }
url = { workspace = true }
pem = { version = "3.0.2", default-features = false, features = ["std"], optional = true }
pkcs1 = { version = "0.7.5", default-features = false, features = ["pkcs8", "std"], optional = true }
-pkcs8 = { version = "0.11.0", default-features = false, features = ["alloc", "std"], optional = true }
+pkcs8 = { version = "0.10.2", default-features = false, features = ["alloc", "std"], optional = true }
sec1 = { version = "0.7", default-features = false, features = ["der", "pkcs8", "std"], optional = true }
goose-acp-macros = { path = "../goose-acp-macros", default-features = false }
tower-http = { workspace = true, features = ["cors"] }

[dev-dependencies]
--
2.54.0
2.43.0

29 changes: 21 additions & 8 deletions 0004-aws-lc-rs-feature-flag.patch
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
From 632d0806d7d20a02cc8d82caeeb623ab1527976a Mon Sep 17 00:00:00 2001
From: thepetk <thepetk@gmail.com>
Date: Tue, 21 Jul 2026 16:27:08 +0100
Subject: [PATCH] aws-lc-rs feature flag

---
Cargo.lock | 2 ++
crates/goose-server/Cargo.toml | 6 +++++-
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/Cargo.lock b/Cargo.lock
index bb1d3e7108..6f7d4c59ea 100644
index 122aadd..df19383 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -8156,6 +8156,7 @@ checksum = "57f6d249aad744e274e682777a50283a225a32705394ee6d5fcc01efa25e4055"
@@ -8716,6 +8716,7 @@ checksum = "57f6d249aad744e274e682777a50283a225a32705394ee6d5fcc01efa25e4055"
dependencies = [
"aws-lc-rs",
"pem",
+ "ring",
"rustls-pki-types",
"time",
"x509-parser",
@@ -12938,6 +12939,7 @@ dependencies = [
@@ -13766,6 +13767,7 @@ dependencies = [
"lazy_static",
"nom 7.1.3",
"oid-registry",
Expand All @@ -19,18 +29,18 @@ index bb1d3e7108..6f7d4c59ea 100644
"thiserror 2.0.18",
"time",
diff --git a/crates/goose-server/Cargo.toml b/crates/goose-server/Cargo.toml
index add298a07d..3de662a50e 100644
index c8127c3..a02e338 100644
--- a/crates/goose-server/Cargo.toml
+++ b/crates/goose-server/Cargo.toml
@@ -38,6 +38,7 @@ rustls-tls = [
@@ -35,6 +35,7 @@ rustls-tls = [
"axum-server/tls-rustls",
"dep:rustls",
"dep:aws-lc-rs",
+ "rcgen/aws_lc_rs",
"goose/rustls-tls",
"goose-mcp/rustls-tls",
]
@@ -45,6 +46,9 @@ native-tls = [
"goose-providers/rustls-tls",
@@ -43,6 +44,9 @@ native-tls = [
"reqwest/native-tls",
"tokio-tungstenite/native-tls",
"axum-server/tls-openssl",
Expand All @@ -40,7 +50,7 @@ index add298a07d..3de662a50e 100644
"dep:openssl",
"goose/native-tls",
"goose-mcp/native-tls",
@@ -85,7 +89,7 @@ socket2 = { version = "0.6", default-features = false }
@@ -84,7 +88,7 @@ socket2 = { version = "0.6", default-features = false }
fs2 = { workspace = true }
rustls = { workspace = true, optional = true }
uuid = { workspace = true }
Expand All @@ -49,3 +59,6 @@ index add298a07d..3de662a50e 100644
axum-server = { version = "0.8", default-features = false }
aws-lc-rs = { version = "1.17", default-features = false, optional = true }
openssl = { version = "0.10.66", default-features = false, optional = true }
--
2.43.0

20 changes: 16 additions & 4 deletions 0020-Fix-sql-statement-from-session-manager.patch
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
From 082f1150ade989fcb28dcf241485e5c4e14b921f Mon Sep 17 00:00:00 2001
From: thepetk <thepetk@gmail.com>
Date: Tue, 21 Jul 2026 16:28:27 +0100
Subject: [PATCH] Fix SQL statement from session manager

---
crates/goose/src/session/session_manager.rs | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/crates/goose/src/session/session_manager.rs b/crates/goose/src/session/session_manager.rs
index 5c6559b..369d97a 100644
index 1abdf14..312b656 100644
--- a/crates/goose/src/session/session_manager.rs
+++ b/crates/goose/src/session/session_manager.rs
@@ -1084,7 +1084,7 @@ impl SessionStorage {
@@ -1289,7 +1289,7 @@ impl SessionStorage {
let mut tx = pool.begin_with("BEGIN IMMEDIATE").await?;

let today = chrono::Utc::now().format("%Y%m%d").to_string();
Expand All @@ -11,7 +20,7 @@ index 5c6559b..369d97a 100644
r#"
INSERT INTO sessions (id, name, user_set_name, session_type, working_dir, extension_data, goose_mode)
VALUES (
@@ -1100,8 +1100,7 @@ impl SessionStorage {
@@ -1305,8 +1305,7 @@ impl SessionStorage {
'{}',
?
)
Expand All @@ -21,7 +30,7 @@ index 5c6559b..369d97a 100644
)
.bind(&today)
.bind(&today)
@@ -1109,9 +1108,17 @@ impl SessionStorage {
@@ -1314,9 +1313,17 @@ impl SessionStorage {
.bind(session_type.to_string())
.bind(&*working_dir.to_string_lossy())
.bind(goose_mode.to_string())
Expand All @@ -40,3 +49,6 @@ index 5c6559b..369d97a 100644
tx.commit().await?;
#[cfg(feature = "telemetry")]
crate::posthog::emit_session_started();
--
2.43.0

Loading