aboutsummaryrefslogtreecommitdiffstats
path: root/Cargo.toml
diff options
context:
space:
mode:
Diffstat (limited to 'Cargo.toml')
-rw-r--r--Cargo.toml58
1 files changed, 58 insertions, 0 deletions
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000..1ef3f34
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,58 @@
+[workspace]
+resolver = "2"
+members = [
+ "crates/asist-core",
+ "crates/asist-audio",
+ "crates/asist-asr",
+ "crates/asist-llm",
+ "crates/asist-tts",
+ "crates/asist-app",
+]
+# Los submódulos son dependencias por ruta, no miembros del workspace: sin esto
+# cargo los adopta por estar dentro del directorio, y `cargo test` acabaría
+# ejecutando las pruebas de integración de canary-rs, que esperan un modelo en
+# su propia ruta por defecto y fallan aquí.
+exclude = ["vendor"]
+
+[workspace.package]
+version = "0.1.0"
+edition = "2021"
+rust-version = "1.85"
+license = "MIT"
+repository = "https://github.com/elvis/asist-p"
+
+[workspace.dependencies]
+asist-core = { path = "crates/asist-core" }
+asist-audio = { path = "crates/asist-audio" }
+asist-asr = { path = "crates/asist-asr" }
+asist-llm = { path = "crates/asist-llm" }
+asist-tts = { path = "crates/asist-tts" }
+
+canary-rs = { path = "vendor/canary-rs", default-features = false, features = ["cpu", "ort-defaults"] }
+# canary-rs pide "2.0.0-rc.12", que en semver de prelanzamientos también admite
+# rc.13 — y ahí el módulo CoreML pasó a estar tras una feature, así que sus
+# reexportaciones incondicionales dejan de compilar. Se fija la versión contra
+# la que canary-rs se construye de verdad.
+ort = "=2.0.0-rc.12"
+
+anyhow = "1"
+base64 = "0.22"
+cpal = "0.17"
+crossbeam-channel = "0.5"
+serde = { version = "1", features = ["derive"] }
+serde_json = "1"
+thiserror = "2"
+toml = "0.8"
+tracing = "0.1"
+tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
+
+[profile.release]
+opt-level = 3
+lto = "thin"
+codegen-units = 1
+debug = 1 # keep frame pointers/line info: perf profiling of the audio path needs them
+
+# The pipeline is unusable in a debug build (Canary decodes ~10x slower), so the
+# heavy dependencies are optimised even when the workspace itself is not.
+[profile.dev.package."*"]
+opt-level = 3