#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChalkException {
#[prost(string, tag = "1")]
pub kind: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub stacktrace: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub internal_stacktrace: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChalkError {
#[prost(enumeration = "ErrorCode", tag = "1")]
pub code: i32,
#[prost(enumeration = "ErrorCodeCategory", tag = "2")]
pub category: i32,
#[prost(string, tag = "3")]
pub message: ::prost::alloc::string::String,
#[prost(string, optional, tag = "101")]
pub display_primary_key: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "102")]
pub display_primary_key_fqn: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "103")]
pub exception: ::core::option::Option<ChalkException>,
#[prost(string, optional, tag = "104")]
pub feature: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "105")]
pub resolver: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ErrorCode {
InternalServerErrorUnspecified = 0,
ParseFailed = 1,
ResolverNotFound = 2,
InvalidQuery = 3,
ValidationFailed = 4,
ResolverFailed = 5,
ResolverTimedOut = 6,
UpstreamFailed = 7,
Unauthenticated = 8,
Unauthorized = 9,
Cancelled = 10,
DeadlineExceeded = 11,
}
impl ErrorCode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::InternalServerErrorUnspecified => {
"ERROR_CODE_INTERNAL_SERVER_ERROR_UNSPECIFIED"
}
Self::ParseFailed => "ERROR_CODE_PARSE_FAILED",
Self::ResolverNotFound => "ERROR_CODE_RESOLVER_NOT_FOUND",
Self::InvalidQuery => "ERROR_CODE_INVALID_QUERY",
Self::ValidationFailed => "ERROR_CODE_VALIDATION_FAILED",
Self::ResolverFailed => "ERROR_CODE_RESOLVER_FAILED",
Self::ResolverTimedOut => "ERROR_CODE_RESOLVER_TIMED_OUT",
Self::UpstreamFailed => "ERROR_CODE_UPSTREAM_FAILED",
Self::Unauthenticated => "ERROR_CODE_UNAUTHENTICATED",
Self::Unauthorized => "ERROR_CODE_UNAUTHORIZED",
Self::Cancelled => "ERROR_CODE_CANCELLED",
Self::DeadlineExceeded => "ERROR_CODE_DEADLINE_EXCEEDED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ERROR_CODE_INTERNAL_SERVER_ERROR_UNSPECIFIED" => {
Some(Self::InternalServerErrorUnspecified)
}
"ERROR_CODE_PARSE_FAILED" => Some(Self::ParseFailed),
"ERROR_CODE_RESOLVER_NOT_FOUND" => Some(Self::ResolverNotFound),
"ERROR_CODE_INVALID_QUERY" => Some(Self::InvalidQuery),
"ERROR_CODE_VALIDATION_FAILED" => Some(Self::ValidationFailed),
"ERROR_CODE_RESOLVER_FAILED" => Some(Self::ResolverFailed),
"ERROR_CODE_RESOLVER_TIMED_OUT" => Some(Self::ResolverTimedOut),
"ERROR_CODE_UPSTREAM_FAILED" => Some(Self::UpstreamFailed),
"ERROR_CODE_UNAUTHENTICATED" => Some(Self::Unauthenticated),
"ERROR_CODE_UNAUTHORIZED" => Some(Self::Unauthorized),
"ERROR_CODE_CANCELLED" => Some(Self::Cancelled),
"ERROR_CODE_DEADLINE_EXCEEDED" => Some(Self::DeadlineExceeded),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ErrorCodeCategory {
NetworkUnspecified = 0,
Request = 1,
Field = 2,
}
impl ErrorCodeCategory {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::NetworkUnspecified => "ERROR_CODE_CATEGORY_NETWORK_UNSPECIFIED",
Self::Request => "ERROR_CODE_CATEGORY_REQUEST",
Self::Field => "ERROR_CODE_CATEGORY_FIELD",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ERROR_CODE_CATEGORY_NETWORK_UNSPECIFIED" => Some(Self::NetworkUnspecified),
"ERROR_CODE_CATEGORY_REQUEST" => Some(Self::Request),
"ERROR_CODE_CATEGORY_FIELD" => Some(Self::Field),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnlineQueryRequest {
#[prost(map = "string, message", tag = "1")]
pub inputs: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost_types::Value,
>,
#[prost(message, repeated, tag = "2")]
pub outputs: ::prost::alloc::vec::Vec<OutputExpr>,
#[prost(message, optional, tag = "3")]
pub now: ::core::option::Option<::prost_types::Timestamp>,
#[prost(map = "string, string", tag = "4")]
pub staleness: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, optional, tag = "5")]
pub context: ::core::option::Option<OnlineQueryContext>,
#[prost(message, optional, tag = "6")]
pub response_options: ::core::option::Option<OnlineQueryResponseOptions>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnlineQueryBulkRequest {
#[prost(message, repeated, tag = "2")]
pub outputs: ::prost::alloc::vec::Vec<OutputExpr>,
#[prost(message, repeated, tag = "3")]
pub now: ::prost::alloc::vec::Vec<::prost_types::Timestamp>,
#[prost(map = "string, string", tag = "4")]
pub staleness: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, optional, tag = "5")]
pub context: ::core::option::Option<OnlineQueryContext>,
#[prost(message, optional, tag = "6")]
pub response_options: ::core::option::Option<OnlineQueryResponseOptions>,
#[prost(enumeration = "FeatherBodyType", tag = "7")]
pub body_type: i32,
#[prost(oneof = "online_query_bulk_request::Inputs", tags = "1, 8")]
pub inputs: ::core::option::Option<online_query_bulk_request::Inputs>,
}
pub mod online_query_bulk_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Inputs {
#[prost(bytes, tag = "1")]
InputsFeather(::prost::alloc::vec::Vec<u8>),
#[prost(string, tag = "8")]
InputsSql(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenericSingleQuery {
#[prost(oneof = "generic_single_query::Query", tags = "1, 2")]
pub query: ::core::option::Option<generic_single_query::Query>,
}
pub mod generic_single_query {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Query {
#[prost(message, tag = "1")]
SingleRequest(super::OnlineQueryRequest),
#[prost(message, tag = "2")]
BulkRequest(super::OnlineQueryBulkRequest),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnlineQueryMultiRequest {
#[prost(message, repeated, tag = "1")]
pub queries: ::prost::alloc::vec::Vec<GenericSingleQuery>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureExpression {
#[prost(string, tag = "1")]
pub output_column_name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub namespace: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub expr: ::core::option::Option<super::super::expression::v1::LogicalExprNode>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OutputExpr {
#[prost(oneof = "output_expr::Expr", tags = "1, 2")]
pub expr: ::core::option::Option<output_expr::Expr>,
}
pub mod output_expr {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Expr {
#[prost(string, tag = "1")]
FeatureFqn(::prost::alloc::string::String),
#[prost(message, tag = "2")]
FeatureExpression(super::FeatureExpression),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnlineQueryContext {
#[deprecated]
#[prost(string, tag = "1")]
pub environment: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "3")]
pub required_resolver_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[deprecated]
#[prost(string, optional, tag = "4")]
pub deployment_id: ::core::option::Option<::prost::alloc::string::String>,
#[deprecated]
#[prost(string, optional, tag = "5")]
pub branch_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub correlation_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub query_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "8")]
pub query_name_version: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, message", tag = "9")]
pub options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost_types::Value,
>,
#[prost(message, repeated, tag = "10")]
pub value_metrics_tag_by_features: ::prost::alloc::vec::Vec<OutputExpr>,
#[prost(map = "string, message", tag = "11")]
pub query_context: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost_types::Value,
>,
#[prost(message, optional, tag = "12")]
pub overlay_graph: ::core::option::Option<super::super::graph::v1::OverlayGraph>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnlineQueryResponseOptions {
#[prost(bool, tag = "1")]
pub include_meta: bool,
#[prost(message, optional, tag = "2")]
pub explain: ::core::option::Option<ExplainOptions>,
#[prost(message, optional, tag = "3")]
pub encoding_options: ::core::option::Option<FeatureEncodingOptions>,
#[prost(map = "string, string", tag = "4")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExplainOptions {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FeatureEncodingOptions {
#[prost(bool, tag = "1")]
pub encode_structs_as_objects: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnlineQueryResponse {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<OnlineQueryResult>,
#[prost(message, repeated, tag = "2")]
pub errors: ::prost::alloc::vec::Vec<ChalkError>,
#[prost(message, optional, tag = "3")]
pub response_meta: ::core::option::Option<OnlineQueryMetadata>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnlineQueryBulkResponse {
#[prost(bytes = "vec", tag = "1")]
pub scalars_data: ::prost::alloc::vec::Vec<u8>,
#[prost(map = "string, bytes", tag = "2")]
pub groups_data: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::vec::Vec<u8>,
>,
#[prost(message, repeated, tag = "3")]
pub errors: ::prost::alloc::vec::Vec<ChalkError>,
#[prost(message, optional, tag = "4")]
pub response_meta: ::core::option::Option<OnlineQueryMetadata>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenericSingleResponse {
#[prost(oneof = "generic_single_response::Query", tags = "1, 2")]
pub query: ::core::option::Option<generic_single_response::Query>,
}
pub mod generic_single_response {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Query {
#[prost(message, tag = "1")]
SingleResponse(super::OnlineQueryResponse),
#[prost(message, tag = "2")]
BulkResponse(super::OnlineQueryBulkResponse),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnlineQueryMultiResponse {
#[prost(message, repeated, tag = "1")]
pub responses: ::prost::alloc::vec::Vec<GenericSingleResponse>,
#[prost(message, repeated, tag = "2")]
pub errors: ::prost::alloc::vec::Vec<ChalkError>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnlineQueryResult {
#[prost(message, repeated, tag = "1")]
pub results: ::prost::alloc::vec::Vec<FeatureResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureResult {
#[prost(string, tag = "1")]
pub field: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub pkey: ::core::option::Option<::prost_types::Value>,
#[prost(message, optional, tag = "2")]
pub value: ::core::option::Option<::prost_types::Value>,
#[prost(message, optional, tag = "3")]
pub error: ::core::option::Option<ChalkError>,
#[prost(message, optional, tag = "4")]
pub ts: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "5")]
pub meta: ::core::option::Option<FeatureMeta>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureMeta {
#[prost(string, tag = "1")]
pub chosen_resolver_fqn: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub cache_hit: bool,
#[prost(string, tag = "3")]
pub primitive_type: ::prost::alloc::string::String,
#[prost(int64, tag = "4")]
pub version: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnlineQueryMetadata {
#[prost(message, optional, tag = "1")]
pub execution_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(string, tag = "2")]
pub deployment_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub environment_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub environment_name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub query_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub query_timestamp: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "7")]
pub query_hash: ::prost::alloc::string::String,
#[prost(message, optional, tag = "8")]
pub explain_output: ::core::option::Option<QueryExplainInfo>,
#[prost(map = "string, string", tag = "9")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, message", tag = "10")]
pub additional_metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost_types::Value,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryExplainInfo {
#[prost(string, optional, tag = "1")]
pub plan_string: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UploadFeaturesBulkRequest {
#[prost(bytes = "vec", tag = "1")]
pub inputs_feather: ::prost::alloc::vec::Vec<u8>,
#[prost(enumeration = "FeatherBodyType", tag = "7")]
pub body_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UploadFeaturesBulkResponse {
#[prost(message, repeated, tag = "1")]
pub errors: ::prost::alloc::vec::Vec<ChalkError>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FeatherBodyType {
Unspecified = 0,
Table = 1,
RecordBatches = 2,
}
impl FeatherBodyType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "FEATHER_BODY_TYPE_UNSPECIFIED",
Self::Table => "FEATHER_BODY_TYPE_TABLE",
Self::RecordBatches => "FEATHER_BODY_TYPE_RECORD_BATCHES",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FEATHER_BODY_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"FEATHER_BODY_TYPE_TABLE" => Some(Self::Table),
"FEATHER_BODY_TYPE_RECORD_BATCHES" => Some(Self::RecordBatches),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UploadFeaturesRequest {
#[prost(bytes = "vec", tag = "1")]
pub inputs_table: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UploadFeaturesResponse {
#[prost(message, repeated, tag = "1")]
pub errors: ::prost::alloc::vec::Vec<ChalkError>,
#[prost(string, tag = "2")]
pub operation_id: ::prost::alloc::string::String,
}