[package] name = "baibot" description = "A Matrix bot for using diffent capabilities (text-generation, text-to-speech, speech-to-text, image-generation, etc.) of AI / Large Language Models" authors = ["Slavi Pantaleev "] repository = "https://github.com/etkecc/baibot" license = "AGPL-3.0-or-later" readme = "README.md" keywords = ["matrix", "chat", "bot", "AI", "LLM"] include = ["/etc/assets/baibot-torso-768.png", "/src", "/README.md", "/CHANGELOG.md", "/LICENSE"] version = "1.4.1" edition = "2021" [lib] name = "baibot" path = "src/lib.rs" [dependencies] anthropic-rs = "0.1.*" anyhow = "1.0.*" async-openai = "0.26.*" base64 = "0.22.*" chrono = { version = "0.4.*", default-features = false, features = ["std", "now"] } # We'd rather not depend on this, but we cannot use the ruma-events EventContent macro without it. matrix-sdk = { version = "0.8.0", default-features = false } mxidwc = "1.0.*" mxlink = ">=1.4.1" etke_openai_api_rust = "0.1.*" quick_cache = "0.6.*" regex = "1.11.*" serde = { version = "1.0.*", features = ["derive"], default-features = false } serde_json = "1.0.*" serde_yaml = "0.9.*" tempfile = "3.14.*" tiktoken-rs = { version = "0.6.*", features = ["async-openai"] } tokio = { version = "1.41.*", features = ["rt", "rt-multi-thread", "macros"] } tracing = "0.1.*" tracing-subscriber = { version = "0.3.*", features = ["env-filter"] } url = "2.5.*" [profile.release] strip = true opt-level = "z" lto = "thin"