186 lines
5.6 KiB
TOML
186 lines
5.6 KiB
TOML
[package]
|
|
name = "goose"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
description.workspace = true
|
|
|
|
[features]
|
|
default = ["code-mode"]
|
|
code-mode = ["dep:pctx_code_mode"]
|
|
cuda = ["candle-core/cuda", "candle-nn/cuda", "llama-cpp-2/cuda"]
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
lru = { workspace = true }
|
|
rmcp = { workspace = true, features = [
|
|
"client",
|
|
"reqwest",
|
|
"transport-child-process",
|
|
"transport-streamable-http-client",
|
|
"transport-streamable-http-client-reqwest",
|
|
] }
|
|
oauth2 = "5.0"
|
|
anyhow = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
futures = { workspace = true }
|
|
dirs = { workspace = true }
|
|
reqwest = { workspace = true, features = ["rustls", "json", "cookies", "gzip", "brotli", "deflate", "zstd", "charset", "http2", "stream", "blocking", "multipart", "system-proxy"], default-features = false }
|
|
tokio = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde_urlencoded = "0.7"
|
|
jsonschema = "0.30.0"
|
|
uuid = { workspace = true }
|
|
regex = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
async-stream = { workspace = true }
|
|
minijinja = { version = "2.12.0", features = ["loader"] }
|
|
include_dir = { workspace = true }
|
|
tiktoken-rs = "0.6.0"
|
|
chrono = { workspace = true }
|
|
clap = { workspace = true }
|
|
indoc = { workspace = true }
|
|
nanoid = "0.4"
|
|
sha2 = "0.10"
|
|
base64 = { workspace = true }
|
|
url = { workspace = true }
|
|
axum = { workspace = true }
|
|
webbrowser = { workspace = true }
|
|
lazy_static = "1.5.0"
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
tracing-opentelemetry = { workspace = true }
|
|
opentelemetry = { workspace = true }
|
|
opentelemetry-appender-tracing = { workspace = true }
|
|
opentelemetry_sdk = { workspace = true }
|
|
opentelemetry-otlp = { workspace = true }
|
|
opentelemetry-stdout = { workspace = true }
|
|
keyring = { version = "3.6.2", features = [
|
|
"apple-native",
|
|
"windows-native",
|
|
"sync-secret-service",
|
|
"vendored",
|
|
] }
|
|
serde_yaml = { workspace = true }
|
|
strum = { workspace = true }
|
|
once_cell = { workspace = true }
|
|
etcetera = { workspace = true }
|
|
rand = { workspace = true }
|
|
utoipa = { workspace = true, features = ["chrono"] }
|
|
tokio-cron-scheduler = "0.14.0"
|
|
urlencoding = { workspace = true }
|
|
v_htmlescape = "0.15"
|
|
sqlx = { version = "0.8", default-features = false, features = [
|
|
"runtime-tokio-rustls",
|
|
"sqlite",
|
|
"chrono",
|
|
"json",
|
|
"macros",
|
|
"migrate",
|
|
] }
|
|
|
|
# For Bedrock provider
|
|
aws-config = { version = "=1.8.12", features = ["behavior-version-latest"] }
|
|
aws-smithy-types = "=1.3.5"
|
|
aws-sdk-bedrockruntime = "=1.120.0"
|
|
|
|
# For SageMaker TGI provider
|
|
aws-sdk-sagemakerruntime = "1.62.0"
|
|
|
|
# For GCP Vertex AI provider auth
|
|
jsonwebtoken = { version = "10.3.0", features = ["aws_lc_rs"] }
|
|
|
|
blake3 = "1.5"
|
|
fs2 = { workspace = true }
|
|
tokio-stream = { workspace = true, features = ["io-util"] }
|
|
tempfile = { workspace = true }
|
|
dashmap = "6.1"
|
|
ahash = "0.8"
|
|
tokio-util = { workspace = true, features = ["compat"] }
|
|
sacp = { workspace = true }
|
|
agent-client-protocol-schema = { version = "0.10", features = ["unstable"] }
|
|
unicode-normalization = "0.1"
|
|
|
|
# For local Whisper transcription
|
|
candle-core = { version = "0.9", default-features = false }
|
|
candle-nn = { version = "0.9", default-features = false }
|
|
candle-transformers = { version = "0.9", default-features = false }
|
|
byteorder = "1.5.0"
|
|
tokenizers = { version = "0.21.0", default-features = false, features = ["onig"] }
|
|
hf-hub = { version = "0.5.0", default-features = false, features = ["tokio"] }
|
|
symphonia = { version = "0.5", features = ["all"] }
|
|
rubato = "0.16"
|
|
zip = "0.6"
|
|
sys-info = "0.9"
|
|
|
|
schemars = { workspace = true, features = [
|
|
"derive",
|
|
] }
|
|
insta = "1.43.2"
|
|
shellexpand = { workspace = true }
|
|
indexmap = "2.12.0"
|
|
ignore = { workspace = true }
|
|
rayon = { workspace = true }
|
|
tree-sitter = { workspace = true }
|
|
tree-sitter-go = { workspace = true }
|
|
tree-sitter-java = { workspace = true }
|
|
tree-sitter-javascript = { workspace = true }
|
|
tree-sitter-kotlin-ng = { workspace = true }
|
|
tree-sitter-python = { workspace = true }
|
|
tree-sitter-ruby = { workspace = true }
|
|
tree-sitter-rust = { workspace = true }
|
|
tree-sitter-swift = { workspace = true }
|
|
tree-sitter-typescript = { workspace = true }
|
|
which = { workspace = true }
|
|
pctx_code_mode = { version = "^0.2.3", optional = true }
|
|
unbinder = "0.1.7"
|
|
pulldown-cmark = "0.13.0"
|
|
llama-cpp-2 = { version = "0.1.137", features = ["sampler"] }
|
|
encoding_rs = "0.8.35"
|
|
pastey = "0.2.1"
|
|
shell-words = "1.1.1"
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
winapi = { version = "0.3", features = ["wincred"] }
|
|
|
|
# Platform-specific GPU acceleration for Whisper and local inference
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
candle-core = { version = "0.9", default-features = false, features = ["metal"] }
|
|
candle-nn = { version = "0.9", default-features = false, features = ["metal"] }
|
|
llama-cpp-2 = { version = "0.1.137", features = ["sampler", "metal"] }
|
|
|
|
[dev-dependencies]
|
|
serial_test = { workspace = true }
|
|
mockall = "0.13.1"
|
|
wiremock = { workspace = true }
|
|
tokio = { workspace = true }
|
|
tokio-util = { workspace = true, features = ["compat"] }
|
|
dotenvy = { workspace = true }
|
|
ctor = "0.2.9"
|
|
test-case = { workspace = true }
|
|
env-lock = { workspace = true }
|
|
rmcp = { workspace = true, features = ["transport-streamable-http-server"] }
|
|
goose-test-support = { path = "../goose-test-support" }
|
|
|
|
[[example]]
|
|
name = "agent"
|
|
path = "examples/agent.rs"
|
|
|
|
[[example]]
|
|
name = "databricks_oauth"
|
|
path = "examples/databricks_oauth.rs"
|
|
|
|
|
|
[[bin]]
|
|
name = "analyze_cli"
|
|
path = "src/bin/analyze_cli.rs"
|
|
|
|
[[bin]]
|
|
name = "build_canonical_models"
|
|
path = "src/providers/canonical/build_canonical_models.rs"
|