kwaak 0.19.0

Run a team of autonomous agents on your code, right from your terminal
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "kwaak"
version = "0.19.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Run a team of autonomous agents on your code, right from your terminal"
homepage = "https://github.com/bosun-ai/kwaak"
readme = "README.md"
keywords = [
    "terminal",
    "swiftide",
    "tui",
    "ai",
    "llm",
]
categories = [
    "development-tools",
    "command-line-utilities",
]
license = "MIT"
repository = "https://github.com/bosun-ai/kwaak"

[features]
default = [
    "otel",
    "duckdb",
]
duckdb = [
    "dep:duckdb",
    "dep:libduckdb-sys",
    "swiftide/duckdb",
]
evaluations = []
otel = [
    "dep:tracing-opentelemetry",
    "dep:opentelemetry_sdk",
    "dep:opentelemetry",
    "dep:opentelemetry-otlp",
]

[lib]
name = "kwaak"
path = "src/lib.rs"

[[bin]]
name = "kwaak"
path = "src/main.rs"
required-features = ["duckdb"]

[[test]]
name = "auto_scrolling"
path = "tests/auto_scrolling.rs"

[[test]]
name = "cli_init"
path = "tests/cli_init.rs"

[[test]]
name = "diff_commands"
path = "tests/diff_commands.rs"

[[test]]
name = "retry_chat"
path = "tests/retry_chat.rs"

[[test]]
name = "test_tools"
path = "tests/test_tools.rs"

[dependencies.ansi-to-tui]
version = "7.0.0"

[dependencies.anyhow]
version = "1.0.98"

[dependencies.async-anthropic]
version = "0.6.0"

[dependencies.async-openai]
version = "0.29.0"

[dependencies.async-trait]
version = "0.1.87"

[dependencies.backoff]
version = "0.4.0"

[dependencies.clap]
version = "4.5.38"
features = ["derive"]

[dependencies.config]
version = "0.15.6"
features = [
    "toml",
    "convert-case",
]

[dependencies.copypasta]
version = "0.10.1"

[dependencies.crossterm]
version = "0.28.1"

[dependencies.derive_builder]
version = "0.20.2"

[dependencies.diffy]
version = "0.4.2"

[dependencies.dirs]
version = "6.0.0"

[dependencies.duckdb]
version = "=1.3.1"
features = ["bundled"]
optional = true

[dependencies.dyn-clone]
version = "1.0.18"

[dependencies.futures]
version = "0.3.31"

[dependencies.htmd]
version = "0.2.1"

[dependencies.ignore]
version = "0.4.23"

[dependencies.indoc]
version = "2.0.5"

[dependencies.inquire]
version = "0.7.5"

[dependencies.jsonwebtoken]
version = "9.3.1"

[dependencies.libduckdb-sys]
version = "=1.3.1"
features = ["bundled"]
optional = true

[dependencies.log]
version = "0.4.26"

[dependencies.num_cpus]
version = "1.16.0"

[dependencies.octocrab]
version = "0.44.1"

[dependencies.opentelemetry]
version = "0.29.1"
optional = true

[dependencies.opentelemetry-otlp]
version = "0.29.0"
optional = true

[dependencies.opentelemetry_sdk]
version = "0.29.0"
features = ["rt-tokio"]
optional = true

[dependencies.ratatui]
version = "0.29.0"
features = ["unstable-rendered-line-info"]

[dependencies.ratatui-splash-screen]
version = "0.1.4"

[dependencies.regex]
version = "1.11.1"

[dependencies.reqwest]
version = "0.12.12"
features = [
    "rustls-tls",
    "charset",
    "http2",
    "macos-system-configuration",
]
default-features = false

[dependencies.rmcp]
version = "0.5.0"
features = [
    "transport-child-process",
    "client",
]

[dependencies.rust-embed]
version = "8.7.0"
features = ["debug-embed"]

[dependencies.secrecy]
version = "0.10.3"
features = ["serde"]

[dependencies.serde]
version = "1.0.218"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.140"

[dependencies.shell-escape]
version = "0.1.5"

[dependencies.strip-ansi-escapes]
version = "0.2.1"

[dependencies.strum]
version = "0.27.1"

[dependencies.strum_macros]
version = "0.27.1"

[dependencies.swiftide]
version = "0.30.0"
features = [
    "openai",
    "tree-sitter",
    "ollama",
    "swiftide-agents",
    "open-router",
    "anthropic",
    "mcp",
]

[dependencies.swiftide-docker-executor]
version = "0.12.3"

[dependencies.tavily]
version = "2.0.3"

[dependencies.tempfile]
version = "3.20.0"

[dependencies.tera]
version = "1.20.0"

[dependencies.throbber-widgets-tui]
version = "0.8.0"

[dependencies.tokio]
version = "1.44.2"
features = [
    "full",
    "sync",
]

[dependencies.tokio-util]
version = "0.7.13"
features = ["rt"]

[dependencies.toml]
version = "0.9.5"

[dependencies.tracing]
version = "0.1.41"

[dependencies.tracing-appender]
version = "0.2.3"

[dependencies.tracing-opentelemetry]
version = "0.30.0"
optional = true

[dependencies.tracing-subscriber]
version = "0.3.19"
features = ["env-filter"]

[dependencies.tui-logger]
version = "0.14.5"
features = ["tracing-support"]

[dependencies.tui-markdown]
version = "0.3.5"

[dependencies.tui-textarea]
version = "0.7.0"

[dependencies.update-informer]
version = "1.2.0"
features = [
    "crates",
    "ureq",
    "rustls-tls",
]
default-features = false

[dependencies.url]
version = "2.5.4"

[dependencies.uuid]
version = "1.15.1"
features = ["v4"]

[dev-dependencies.assert_cmd]
version = "2.0.17"

[dev-dependencies.insta]
version = "1.42.2"

[dev-dependencies.mockall]
version = "0.13.1"

[dev-dependencies.predicates]
version = "3.1.3"

[dev-dependencies.rexpect]
version = "0.6.0"

[dev-dependencies.swiftide]
version = "0.30"
features = ["test-utils"]

[dev-dependencies.test-log]
version = "0.2.17"
features = ["trace"]

[target."cfg(linux)".dependencies.openssl]
version = "0.10.72"
features = ["vendored"]

[target."cfg(linux)".dependencies.openssl-sys]
version = "0.9.107"
features = ["vendored"]

[lints.clippy]
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
needless_borrow = "allow"

[lints.clippy.cargo]
level = "warn"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust]
unsafe_code = "deny"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(coverage,coverage_nightly)"]

[profile.dist]
lto = "thin"
inherits = "release"

[profile.profiling]
debug = 2
inherits = "release"