#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RetrievalFilters {
#[prost(string, tag = "1")]
pub collection: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub document_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "3")]
pub user_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub session_id: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub scope: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub namespace: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RetrievalPlan {
#[prost(string, tag = "1")]
pub query: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub keywords: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "3")]
pub alternate_queries: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "4")]
pub entity_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "5")]
pub retrieval_mode: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub filters: ::core::option::Option<RetrievalFilters>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RetrievalDecision {
#[prost(string, tag = "1")]
pub requested_mode: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub effective_mode: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub use_graph: bool,
#[prost(string, tag = "4")]
pub reason: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GraphRagChunkResult {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub document_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub content: ::prost::alloc::string::String,
#[prost(double, tag = "4")]
pub score: f64,
#[prost(double, tag = "5")]
pub base_score: f64,
#[prost(double, tag = "6")]
pub rerank_score: f64,
#[prost(string, repeated, tag = "7")]
pub entities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ToolEntityInput {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub r#type: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub description: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "5")]
pub chunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "6")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ToolRelationInput {
#[prost(string, tag = "1")]
pub from: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub to: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub r#type: ::prost::alloc::string::String,
#[prost(double, tag = "4")]
pub weight: f64,
#[prost(string, repeated, tag = "5")]
pub chunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "6")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(bool, tag = "7")]
pub inferred: bool,
#[prost(string, tag = "8")]
pub provenance: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub rule_id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "10")]
pub support_edge_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KnowledgeRecord {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub content: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub source_url: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub author: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub collection: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "7")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, repeated, tag = "8")]
pub chunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "9")]
pub entities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "10")]
pub created_at: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "11")]
pub updated_at: ::core::option::Option<::prost_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SaveKnowledgeRequest {
#[prost(string, tag = "1")]
pub knowledge_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub content: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub source_url: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub author: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub collection: ::prost::alloc::string::String,
#[prost(int32, tag = "7")]
pub chunk_size: i32,
#[prost(int32, tag = "8")]
pub chunk_overlap: i32,
#[prost(map = "string, string", tag = "9")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, repeated, tag = "10")]
pub entities: ::prost::alloc::vec::Vec<ToolEntityInput>,
#[prost(message, repeated, tag = "11")]
pub relations: ::prost::alloc::vec::Vec<ToolRelationInput>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SaveKnowledgeResponse {
#[prost(message, optional, tag = "1")]
pub knowledge: ::core::option::Option<KnowledgeRecord>,
#[prost(string, tag = "2")]
pub document_node_id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub entity_node_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "4")]
pub relation_edge_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateKnowledgeRequest {
#[prost(string, tag = "1")]
pub knowledge_id: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub title: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub content: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub source_url: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub author: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub collection: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "7")]
pub chunk_size: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "8")]
pub chunk_overlap: ::core::option::Option<i32>,
#[prost(map = "string, string", tag = "9")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, repeated, tag = "10")]
pub entities: ::prost::alloc::vec::Vec<ToolEntityInput>,
#[prost(message, repeated, tag = "11")]
pub relations: ::prost::alloc::vec::Vec<ToolRelationInput>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetKnowledgeRequest {
#[prost(string, tag = "1")]
pub knowledge_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetKnowledgeResponse {
#[prost(message, optional, tag = "1")]
pub knowledge: ::core::option::Option<KnowledgeRecord>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteKnowledgeRequest {
#[prost(string, tag = "1")]
pub knowledge_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteKnowledgeResponse {
#[prost(string, tag = "1")]
pub knowledge_id: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub deleted: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchKnowledgeRequest {
#[prost(string, tag = "1")]
pub query: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub collection: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub top_k: i32,
#[prost(int32, tag = "4")]
pub max_hops: i32,
#[prost(int32, tag = "5")]
pub max_related_chunks: i32,
#[prost(int32, tag = "6")]
pub max_context_chunks: i32,
#[prost(int32, tag = "7")]
pub max_context_chars: i32,
#[prost(int32, tag = "8")]
pub per_document_limit: i32,
#[prost(double, tag = "9")]
pub diversity_lambda: f64,
#[prost(bool, tag = "10")]
pub disable_rerank: bool,
#[prost(string, repeated, tag = "11")]
pub entity_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "12")]
pub keywords: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "13")]
pub alternate_queries: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "14")]
pub retrieval_mode: ::prost::alloc::string::String,
#[prost(bool, tag = "15")]
pub disable_graph: bool,
#[prost(bool, tag = "16")]
pub graph_light: bool,
#[prost(int32, tag = "17")]
pub max_expansion_seeds: i32,
#[prost(int32, tag = "18")]
pub max_traversal_nodes: i32,
#[prost(int32, tag = "19")]
pub max_entities_per_chunk: i32,
#[prost(message, optional, tag = "20")]
pub plan: ::core::option::Option<RetrievalPlan>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KnowledgeSearchHit {
#[prost(string, tag = "1")]
pub knowledge_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub source_url: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub author: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub snippet: ::prost::alloc::string::String,
#[prost(double, tag = "6")]
pub score: f64,
#[prost(string, repeated, tag = "7")]
pub chunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "8")]
pub entities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "9")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchKnowledgeResponse {
#[prost(string, tag = "1")]
pub query: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub plan: ::core::option::Option<RetrievalPlan>,
#[prost(message, optional, tag = "3")]
pub decision: ::core::option::Option<RetrievalDecision>,
#[prost(message, repeated, tag = "4")]
pub results: ::prost::alloc::vec::Vec<KnowledgeSearchHit>,
#[prost(message, repeated, tag = "5")]
pub chunks: ::prost::alloc::vec::Vec<GraphRagChunkResult>,
#[prost(string, repeated, tag = "6")]
pub entities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "7")]
pub context: ::prost::alloc::string::String,
}
pub mod knowledge_service_client {
#![allow(
unused_variables,
dead_code,
missing_docs,
clippy::wildcard_imports,
clippy::let_unit_value,
)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct KnowledgeServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl KnowledgeServiceClient<tonic::transport::Channel> {
pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
where
D: TryInto<tonic::transport::Endpoint>,
D::Error: Into<StdError>,
{
let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
Ok(Self::new(conn))
}
}
impl<T> KnowledgeServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::Body>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> KnowledgeServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::Body>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::Body>,
>>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
{
KnowledgeServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
#[must_use]
pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_decoding_message_size(limit);
self
}
#[must_use]
pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_encoding_message_size(limit);
self
}
pub async fn save_knowledge(
&mut self,
request: impl tonic::IntoRequest<super::SaveKnowledgeRequest>,
) -> std::result::Result<
tonic::Response<super::SaveKnowledgeResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeService/SaveKnowledge",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new("cortexdb.v1.KnowledgeService", "SaveKnowledge"),
);
self.inner.unary(req, path, codec).await
}
pub async fn update_knowledge(
&mut self,
request: impl tonic::IntoRequest<super::UpdateKnowledgeRequest>,
) -> std::result::Result<
tonic::Response<super::SaveKnowledgeResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeService/UpdateKnowledge",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new("cortexdb.v1.KnowledgeService", "UpdateKnowledge"),
);
self.inner.unary(req, path, codec).await
}
pub async fn get_knowledge(
&mut self,
request: impl tonic::IntoRequest<super::GetKnowledgeRequest>,
) -> std::result::Result<
tonic::Response<super::GetKnowledgeResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeService/GetKnowledge",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("cortexdb.v1.KnowledgeService", "GetKnowledge"));
self.inner.unary(req, path, codec).await
}
pub async fn search_knowledge(
&mut self,
request: impl tonic::IntoRequest<super::SearchKnowledgeRequest>,
) -> std::result::Result<
tonic::Response<super::SearchKnowledgeResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeService/SearchKnowledge",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new("cortexdb.v1.KnowledgeService", "SearchKnowledge"),
);
self.inner.unary(req, path, codec).await
}
pub async fn delete_knowledge(
&mut self,
request: impl tonic::IntoRequest<super::DeleteKnowledgeRequest>,
) -> std::result::Result<
tonic::Response<super::DeleteKnowledgeResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeService/DeleteKnowledge",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new("cortexdb.v1.KnowledgeService", "DeleteKnowledge"),
);
self.inner.unary(req, path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MemoryRecord {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub user_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub session_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub scope: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub namespace: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub role: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub content: ::prost::alloc::string::String,
#[prost(message, optional, tag = "8")]
pub metadata: ::core::option::Option<::prost_types::Struct>,
#[prost(double, tag = "9")]
pub importance: f64,
#[prost(int32, tag = "10")]
pub ttl_seconds: i32,
#[prost(message, optional, tag = "11")]
pub expires_at: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "12")]
pub created_at: ::core::option::Option<::prost_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SaveMemoryRequest {
#[prost(string, tag = "1")]
pub memory_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub user_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub session_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub scope: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub namespace: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub role: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub content: ::prost::alloc::string::String,
#[prost(message, optional, tag = "8")]
pub metadata: ::core::option::Option<::prost_types::Struct>,
#[prost(double, tag = "9")]
pub importance: f64,
#[prost(int32, tag = "10")]
pub ttl_seconds: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SaveMemoryResponse {
#[prost(message, optional, tag = "1")]
pub memory: ::core::option::Option<MemoryRecord>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMemoryRequest {
#[prost(string, tag = "1")]
pub memory_id: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub content: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub metadata: ::core::option::Option<::prost_types::Struct>,
#[prost(double, optional, tag = "4")]
pub importance: ::core::option::Option<f64>,
#[prost(int32, optional, tag = "5")]
pub ttl_seconds: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMemoryRequest {
#[prost(string, tag = "1")]
pub memory_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMemoryResponse {
#[prost(message, optional, tag = "1")]
pub memory: ::core::option::Option<MemoryRecord>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteMemoryRequest {
#[prost(string, tag = "1")]
pub memory_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteMemoryResponse {
#[prost(string, tag = "1")]
pub memory_id: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub deleted: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SearchMemoryRequest {
#[prost(string, tag = "1")]
pub query: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub user_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub session_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub scope: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub namespace: ::prost::alloc::string::String,
#[prost(int32, tag = "6")]
pub top_k: i32,
#[prost(string, repeated, tag = "7")]
pub keywords: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "8")]
pub alternate_queries: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "9")]
pub retrieval_mode: ::prost::alloc::string::String,
#[prost(message, optional, tag = "10")]
pub plan: ::core::option::Option<RetrievalPlan>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MemorySearchHit {
#[prost(message, optional, tag = "1")]
pub memory: ::core::option::Option<MemoryRecord>,
#[prost(double, tag = "2")]
pub score: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchMemoryResponse {
#[prost(string, tag = "1")]
pub query: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub plan: ::core::option::Option<RetrievalPlan>,
#[prost(message, optional, tag = "3")]
pub decision: ::core::option::Option<RetrievalDecision>,
#[prost(message, repeated, tag = "4")]
pub results: ::prost::alloc::vec::Vec<MemorySearchHit>,
}
pub mod memory_service_client {
#![allow(
unused_variables,
dead_code,
missing_docs,
clippy::wildcard_imports,
clippy::let_unit_value,
)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct MemoryServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl MemoryServiceClient<tonic::transport::Channel> {
pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
where
D: TryInto<tonic::transport::Endpoint>,
D::Error: Into<StdError>,
{
let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
Ok(Self::new(conn))
}
}
impl<T> MemoryServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::Body>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> MemoryServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::Body>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::Body>,
>>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
{
MemoryServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
#[must_use]
pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_decoding_message_size(limit);
self
}
#[must_use]
pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_encoding_message_size(limit);
self
}
pub async fn save_memory(
&mut self,
request: impl tonic::IntoRequest<super::SaveMemoryRequest>,
) -> std::result::Result<
tonic::Response<super::SaveMemoryResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.MemoryService/SaveMemory",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("cortexdb.v1.MemoryService", "SaveMemory"));
self.inner.unary(req, path, codec).await
}
pub async fn update_memory(
&mut self,
request: impl tonic::IntoRequest<super::UpdateMemoryRequest>,
) -> std::result::Result<
tonic::Response<super::SaveMemoryResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.MemoryService/UpdateMemory",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("cortexdb.v1.MemoryService", "UpdateMemory"));
self.inner.unary(req, path, codec).await
}
pub async fn get_memory(
&mut self,
request: impl tonic::IntoRequest<super::GetMemoryRequest>,
) -> std::result::Result<
tonic::Response<super::GetMemoryResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.MemoryService/GetMemory",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("cortexdb.v1.MemoryService", "GetMemory"));
self.inner.unary(req, path, codec).await
}
pub async fn search_memory(
&mut self,
request: impl tonic::IntoRequest<super::SearchMemoryRequest>,
) -> std::result::Result<
tonic::Response<super::SearchMemoryResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.MemoryService/SearchMemory",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("cortexdb.v1.MemoryService", "SearchMemory"));
self.inner.unary(req, path, codec).await
}
pub async fn delete_memory(
&mut self,
request: impl tonic::IntoRequest<super::DeleteMemoryRequest>,
) -> std::result::Result<
tonic::Response<super::DeleteMemoryResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.MemoryService/DeleteMemory",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("cortexdb.v1.MemoryService", "DeleteMemory"));
self.inner.unary(req, path, codec).await
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RdfTerm {
#[prost(string, tag = "1")]
pub kind: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub value: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub datatype: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub language: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RdfTriple {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub subject: ::core::option::Option<RdfTerm>,
#[prost(message, optional, tag = "3")]
pub predicate: ::core::option::Option<RdfTerm>,
#[prost(message, optional, tag = "4")]
pub object: ::core::option::Option<RdfTerm>,
#[prost(message, optional, tag = "5")]
pub graph: ::core::option::Option<RdfTerm>,
#[prost(bool, tag = "6")]
pub inferred: bool,
#[prost(string, tag = "7")]
pub rule: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "8")]
pub support_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TriplePattern {
#[prost(message, optional, tag = "1")]
pub subject: ::core::option::Option<RdfTerm>,
#[prost(message, optional, tag = "2")]
pub predicate: ::core::option::Option<RdfTerm>,
#[prost(message, optional, tag = "3")]
pub object: ::core::option::Option<RdfTerm>,
#[prost(message, optional, tag = "4")]
pub graph: ::core::option::Option<RdfTerm>,
#[prost(bool, optional, tag = "5")]
pub inferred: ::core::option::Option<bool>,
#[prost(int32, tag = "6")]
pub limit: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GraphNamespace {
#[prost(string, tag = "1")]
pub prefix: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub uri: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpsertNamespaceRequest {
#[prost(string, tag = "1")]
pub prefix: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub uri: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpsertNamespaceResponse {
#[prost(message, optional, tag = "1")]
pub namespace: ::core::option::Option<GraphNamespace>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListNamespacesRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListNamespacesResponse {
#[prost(message, repeated, tag = "1")]
pub namespaces: ::prost::alloc::vec::Vec<GraphNamespace>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpsertKnowledgeGraphRequest {
#[prost(message, repeated, tag = "1")]
pub triples: ::prost::alloc::vec::Vec<RdfTriple>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpsertKnowledgeGraphResponse {
#[prost(string, repeated, tag = "1")]
pub triple_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(int32, tag = "2")]
pub count: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FindKnowledgeGraphRequest {
#[prost(message, optional, tag = "1")]
pub pattern: ::core::option::Option<TriplePattern>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FindKnowledgeGraphResponse {
#[prost(message, repeated, tag = "1")]
pub triples: ::prost::alloc::vec::Vec<RdfTriple>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteKnowledgeGraphRequest {
#[prost(string, repeated, tag = "1")]
pub triple_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "2")]
pub triples: ::prost::alloc::vec::Vec<RdfTriple>,
#[prost(message, optional, tag = "3")]
pub pattern: ::core::option::Option<TriplePattern>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteKnowledgeGraphResponse {
#[prost(int32, tag = "1")]
pub deleted: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ImportKnowledgeGraphRequest {
#[prost(string, tag = "1")]
pub format: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub content: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ImportKnowledgeGraphResponse {
#[prost(string, tag = "1")]
pub format: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub count: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExportKnowledgeGraphRequest {
#[prost(string, tag = "1")]
pub format: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExportKnowledgeGraphResponse {
#[prost(string, tag = "1")]
pub format: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub content: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SparqlBinding {
#[prost(map = "string, message", tag = "1")]
pub vars: ::std::collections::HashMap<::prost::alloc::string::String, RdfTerm>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SparqlResult {
#[prost(string, tag = "1")]
pub query_type: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub vars: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "3")]
pub bindings: ::prost::alloc::vec::Vec<SparqlBinding>,
#[prost(message, repeated, tag = "4")]
pub triples: ::prost::alloc::vec::Vec<RdfTriple>,
#[prost(bool, tag = "5")]
pub boolean: bool,
#[prost(int32, tag = "6")]
pub count: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QuerySparqlRequest {
#[prost(string, tag = "1")]
pub query: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuerySparqlResponse {
#[prost(message, optional, tag = "1")]
pub result: ::core::option::Option<SparqlResult>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ShaclValidationResult {
#[prost(message, optional, tag = "1")]
pub focus_node: ::core::option::Option<RdfTerm>,
#[prost(message, optional, tag = "2")]
pub path: ::core::option::Option<RdfTerm>,
#[prost(message, optional, tag = "3")]
pub value: ::core::option::Option<RdfTerm>,
#[prost(string, tag = "4")]
pub message: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub severity: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub source_shape: ::core::option::Option<RdfTerm>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShaclReport {
#[prost(bool, tag = "1")]
pub conforms: bool,
#[prost(message, repeated, tag = "2")]
pub results: ::prost::alloc::vec::Vec<ShaclValidationResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ValidateShaclRequest {
#[prost(message, repeated, tag = "1")]
pub shapes: ::prost::alloc::vec::Vec<RdfTriple>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ValidateShaclResponse {
#[prost(message, optional, tag = "1")]
pub report: ::core::option::Option<ShaclReport>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefreshInferenceRequest {
#[prost(string, tag = "1")]
pub mode: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub triple_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "3")]
pub triples: ::prost::alloc::vec::Vec<RdfTriple>,
#[prost(message, optional, tag = "4")]
pub pattern: ::core::option::Option<TriplePattern>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InferenceRefreshResult {
#[prost(int32, tag = "1")]
pub explicit_count: i32,
#[prost(int32, tag = "2")]
pub inferred_count: i32,
#[prost(bool, tag = "3")]
pub incremental: bool,
#[prost(int32, tag = "4")]
pub affected_explicit_count: i32,
#[prost(int32, tag = "5")]
pub removed_inferred_count: i32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RefreshInferenceResponse {
#[prost(message, optional, tag = "1")]
pub result: ::core::option::Option<InferenceRefreshResult>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SummarizeInferenceRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InferenceSummary {
#[prost(int32, tag = "1")]
pub explicit_count: i32,
#[prost(int32, tag = "2")]
pub inferred_count: i32,
#[prost(map = "string, int32", tag = "3")]
pub rules: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SummarizeInferenceResponse {
#[prost(message, optional, tag = "1")]
pub result: ::core::option::Option<InferenceSummary>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InferenceExplanation {
#[prost(message, optional, tag = "1")]
pub triple: ::core::option::Option<RdfTriple>,
#[prost(bool, tag = "2")]
pub explicit: bool,
#[prost(string, tag = "3")]
pub rule: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "4")]
pub support_triple_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InferenceTraceEntry {
#[prost(string, tag = "1")]
pub triple_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub parent_triple_id: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub depth: i32,
#[prost(message, optional, tag = "4")]
pub explanation: ::core::option::Option<InferenceExplanation>,
#[prost(bool, tag = "5")]
pub truncated: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExplainInferenceRequest {
#[prost(string, tag = "1")]
pub triple_id: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub depth: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExplainInferenceResponse {
#[prost(message, optional, tag = "1")]
pub explanation: ::core::option::Option<InferenceExplanation>,
#[prost(message, repeated, tag = "2")]
pub trace: ::prost::alloc::vec::Vec<InferenceTraceEntry>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InferenceMatchExplanation {
#[prost(message, optional, tag = "1")]
pub explanation: ::core::option::Option<InferenceExplanation>,
#[prost(message, repeated, tag = "2")]
pub trace: ::prost::alloc::vec::Vec<InferenceTraceEntry>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExplainInferenceMatchRequest {
#[prost(message, optional, tag = "1")]
pub pattern: ::core::option::Option<TriplePattern>,
#[prost(int32, tag = "2")]
pub depth: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExplainInferenceMatchResponse {
#[prost(message, repeated, tag = "1")]
pub matches: ::prost::alloc::vec::Vec<InferenceMatchExplanation>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OntologyEntityType {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub description: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub required_properties: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OntologyRelationType {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub description: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub allowed_from_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "4")]
pub allowed_to_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "5")]
pub required_properties: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OntologySchema {
#[prost(string, tag = "1")]
pub schema_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub description: ::prost::alloc::string::String,
#[prost(int32, tag = "4")]
pub version: i32,
#[prost(bool, tag = "5")]
pub active: bool,
#[prost(map = "string, string", tag = "6")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[deprecated]
#[prost(message, repeated, tag = "7")]
pub entity_types: ::prost::alloc::vec::Vec<OntologyEntityType>,
#[deprecated]
#[prost(message, repeated, tag = "8")]
pub relation_types: ::prost::alloc::vec::Vec<OntologyRelationType>,
#[prost(message, optional, tag = "9")]
pub created_at: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "10")]
pub updated_at: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "11")]
pub schema_json: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SaveOntologySchemaRequest {
#[prost(string, tag = "1")]
pub schema_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub description: ::prost::alloc::string::String,
#[prost(int32, tag = "4")]
pub version: i32,
#[prost(bool, tag = "5")]
pub activate: bool,
#[prost(bool, tag = "6")]
pub deactivate: bool,
#[prost(map = "string, string", tag = "7")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[deprecated]
#[prost(message, repeated, tag = "8")]
pub entity_types: ::prost::alloc::vec::Vec<OntologyEntityType>,
#[deprecated]
#[prost(message, repeated, tag = "9")]
pub relation_types: ::prost::alloc::vec::Vec<OntologyRelationType>,
#[prost(string, tag = "10")]
pub schema_json: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SaveOntologySchemaResponse {
#[prost(message, optional, tag = "1")]
pub schema: ::core::option::Option<OntologySchema>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetOntologySchemaRequest {
#[prost(string, tag = "1")]
pub schema_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetOntologySchemaResponse {
#[prost(message, optional, tag = "1")]
pub schema: ::core::option::Option<OntologySchema>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListOntologySchemasRequest {
#[prost(bool, tag = "1")]
pub active_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListOntologySchemasResponse {
#[prost(message, repeated, tag = "1")]
pub schemas: ::prost::alloc::vec::Vec<OntologySchema>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteOntologySchemaRequest {
#[prost(string, tag = "1")]
pub schema_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteOntologySchemaResponse {
#[prost(string, tag = "1")]
pub schema_id: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub deleted: bool,
}
pub mod knowledge_graph_service_client {
#![allow(
unused_variables,
dead_code,
missing_docs,
clippy::wildcard_imports,
clippy::let_unit_value,
)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct KnowledgeGraphServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl KnowledgeGraphServiceClient<tonic::transport::Channel> {
pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
where
D: TryInto<tonic::transport::Endpoint>,
D::Error: Into<StdError>,
{
let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
Ok(Self::new(conn))
}
}
impl<T> KnowledgeGraphServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::Body>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> KnowledgeGraphServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::Body>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::Body>,
>>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
{
KnowledgeGraphServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
#[must_use]
pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_decoding_message_size(limit);
self
}
#[must_use]
pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_encoding_message_size(limit);
self
}
pub async fn upsert_namespace(
&mut self,
request: impl tonic::IntoRequest<super::UpsertNamespaceRequest>,
) -> std::result::Result<
tonic::Response<super::UpsertNamespaceResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/UpsertNamespace",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"UpsertNamespace",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn list_namespaces(
&mut self,
request: impl tonic::IntoRequest<super::ListNamespacesRequest>,
) -> std::result::Result<
tonic::Response<super::ListNamespacesResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/ListNamespaces",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"ListNamespaces",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn upsert_knowledge_graph(
&mut self,
request: impl tonic::IntoRequest<super::UpsertKnowledgeGraphRequest>,
) -> std::result::Result<
tonic::Response<super::UpsertKnowledgeGraphResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/UpsertKnowledgeGraph",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"UpsertKnowledgeGraph",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn find_knowledge_graph(
&mut self,
request: impl tonic::IntoRequest<super::FindKnowledgeGraphRequest>,
) -> std::result::Result<
tonic::Response<super::FindKnowledgeGraphResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/FindKnowledgeGraph",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"FindKnowledgeGraph",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn delete_knowledge_graph(
&mut self,
request: impl tonic::IntoRequest<super::DeleteKnowledgeGraphRequest>,
) -> std::result::Result<
tonic::Response<super::DeleteKnowledgeGraphResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/DeleteKnowledgeGraph",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"DeleteKnowledgeGraph",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn import_knowledge_graph(
&mut self,
request: impl tonic::IntoRequest<super::ImportKnowledgeGraphRequest>,
) -> std::result::Result<
tonic::Response<super::ImportKnowledgeGraphResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/ImportKnowledgeGraph",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"ImportKnowledgeGraph",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn export_knowledge_graph(
&mut self,
request: impl tonic::IntoRequest<super::ExportKnowledgeGraphRequest>,
) -> std::result::Result<
tonic::Response<super::ExportKnowledgeGraphResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/ExportKnowledgeGraph",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"ExportKnowledgeGraph",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn query_sparql(
&mut self,
request: impl tonic::IntoRequest<super::QuerySparqlRequest>,
) -> std::result::Result<
tonic::Response<super::QuerySparqlResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/QuerySparql",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new("cortexdb.v1.KnowledgeGraphService", "QuerySparql"),
);
self.inner.unary(req, path, codec).await
}
pub async fn validate_shacl(
&mut self,
request: impl tonic::IntoRequest<super::ValidateShaclRequest>,
) -> std::result::Result<
tonic::Response<super::ValidateShaclResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/ValidateShacl",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new("cortexdb.v1.KnowledgeGraphService", "ValidateShacl"),
);
self.inner.unary(req, path, codec).await
}
pub async fn refresh_inference(
&mut self,
request: impl tonic::IntoRequest<super::RefreshInferenceRequest>,
) -> std::result::Result<
tonic::Response<super::RefreshInferenceResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/RefreshInference",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"RefreshInference",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn summarize_inference(
&mut self,
request: impl tonic::IntoRequest<super::SummarizeInferenceRequest>,
) -> std::result::Result<
tonic::Response<super::SummarizeInferenceResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/SummarizeInference",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"SummarizeInference",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn explain_inference(
&mut self,
request: impl tonic::IntoRequest<super::ExplainInferenceRequest>,
) -> std::result::Result<
tonic::Response<super::ExplainInferenceResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/ExplainInference",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"ExplainInference",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn explain_inference_match(
&mut self,
request: impl tonic::IntoRequest<super::ExplainInferenceMatchRequest>,
) -> std::result::Result<
tonic::Response<super::ExplainInferenceMatchResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/ExplainInferenceMatch",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"ExplainInferenceMatch",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn save_ontology_schema(
&mut self,
request: impl tonic::IntoRequest<super::SaveOntologySchemaRequest>,
) -> std::result::Result<
tonic::Response<super::SaveOntologySchemaResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/SaveOntologySchema",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"SaveOntologySchema",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn get_ontology_schema(
&mut self,
request: impl tonic::IntoRequest<super::GetOntologySchemaRequest>,
) -> std::result::Result<
tonic::Response<super::GetOntologySchemaResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/GetOntologySchema",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"GetOntologySchema",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn list_ontology_schemas(
&mut self,
request: impl tonic::IntoRequest<super::ListOntologySchemasRequest>,
) -> std::result::Result<
tonic::Response<super::ListOntologySchemasResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/ListOntologySchemas",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"ListOntologySchemas",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn delete_ontology_schema(
&mut self,
request: impl tonic::IntoRequest<super::DeleteOntologySchemaRequest>,
) -> std::result::Result<
tonic::Response<super::DeleteOntologySchemaResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.KnowledgeGraphService/DeleteOntologySchema",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"cortexdb.v1.KnowledgeGraphService",
"DeleteOntologySchema",
),
);
self.inner.unary(req, path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InsertGraphDocumentRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub content: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "4")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, tag = "5")]
pub collection: ::prost::alloc::string::String,
#[prost(int32, tag = "6")]
pub chunk_size: i32,
#[prost(int32, tag = "7")]
pub chunk_overlap: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InsertGraphDocumentResponse {
#[prost(string, tag = "1")]
pub document_node_id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub chunk_node_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "3")]
pub entity_node_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchGraphRagRequest {
#[prost(string, tag = "1")]
pub query: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub collection: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub top_k: i32,
#[prost(int32, tag = "4")]
pub max_hops: i32,
#[prost(int32, tag = "5")]
pub max_related_chunks: i32,
#[prost(int32, tag = "6")]
pub max_context_chunks: i32,
#[prost(int32, tag = "7")]
pub max_context_chars: i32,
#[prost(int32, tag = "8")]
pub per_document_limit: i32,
#[prost(bool, tag = "9")]
pub rerank: bool,
#[prost(bool, tag = "10")]
pub disable_rerank: bool,
#[prost(double, tag = "11")]
pub diversity_lambda: f64,
#[prost(bool, tag = "12")]
pub disable_graph: bool,
#[prost(string, tag = "13")]
pub retrieval_mode: ::prost::alloc::string::String,
#[prost(bool, tag = "14")]
pub graph_light: bool,
#[prost(int32, tag = "15")]
pub max_expansion_seeds: i32,
#[prost(int32, tag = "16")]
pub max_traversal_nodes: i32,
#[prost(int32, tag = "17")]
pub max_entities_per_chunk: i32,
#[prost(message, optional, tag = "18")]
pub plan: ::core::option::Option<RetrievalPlan>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchGraphRagResponse {
#[prost(string, tag = "1")]
pub query: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub plan: ::core::option::Option<RetrievalPlan>,
#[prost(message, optional, tag = "3")]
pub decision: ::core::option::Option<RetrievalDecision>,
#[prost(message, repeated, tag = "4")]
pub chunks: ::prost::alloc::vec::Vec<GraphRagChunkResult>,
#[prost(string, repeated, tag = "5")]
pub entities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "6")]
pub context: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InsertTextRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub text: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "3")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InsertTextResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InsertTextBatchRequest {
#[prost(map = "string, string", tag = "1")]
pub texts: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, string", tag = "2")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InsertTextBatchResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScoredText {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub content: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub doc_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub collection: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "5")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(double, tag = "6")]
pub score: f64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SearchTextRequest {
#[prost(string, tag = "1")]
pub query: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub collection: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub top_k: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchTextResponse {
#[prost(message, repeated, tag = "1")]
pub results: ::prost::alloc::vec::Vec<ScoredText>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HybridSearchTextRequest {
#[prost(string, tag = "1")]
pub query: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub top_k: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HybridSearchTextResponse {
#[prost(message, repeated, tag = "1")]
pub results: ::prost::alloc::vec::Vec<ScoredText>,
}
pub mod graph_rag_service_client {
#![allow(
unused_variables,
dead_code,
missing_docs,
clippy::wildcard_imports,
clippy::let_unit_value,
)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct GraphRagServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl GraphRagServiceClient<tonic::transport::Channel> {
pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
where
D: TryInto<tonic::transport::Endpoint>,
D::Error: Into<StdError>,
{
let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
Ok(Self::new(conn))
}
}
impl<T> GraphRagServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::Body>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> GraphRagServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::Body>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::Body>,
>>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
{
GraphRagServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
#[must_use]
pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_decoding_message_size(limit);
self
}
#[must_use]
pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_encoding_message_size(limit);
self
}
pub async fn insert_graph_document(
&mut self,
request: impl tonic::IntoRequest<super::InsertGraphDocumentRequest>,
) -> std::result::Result<
tonic::Response<super::InsertGraphDocumentResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.GraphRagService/InsertGraphDocument",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new("cortexdb.v1.GraphRagService", "InsertGraphDocument"),
);
self.inner.unary(req, path, codec).await
}
pub async fn search_graph_rag(
&mut self,
request: impl tonic::IntoRequest<super::SearchGraphRagRequest>,
) -> std::result::Result<
tonic::Response<super::SearchGraphRagResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.GraphRagService/SearchGraphRag",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new("cortexdb.v1.GraphRagService", "SearchGraphRag"),
);
self.inner.unary(req, path, codec).await
}
pub async fn insert_text(
&mut self,
request: impl tonic::IntoRequest<super::InsertTextRequest>,
) -> std::result::Result<
tonic::Response<super::InsertTextResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.GraphRagService/InsertText",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("cortexdb.v1.GraphRagService", "InsertText"));
self.inner.unary(req, path, codec).await
}
pub async fn insert_text_batch(
&mut self,
request: impl tonic::IntoRequest<super::InsertTextBatchRequest>,
) -> std::result::Result<
tonic::Response<super::InsertTextBatchResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.GraphRagService/InsertTextBatch",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new("cortexdb.v1.GraphRagService", "InsertTextBatch"),
);
self.inner.unary(req, path, codec).await
}
pub async fn search_text(
&mut self,
request: impl tonic::IntoRequest<super::SearchTextRequest>,
) -> std::result::Result<
tonic::Response<super::SearchTextResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.GraphRagService/SearchText",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("cortexdb.v1.GraphRagService", "SearchText"));
self.inner.unary(req, path, codec).await
}
pub async fn hybrid_search_text(
&mut self,
request: impl tonic::IntoRequest<super::HybridSearchTextRequest>,
) -> std::result::Result<
tonic::Response<super::HybridSearchTextResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.GraphRagService/HybridSearchText",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new("cortexdb.v1.GraphRagService", "HybridSearchText"),
);
self.inner.unary(req, path, codec).await
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ToolDefinition {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub description: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub input_schema_json: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListToolsRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListToolsResponse {
#[prost(message, repeated, tag = "1")]
pub tools: ::prost::alloc::vec::Vec<ToolDefinition>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CallToolRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub args_json: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CallToolResponse {
#[prost(string, tag = "1")]
pub result_json: ::prost::alloc::string::String,
}
pub mod tools_service_client {
#![allow(
unused_variables,
dead_code,
missing_docs,
clippy::wildcard_imports,
clippy::let_unit_value,
)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ToolsServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl ToolsServiceClient<tonic::transport::Channel> {
pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
where
D: TryInto<tonic::transport::Endpoint>,
D::Error: Into<StdError>,
{
let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
Ok(Self::new(conn))
}
}
impl<T> ToolsServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::Body>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ToolsServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::Body>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::Body>,
>>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
{
ToolsServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
#[must_use]
pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_decoding_message_size(limit);
self
}
#[must_use]
pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_encoding_message_size(limit);
self
}
pub async fn list_tools(
&mut self,
request: impl tonic::IntoRequest<super::ListToolsRequest>,
) -> std::result::Result<
tonic::Response<super::ListToolsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.ToolsService/ListTools",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("cortexdb.v1.ToolsService", "ListTools"));
self.inner.unary(req, path, codec).await
}
pub async fn call_tool(
&mut self,
request: impl tonic::IntoRequest<super::CallToolRequest>,
) -> std::result::Result<
tonic::Response<super::CallToolResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.ToolsService/CallTool",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("cortexdb.v1.ToolsService", "CallTool"));
self.inner.unary(req, path, codec).await
}
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HealthRequest {}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HealthResponse {
#[prost(bool, tag = "1")]
pub ok: bool,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InfoRequest {}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InfoResponse {
#[prost(string, tag = "1")]
pub version: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub db_path: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub has_embedder: bool,
}
pub mod admin_service_client {
#![allow(
unused_variables,
dead_code,
missing_docs,
clippy::wildcard_imports,
clippy::let_unit_value,
)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdminServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl AdminServiceClient<tonic::transport::Channel> {
pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
where
D: TryInto<tonic::transport::Endpoint>,
D::Error: Into<StdError>,
{
let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
Ok(Self::new(conn))
}
}
impl<T> AdminServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::Body>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdminServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::Body>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::Body>,
>>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
{
AdminServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
#[must_use]
pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_decoding_message_size(limit);
self
}
#[must_use]
pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_encoding_message_size(limit);
self
}
pub async fn health(
&mut self,
request: impl tonic::IntoRequest<super::HealthRequest>,
) -> std::result::Result<tonic::Response<super::HealthResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.AdminService/Health",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("cortexdb.v1.AdminService", "Health"));
self.inner.unary(req, path, codec).await
}
pub async fn info(
&mut self,
request: impl tonic::IntoRequest<super::InfoRequest>,
) -> std::result::Result<tonic::Response<super::InfoResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic_prost::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/cortexdb.v1.AdminService/Info",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("cortexdb.v1.AdminService", "Info"));
self.inner.unary(req, path, codec).await
}
}
}