// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AiQuery {
    #[prost(
        oneof = "ai_query::Query",
        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16"
    )]
    pub query: ::core::option::Option<ai_query::Query>,
}
/// Nested message and enum types in `AIQuery`.
pub mod ai_query {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Query {
        #[prost(message, tag = "1")]
        CreateStore(super::super::query::CreateStore),
        #[prost(message, tag = "2")]
        GetPred(super::super::query::GetPred),
        #[prost(message, tag = "3")]
        GetSimN(super::super::query::GetSimN),
        #[prost(message, tag = "4")]
        CreatePredIndex(super::super::query::CreatePredIndex),
        #[prost(message, tag = "5")]
        CreateNonLinearAlgorithmIndex(super::super::query::CreateNonLinearAlgorithmIndex),
        #[prost(message, tag = "6")]
        DropPredIndex(super::super::query::DropPredIndex),
        #[prost(message, tag = "7")]
        DropNonLinearAlgorithmIndex(super::super::query::DropNonLinearAlgorithmIndex),
        #[prost(message, tag = "8")]
        Set(super::super::query::Set),
        #[prost(message, tag = "9")]
        DelKey(super::super::query::DelKey),
        #[prost(message, tag = "10")]
        DropStore(super::super::query::DropStore),
        #[prost(message, tag = "11")]
        GetKey(super::super::query::GetKey),
        #[prost(message, tag = "12")]
        InfoServer(super::super::query::InfoServer),
        #[prost(message, tag = "13")]
        ListClients(super::super::query::ListClients),
        #[prost(message, tag = "14")]
        ListStores(super::super::query::ListStores),
        #[prost(message, tag = "15")]
        PurgeStores(super::super::query::PurgeStores),
        #[prost(message, tag = "16")]
        Ping(super::super::query::Ping),
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AiRequestPipeline {
    #[prost(message, repeated, tag = "1")]
    pub queries: ::prost::alloc::vec::Vec<AiQuery>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AiServerResponse {
    #[prost(
        oneof = "ai_server_response::Response",
        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11"
    )]
    pub response: ::core::option::Option<ai_server_response::Response>,
}
/// Nested message and enum types in `AIServerResponse`.
pub mod ai_server_response {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Response {
        #[prost(message, tag = "1")]
        Unit(super::super::server::Unit),
        #[prost(message, tag = "2")]
        Pong(super::super::server::Pong),
        #[prost(message, tag = "3")]
        ClientList(super::super::server::ClientList),
        #[prost(message, tag = "4")]
        StoreList(super::super::server::StoreList),
        #[prost(message, tag = "5")]
        InfoServer(super::super::server::InfoServer),
        #[prost(message, tag = "6")]
        Set(super::super::server::Set),
        #[prost(message, tag = "7")]
        Get(super::super::server::Get),
        #[prost(message, tag = "8")]
        GetSimN(super::super::server::GetSimN),
        #[prost(message, tag = "9")]
        Del(super::super::server::Del),
        #[prost(message, tag = "10")]
        CreateIndex(super::super::server::CreateIndex),
        #[prost(message, tag = "11")]
        Error(super::super::super::shared::info::ErrorResponse),
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AiResponsePipeline {
    #[prost(message, repeated, tag = "1")]
    pub responses: ::prost::alloc::vec::Vec<AiServerResponse>,
}
