
[package]
name = "app"
version = "0.3.3-1"
description = "A Tauri App"
authors = ["you"]
license = ""
repository = ""
edition = "2021"
rust-version = "1.77.2"
default-run = "app"

[features]
default = ["community"]
# Community 版: LSA のみ。リンク時に LSA オブジェクトのみ含まれる。
community = []
# Pro 版: tract (ONNX) による埋め込み。tract 失敗時は ort (ONNX Runtime) にフォールバック。
pro = ["dep:tract-onnx", "dep:ort"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[lib]
name = "app_lib"
crate-type = ["staticlib", "cdylib", "rlib"]

[build-dependencies]
tauri-build = { version = "2.5.4", features = [] }

[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
log = "0.4"
tauri = { version = "2.10.2", features = ["tray-icon"] }
tauri-plugin-log = "2.8.0"
# Database
rusqlite = { version = "0.32", features = ["bundled", "load_extension"] }
sqlx = { version = "0.8", features = ["sqlite", "runtime-tokio-rustls"] }
sea-orm = { version = "1.1", features = ["sqlx-sqlite", "runtime-tokio-rustls", "macros", "with-chrono"] }
# Web Server (MCP)
axum = { version = "0.7", features = ["macros"] }
tower = "0.5"
tokio = { version = "1", features = ["full"] }
tower-http = { version = "0.6", features = ["cors", "trace", "fs"] }
futures = "0.3"
tokio-stream = { version = "0.1", features = ["sync"] }
anyhow = "1"
env_logger = "0.11"
chrono = { version = "0.4", features = ["serde"] }
tauri-plugin-shell = "2.0.0"
tauri-plugin-autostart = "2.5.1"
tauri-plugin-dialog = "2.6.0"
reqwest = { version = "0.12", features = ["json"] }
dirs = "6.0"
# Japanese NLP & LSA
vibrato = "0.5.2"
zstd = "0.13"
ndarray = "0.15"
hnsw_rs = "0.3.3"
# SVD は rsvd, ndarray-linalg なしで実施する方法を模索中
bincode = "1.3"
uuid = { version = "1", features = ["v4"] }
# Pro 版: ONNX 埋め込み (tract 優先、失敗時 ort でフォールバック)
tract-onnx = { version = "0.22", optional = true }
ort = { version = "2.0.0-rc.12", optional = true, default-features = false, features = ["std", "download-binaries", "tls-rustls"] }
# フォルダ監視（計画 folder_monitor）
notify = "6.1"
notify-debouncer-mini = "0.4"

[dev-dependencies]
tempfile = "3.10"
