arvo-api 0.1.0

The types of Arvo's engine API, generated from its protobuf contract. Messages only, no transport, so it builds for WebAssembly.
Documentation
// This file is @generated by prost-build.
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartRequest {
    /// The finding whose rule runs: its selected experiment, warmed on the
    /// library from the finding's own start to today.
    #[prost(string, tag = "1")]
    pub finding: ::prost::alloc::string::String,
    /// `alpaca-paper`, `alpaca-live`, or `robinhood-<last four>`.
    #[prost(string, tag = "2")]
    pub executor: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SessionId {
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
}
/// The kill switch (#127): arm the gate, then flatten everything the session
/// holds. The halt is in force either way; what the venue would not exit is
/// named in the session record.
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HaltRequest {
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    /// Why, for the record. Empty means "a person pressed it".
    #[prost(string, tag = "2")]
    pub reason: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SessionStatus {
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub finding: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub executor: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub instrument: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub strategy: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub started_at: ::prost::alloc::string::String,
    /// starting, running, frozen, halted, stopped or failed.
    #[prost(string, tag = "7")]
    pub state: ::prost::alloc::string::String,
    #[prost(uint32, tag = "8")]
    pub signals: u32,
    #[prost(uint32, tag = "9")]
    pub submitted: u32,
    #[prost(uint32, tag = "10")]
    pub refused: u32,
    #[prost(uint32, tag = "11")]
    pub fills: u32,
    /// Why the gate halted, when it did.
    #[prost(string, optional, tag = "12")]
    pub halted: ::core::option::Option<::prost::alloc::string::String>,
    #[prost(string, optional, tag = "13")]
    pub last_error: ::core::option::Option<::prost::alloc::string::String>,
    #[prost(string, optional, tag = "14")]
    pub last_bar: ::core::option::Option<::prost::alloc::string::String>,
    /// What the gate and the venue disagreed about, while frozen (#187).
    #[prost(string, optional, tag = "15")]
    pub frozen: ::core::option::Option<::prost::alloc::string::String>,
    /// Whether a frozen session has been reconciled, so ResumeSession is allowed.
    #[prost(bool, tag = "16")]
    pub reconciled: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SessionList {
    #[prost(message, repeated, tag = "1")]
    pub sessions: ::prost::alloc::vec::Vec<SessionStatus>,
}