Raw
1 [package]
2 name = "sitiai"
3 version = "1.0.0"
4 description = "Siti AI — private, on-device personal assistant."
5 authors = ["PT Sigit Mitra Bangun <support@getsiti.5mb.app>"]
6 edition = "2021"
7 license = "Apache-2.0"
8 repository = "https://github.com/getsigit/siti"
9 homepage = "https://getsiti.5mb.app"
10
11 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
12
13 [lib]
14 # The `_lib` suffix may seem redundant but it is necessary
15 # to make the lib name unique and wouldn't conflict with the bin name.
16 # This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519
17 name = "sitiai_lib"
18 crate-type = ["staticlib", "cdylib", "rlib"]
19
20 [build-dependencies]
21 tauri-build = { version = "2", features = [] }
22
23 [dependencies]
24 tauri = { version = "2", features = [] }
25 tauri-plugin-log = "2"
26 tauri-plugin-opener = "2"
27 serde = { version = "1", features = ["derive"] }
28 serde_json = "1"
29 log = "0.4"
30 once_cell = "1"
31 tokio = { version = "1", features = ["macros", "rt"] }
32 # Ed, the agent SDK over the Onde inference engine: model lifecycle, history,
33 # streaming and the Tauri event bridge. Published crates:
34 # https://crates.io/crates/ed-agent and https://crates.io/crates/ed-agent-tauri.
35 ed-agent = "1.2.2"
36 ed-agent-tauri = "1.2.2"
37 # The engine Ed wraps. Siti still reaches it directly for the Hugging Face cache
38 # helpers (download checks, model removal) and the macOS ISQ load path.
39 onde = "1.3.2"
40
41 # Apple App Group container lookup — used to redirect the HuggingFace model
42 # cache into the shared `group.com.ondeinference.apps` container.
43 [target.'cfg(any(target_os = "ios", target_os = "macos"))'.dependencies]
44 objc2-foundation = { version = "0.3", features = [
45 "NSFileManager",
46 "NSBundle",
47 "NSString",
48 ] }
49
50 [profile.dev]
51 # GGUF inference is unusably slow at opt-level 0; 2 keeps dev builds bearable.
52 opt-level = 2
53 incremental = false
54
55 [profile.release]
56 opt-level = 3
57 lto = "thin"
58 codegen-units = 1
59 strip = "debuginfo"
60
61 # Do NOT strip proc-macro / build-script dylibs. On beta macOS (Darwin 26/27)
62 # `strip = "debuginfo"` corrupts their Mach-O LINKEDIT ("mis-aligned LINKEDIT
63 # string pool"), so rustc can't dlopen them mid-build ("can't find crate for
64 # thiserror_impl"). The shipped app binary stays stripped via the profile above.
65 [profile.release.build-override]
66 strip = false