forked from aaif-goose/goose
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
130 lines (122 loc) · 7.99 KB
/
Copy pathCargo.toml
File metadata and controls
130 lines (122 loc) · 7.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
[workspace]
members = [
"crates/*",
# Mainly for cargo-machete to not error out during inspection.
"vendor/v8",
]
resolver = "2"
[workspace.package]
edition = "2021"
version = "1.48.0"
rust-version = "1.94.1"
authors = ["AAIF <ai-oss-tools@block.xyz>"]
license = "Apache-2.0"
repository = "https://github.com/aaif-goose/goose"
description = "An AI agent"
[workspace.lints.clippy]
uninlined_format_args = "allow"
string_slice = "warn"
[workspace.dependencies]
rmcp = { version = "3.0.0", default-features = false, features = ["schemars", "auth"] }
agent-client-protocol-schema = { version = "=1.5.0", default-features = false }
agent-client-protocol = { version = "2.0.0", default-features = false }
agent-client-protocol-http = { version = "2.0.0", default-features = false }
arboard = { version = "3", default-features = false }
anyhow = { version = "1.0.102", default-features = false, features = ["std"] }
async-stream = { version = "0.3.6", default-features = false }
async-trait = { version = "0.1.89", default-features = false }
axum = { version = "0.8", default-features = false, features = ["http1", "http2", "json", "tokio", "query"] }
axum-server = { version = "0.8", default-features = false }
base64 = { version = "0.23.0", default-features = false, features = ["std"] }
bytes = { version = "1.10.1", default-features = false, features = ["std"] }
candle-core = { version = "0.11", default-features = false }
candle-nn = { version = "0.11", default-features = false }
chrono = { version = "0.4.44", default-features = false, features = ["serde", "std"] }
clap = { version = "4.1.14", default-features = false, features = ["derive", "std", "help", "suggestions", "usage", "color", "error-context"] }
dirs = { version = "6", default-features = false }
dotenvy = { version = "0.15.7", default-features = false }
env-lock = { version = "1", default-features = false }
etcetera = { version = "0.11", default-features = false }
fs2 = { version = "0.4", default-features = false }
futures = { version = "0.3.32", default-features = false, features = ["std"] }
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 }
indoc = { version = "2", default-features = false }
iroh = { version = "=1.0.3", default-features = false }
iroh-relay = { version = "1", default-features = false }
keyring = { version = "3.6.3", default-features = false, features = ["vendored"] }
lru = { version = "0.18", default-features = false }
once_cell = { version = "1.21.3", default-features = false, features = ["std"] }
rand = "0.10.1"
regex = { version = "1.12.3", default-features = false, features = ["std"] }
reqwest = { version = "0.13.2", default-features = false, features = ["multipart", "form"] }
rustls = { version = "0.23.31", default-features = false, features = ["aws_lc_rs", "std"] }
schemars = { version = "1.0.2", default-features = false, features = ["std"] }
serde = { version = "1.0.228", default-features = false, features = ["derive", "std"] }
serde_json = { version = "1.0.145", default-features = false, features = ["std"] }
serde_yaml = { version = "0.9.32", default-features = false }
shellexpand = { version = "3", default-features = false, features = ["base-0", "tilde"] }
strum = { version = "0.28.0", default-features = false, features = ["derive", "std"] }
tempfile = { version = "3.10.1", default-features = false }
thiserror = { version = "2.0.18", default-features = false }
tokio = { version = "1.48", default-features = false }
tokio-stream = { version = "0.1.16", default-features = false }
tokio-util = { version = "0.7.12", default-features = false }
tower-http = { version = "0.7.0", default-features = false }
tracing = { version = "0.1.43", default-features = false, features = ["std"] }
tracing-appender = { version = "0.2.1", default-features = false }
tracing-futures = { version = "0.2.4", default-features = false, features = ["futures-03", "std", "std-future"] }
tracing-subscriber = { version = "0.3.22", default-features = false, features = ["std"] }
urlencoding = { version = "2.1", default-features = false }
uuid = { version = "1.23", default-features = false, features = ["v4", "std"] }
webbrowser = { version = "1", default-features = false }
which = { version = "8", default-features = false, features = ["real-sys"] }
winapi = { version = "0.3.9", default-features = false, features = ["wincred", "std"] }
wiremock = { version = "0.6", default-features = false }
zip = { version = "8", default-features = false, features = ["deflate"] }
serial_test = { version = "4", default-features = false }
sha2 = { version = "0.11", default-features = false }
shell-words = { version = "1", default-features = false, features = ["std"] }
snap = { version = "1", default-features = false }
test-case = { version = "3", default-features = false }
url = { version = "2.5.4", default-features = false, features = ["std"] }
opentelemetry = { version = "0.32", default-features = false }
opentelemetry_sdk = { version = "0.32", default-features = false, features = ["metrics"] }
opentelemetry-http = { version = "0.32", default-features = false, features = ["internal-logs", "reqwest"] }
opentelemetry-otlp = { version = "0.32", default-features = false, features = ["http-proto", "internal-logs", "logs", "metrics", "reqwest-client", "trace"] }
opentelemetry-appender-tracing = { version = "0.32", default-features = false, features = ["experimental_span_attributes"] }
opentelemetry-stdout = { version = "0.32", default-features = false, features = ["trace", "metrics", "logs"] }
tracing-opentelemetry = { version = "0.33", default-features = false, features = ["metrics"] }
rayon = { version = "1.10", default-features = false }
tree-sitter = { version = "0.26", default-features = false, features = ["std"] }
tree-sitter-go = { version = "0.25", default-features = false }
tree-sitter-java = { version = "0.23", default-features = false }
tree-sitter-javascript = { version = "0.25", default-features = false }
tree-sitter-kotlin-ng = { version = "1", default-features = false }
tree-sitter-python = { version = "0.25", default-features = false }
tree-sitter-ruby = { version = "0.23", default-features = false }
tree-sitter-rust = { version = "0.24", default-features = false }
tree-sitter-swift = { version = "0.7", default-features = false }
tree-sitter-typescript = { version = "0.23", default-features = false }
# llama-cpp-2 doesn't pin the version of its sys crate, so we do it here. it also has breaking changes in patch releases, so we use an exact version pin
llama-cpp-2 = { version = "=0.1.146", default-features = false, features = ["sampler", "mtmd"] }
llama-cpp-sys-2 = { version = "=0.1.146", default-features = false }
# These are needed because temporal_rs 0.1 (a transitive dep via PCTX) enables unstable features on icu_calendar without pinning the dependency version
# A fix is available in temporal_rs 0.2 but PCTX has not updated
# They are just here to pin the version, and can be removed if PCTX updates temporal_rs
icu_calendar = { version = "=2.1.1", default-features = false }
icu_locale = { version = "=2.1.1", default-features = false }
[patch.crates-io]
agent-client-protocol = { git = "https://github.com/agentclientprotocol/rust-sdk", rev = "c97a5203d3392f7f231514d84eea014f9f43e6fb" }
agent-client-protocol-http = { git = "https://github.com/agentclientprotocol/rust-sdk", rev = "c97a5203d3392f7f231514d84eea014f9f43e6fb" }
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