[package]
edition = "2024"
rust-version = "1.96"
name = "mahbot"
version = "0.4.1"
authors = ["edezhic <edezhic@gmail.com>"]
build = false
exclude = [
".DS_Store",
"vendor/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An autonomous agentic engineering system that manages software development through role separation, subagents, and deterministic diagnostics."
homepage = "https://github.com/edezhic/mahbot"
readme = "README.md"
keywords = [
"ai",
"agent",
]
categories = ["development-tools"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/edezhic/mahbot"
resolver = "2"
[features]
default = ["full"]
full = []
grep-engine-e2e = []
lock-drop-repro = []
voice-debug = []
voice-tests = []
wal-orphan-repro = []
wal-repro = []
wal-stale-index-repro = []
[lib]
name = "mahbot"
path = "src/lib.rs"
[[bin]]
name = "mahbot"
path = "src/main.rs"
required-features = ["full"]
[[bench]]
name = "grep_engine_e2e"
path = "benches/grep_engine_e2e.rs"
harness = false
required-features = ["grep-engine-e2e"]
[[bench]]
name = "lock_drop_repro"
path = "benches/lock_drop_repro.rs"
harness = false
required-features = ["lock-drop-repro"]
[[bench]]
name = "wake_word"
path = "benches/wake_word.rs"
harness = false
required-features = ["voice-tests"]
[[bench]]
name = "wal_orphan_repro"
path = "benches/wal_orphan_repro.rs"
harness = false
required-features = ["wal-orphan-repro"]
[[bench]]
name = "wal_race_repro"
path = "benches/wal_race_repro.rs"
harness = false
required-features = ["wal-repro"]
[[bench]]
name = "wal_stale_index_repro"
path = "benches/wal_stale_index_repro.rs"
harness = false
required-features = ["wal-stale-index-repro"]
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.candle-core]
version = "0.11.0"
[dependencies.chrono]
version = "0.4"
features = [
"clock",
"std",
"serde",
]
default-features = false
[dependencies.cpal]
version = "0.18"
[dependencies.directories]
version = "6.0"
[dependencies.earshot]
version = "1.2"
[dependencies.fff-search]
version = "0.10"
[dependencies.futures-util]
version = "0.3"
features = ["std"]
default-features = false
[dependencies.grep-matcher]
version = "0.1"
[dependencies.grep-regex]
version = "0.1"
[dependencies.grep-searcher]
version = "0.1"
[dependencies.iced]
version = "0.14"
features = [
"tokio",
"wgpu",
"markdown",
"advanced",
"image-without-codecs",
]
default-features = false
[dependencies.iced_anim]
version = "0.3"
[dependencies.iced_fonts]
version = "0.3"
features = [
"lucide",
"advanced_text",
]
default-features = false
[dependencies.iced_selection]
version = "0.5"
features = ["markdown"]
[dependencies.iced_term]
version = "0.8.0"
[dependencies.ignore]
version = "0.4"
[dependencies.image]
version = "0.25"
features = [
"png",
"jpeg",
"webp",
]
default-features = false
[dependencies.jsonrepair-rs]
version = "0.2"
[dependencies.minimp3]
version = "0.5"
[dependencies.ogg]
version = "0.9"
[dependencies.opus-decoder]
version = "0.1"
[dependencies.paste]
version = "1.0"
[dependencies.pulldown-cmark]
version = "0.12"
[dependencies.rand]
version = "0.10"
[dependencies.regex]
version = "1.13"
[dependencies.reqwest]
version = "0.13"
features = [
"http2",
"json",
"stream",
"multipart",
"query",
"rustls-no-provider",
]
default-features = false
[dependencies.rodio]
version = "0.22"
features = [
"playback",
"hound",
]
default-features = false
[dependencies.rust-embed]
version = "8"
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
"logging",
]
default-features = false
[dependencies.self-replace]
version = "1.5"
[dependencies.semver]
version = "1"
[dependencies.serde]
version = "1.0"
features = ["derive"]
default-features = false
[dependencies.serde_json]
version = "1.0"
features = ["std"]
default-features = false
[dependencies.sha2]
version = "0.10"
[dependencies.strum]
version = "0.27"
features = ["derive"]
[dependencies.tempfile]
version = "3"
[dependencies.tokenizers]
version = "0.22"
[dependencies.tokio]
version = "1.50"
features = [
"fs",
"io-util",
"macros",
"process",
"rt-multi-thread",
"signal",
"sync",
"time",
]
default-features = false
[dependencies.tokio-util]
version = "0.7"
default-features = false
[dependencies.tracing]
version = "0.1"
default-features = false
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"fmt",
"env-filter",
"json",
]
default-features = false
[dependencies.tree-sitter]
version = "=0.26.12"
[dependencies.tree-sitter-bash]
version = "=0.25.1"
[dependencies.tree-sitter-c]
version = "0.24"
[dependencies.tree-sitter-css]
version = "0.25"
[dependencies.tree-sitter-go]
version = "0.25"
[dependencies.tree-sitter-html]
version = "0.23"
[dependencies.tree-sitter-javascript]
version = "0.23"
[dependencies.tree-sitter-json]
version = "0.24"
[dependencies.tree-sitter-md]
version = "0.5.3"
features = ["parser"]
[dependencies.tree-sitter-python]
version = "0.23"
[dependencies.tree-sitter-ruby]
version = "0.23"
[dependencies.tree-sitter-rust]
version = "0.23"
[dependencies.tree-sitter-sequel]
version = "0.3"
[dependencies.tree-sitter-toml-ng]
version = "0.7"
[dependencies.tree-sitter-typescript]
version = "0.23"
[dependencies.turso]
version = "=0.7.2"
features = ["fts"]
default-features = false
[dependencies.unicode-normalization]
version = "0.1"
[dev-dependencies.http]
version = "1.5"
[dev-dependencies.serial_test]
version = "3"
[target.'cfg(not(target_os = "macos"))'.dependencies.candle-nn]
version = "0.11.0"
[target.'cfg(not(target_os = "macos"))'.dependencies.qwen-asr]
version = "0.11.0"
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.candle-nn]
version = "0.11.0"
features = ["accelerate"]
[target.'cfg(target_os = "macos")'.dependencies.qwen-asr]
version = "0.11.0"
features = [
"blas",
"vdsp",
]
default-features = false
[target."cfg(unix)".dependencies.libc]
version = "0.2"
[target."cfg(windows)".dependencies.windows-sys]
version = "0.52"
features = [
"Win32_Foundation",
"Win32_Storage_FileSystem",
"Win32_Security",
"Win32_System_IO",
]
[profile.bench]
incremental = false
inherits = "release"
[profile.dev]
opt-level = 0
codegen-units = 256
debug = "line-tables-only"
incremental = true
[profile.dev.package.qwen-asr]
opt-level = 3
codegen-units = 1
[profile.dev.package."*"]
debug = 0
[profile.dev.build-override]
opt-level = 0
codegen-units = 256
debug = 0
[profile.release]
opt-level = 2
lto = false
codegen-units = 32
panic = "unwind"
incremental = true
strip = false
[profile.test]
codegen-units = 256
debug = "line-tables-only"
inherits = "dev"