[package]
name = "tektra"
version = "0.2.3"
description = "A voice-interactive AI assistant with multimodal capabilities"
authors = ["David Irvine <david.irvine@maidsafe.net>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/dirvine/tektra"
homepage = "https://github.com/dirvine/tektra"
readme = "../README.md"
keywords = ["ai", "assistant", "voice", "tauri", "gemma"]
categories = ["command-line-utilities", "multimedia::audio"]
edition = "2021"
[build-dependencies]
tauri-build = { version = "2.0", features = [] }
[dependencies]
tauri = { version = "2.0", features = ["devtools"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", features = ["full"] }
hf-hub = { version = "0.3", features = ["tokio"] }
anyhow = "1.0"
tracing = "0.1"
tracing-subscriber = "0.3"
reqwest = { version = "0.11", features = ["json", "stream", "blocking"] }
dirs = "5.0"
futures = "0.3"
bytesize = "1.3"
cpal = "0.15"
hound = "3.5"
whisper-rs = "0.11"
ollama-rs = { version = "0.3.2", features = ["stream", "tokio"] }
ollama_td = "0.4.0"
async-trait = "0.1"
uuid = { version = "1.0", features = ["v4"] }
nokhwa = { version = "0.10", features = ["input-avfoundation"] }
base64 = "0.22"
png = "0.17"
half = "2.4"
image = { version = "0.25.2", features = ["jpeg", "png", "gif", "webp", "tiff"] }
symphonia = { version = "0.5.4", features = ["mp3", "aac", "flac", "wav"] }
[target.'cfg(not(target_os = "windows"))'.dependencies]
ffmpeg-next = { version = "7.0.0", optional = true }
imageproc = "0.25.0"
nalgebra = "0.33.0"
[features]
default = ["video-processing"]
video-processing = ["ffmpeg-next"]
[[bin]]
name = "tektra"
path = "src/main.rs"
include = [
"src/**/*",
"Cargo.toml",
"build.rs",
"tauri.conf.json",
"icons/**/*",
"../dist/**/*"
]
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true