[package]
name = "tektra"
version = "0.2.2"
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 = "1.5", features = [] }
[dependencies]
tauri = { version = "1.6", features = [ "fs-read-dir", "fs-rename-file", "fs-write-file", "fs-read-file", "http-all", "dialog-ask", "fs-copy-file", "notification-all", "dialog-open", "dialog-save", "fs-create-dir", "fs-exists", "dialog-confirm", "fs-remove-dir", "shell-open", "dialog-message", "fs-remove-file"] }
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"
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"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true