kimun_notes/rag/
client.rs1use crate::server_client::RagClient;
5use kimun_core::NoteVault;
6
7use crate::settings::SharedSettings;
8
9pub(super) fn server_config(settings: &SharedSettings) -> Option<(String, Option<String>)> {
12 let settings = settings.read().ok()?;
13 let global = &settings.workspace_config.as_ref()?.global;
14 Some((
15 global.kimun_server_url.clone()?,
16 global.kimun_server_token.clone(),
17 ))
18}
19
20pub async fn rag_client(settings: &SharedSettings, vault: &NoteVault) -> Option<RagClient> {
23 let (url, token) = server_config(settings)?;
24 let vault_id = vault.vault_id().await.ok()?;
25 Some(RagClient::new(url, token, vault_id.to_string()))
26}
27
28pub fn rag_configured(settings: &SharedSettings) -> bool {
31 server_config(settings).is_some()
32}