pub fn detect_namespace(
explicit: Option<&str>,
) -> Result<NamespaceResolution, AppError>Expand description
Resolve o namespace ativo retornando estrutura com origem e diretório atual.
A precedência é: flag explícita > SQLITE_GRAPHRAG_NAMESPACE > fallback "global".
§Errors
Retorna AppError::Validation se o namespace resolvido contiver caracteres inválidos.
§Examples
use sqlite_graphrag::namespace::{detect_namespace, NamespaceSource};
// Com flag explícita, a fonte é `ExplicitFlag`.
let res = detect_namespace(Some("producao")).unwrap();
assert_eq!(res.namespace, "producao");
assert_eq!(res.source, NamespaceSource::ExplicitFlag);use sqlite_graphrag::namespace::{detect_namespace, NamespaceSource};
// Sem nenhuma configuração explícita, fallback é "global".
// Desativa env var para garantir comportamento determinístico.
std::env::remove_var("SQLITE_GRAPHRAG_NAMESPACE");
let res = detect_namespace(None).unwrap();
assert_eq!(res.namespace, "global");
assert_eq!(res.source, NamespaceSource::Default);