1pub mod bootstrap;
10pub mod cli_contract;
11pub mod daemon_url;
12pub mod project;
13pub mod provisioning;
14
15pub mod ai_context;
17pub mod ai_types;
18pub mod codewiki_contract;
19pub mod config;
20pub mod degradation;
21mod libpq;
22pub mod setup;
23pub mod token_budget;
24
25pub fn gobby_home() -> anyhow::Result<std::path::PathBuf> {
27 if let Some(home) = std::env::var_os("GOBBY_HOME") {
28 return Ok(std::path::PathBuf::from(home));
29 }
30 dirs::home_dir()
31 .map(|home| home.join(".gobby"))
32 .ok_or_else(|| anyhow::anyhow!("cannot determine home directory"))
33}
34
35#[cfg(feature = "ai")]
37pub mod ai;
38
39#[cfg(feature = "postgres")]
40pub mod postgres;
41
42#[cfg(feature = "postgres")]
43pub mod secrets;
44
45#[cfg(feature = "falkor")]
46pub mod falkor;
47
48#[cfg(feature = "qdrant")]
49pub mod qdrant;
50
51#[cfg(feature = "indexing")]
52pub mod indexing;
53
54#[cfg(feature = "search")]
55pub mod search;
56
57#[cfg(feature = "graph-analytics")]
58pub mod graph_analytics;
59
60#[cfg(test)]
61pub(crate) mod test_http;