Skip to main content

Crate arvo_api

Crate arvo_api 

Source
Expand description

The types of Arvo’s engine API, generated from its protobuf contract.

Every message in the contract is here, one module per proto package and every shape at the root as well. Each carries the comment written on it in the proto: that is the single source of what a field means, and nothing is documented here that is not documented there.

§Messages only

There is no transport in this crate, which is what lets it build for WebAssembly. A browser-side front end links this; the gRPC stubs live in arvo-client, which depends on this and re-exports it.

§What is not generated

proto3 makes every nested message optional and spells a Rust enum with data as a oneof. The ergonomics at the bottom of this crate are the small amount of hand-written Rust that says what the generated shapes cannot: which nested fields the engine always sends, and how to build or match a oneof without naming its Of.

§Accessors and constructors

  • A field the engine always fills has an accessor of the same name that returns it by reference: study.strategy() rather than study.strategy.as_ref().unwrap(). It panics only if the sender left the field out, which would mean the two sides disagree about the contract, and an empty panel would hide that.
  • A oneof has constructors (RecordView::study(view), EventKindView::plugin(id, reachable)) and, where a reader wants one question answered, an accessor (plugin.reachable(), event.of()).
  • count and size convert a count between usize and the u32 it is on the wire, saturating rather than panicking.

§Serde

Every shape derives Serialize and Deserialize with serde’s defaults, because the same shapes cross JSON bridges as well as gRPC.

Modules§

common
One module per domain, for code that wants to say which it means.
event_kind_view
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Nested message and enum types in EventKindView.
market
One module per domain, for code that wants to say which it means.
platform
One module per domain, for code that wants to say which it means.
plugin_status_view
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Nested message and enum types in PluginStatusView.
portfolio
One module per domain, for code that wants to say which it means.
record_view
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Nested message and enum types in RecordView.
research
One module per domain, for code that wants to say which it means.
session
One module per domain, for code that wants to say which it means.

Structs§

AccountKeys
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
AccountView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One vendor as the Accounts view shows it: what it needs from the person, whether it has it, and what it gives back.
AccountsView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A person’s vendors. A list, as a message; see JobsView.
Advice
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
AfterTaxView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The dividend bias, measured.
AttachRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A file to keep with a finding the caller already recorded or ran.
Attachment
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One file kept with a finding: bytes stored once by content hash, listed on the record.
AttachmentRef
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
Attachments
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
BarView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One bar of the library, as the research tier reads it (#195).
BarsRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Bars, or the regimes read off them, over a window of the library (#195).
BarsView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
BookRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
BookView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. What one account holding every member of a panel would have done.
BreadthView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. How much of a panel’s apparent breadth is real.
CandlePoint
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
ChangeView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The move between the two most recent valuations.
CompareRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
ComparisonRowView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One finding in a side-by-side comparison.
ComparisonView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Several findings, read against each other.
CorrelationRow
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One row of a correlation matrix. A cell with no value is a pair with too little overlap to say anything about, which is not the same as zero.
CurvePoint
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One point on a curve, in the shape a chart library wants: an ISO date and a value.
DataFindingView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A stored finding, summarised for the history list. Something wrong with the price series a result was produced from.
DataLibraryView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
Divergence
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Measured against assumed, over a session’s fills so far (#18).
DivergenceView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Where a replay first stopped matching the record.
DividendGapView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
Empty
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
EventKindView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. What happened, structurally.
EventView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Something that happened while nobody was looking: a plugin dropped, a broker session ended (#150).
ExportedPath
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A file the engine wrote, for a front end to reveal or open. A path rather than bytes: the engine is one process per user on this machine (ADR-0018), so a path means the same thing on both sides, and an export exists on disk precisely so a person can find it twice.
ExtensionStrategiesView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Every extension’s contributions, by extension name.
FeedEvent
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A broker connection came up or went away. connected: false covers both signing out and a session that expired underneath you — which of the two it was is in the detail, because the difference matters to a person reading it and not at all to the status bar.
FetchRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
FetchView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. What a fetch pulled in.
Finding
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One finding: the verdict and how far it may be read, before any number.
FindingId
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
FindingIds
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
FindingSummary
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
Findings
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
FindingsEvent
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Stored findings went stale since they were last checked — their data changed or disappeared. The count is how many were newly so.
Fixed
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
FoldView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One fold of a walk-forward, flattened for display.
HaltRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. 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.
HistoryEntryView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
HistoryView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. What the workbench shows before anything has been run. Everything in research memory, and what could not be read of it.
HoldingView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
ImportView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
Instrument
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
InstrumentChartView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One instrument’s bars with its own trades marked on them.
InstrumentSearch
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The control tier (ADR-0018 point 4). Behind the control token, never the research one: a script or an agent holding engine.json cannot reach it.
InstrumentView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
Instruments
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
JobId
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
JobView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
JobsView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A list, as a message.
LedgerTrade
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One trade in a ledger: a round trip, or a position still open at the end (empty closed, no exit).
MatchView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One instrument the broker knows about.
MatchesView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. What a search matched. A list, as a message; see SourcesView.
MemberView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. What one member of a book actually contributed.
MetricsView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
MonthlyReturnView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One month of the strategy’s return, for the heatmap.
NamedCurveView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A named equity curve, for drawing several on one chart.
NamedNumber
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. What a front end renders.
NamedText
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A column and what it was read as.
OptionalDouble
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
OutcomeView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One instrument’s out-of-sample outcome under the panel’s configuration.
PanelRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A panel over a universe (#227): a file under the project’s universes/.
PanelView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A panel study, flattened for display.
Param
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A ruleset parameter: one value fixes it, several search it.
PluginEvent
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
PluginStatusView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
PluginStatusViewReachable
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
PluginStatusViewUnreachable
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
PluginView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
PluginsView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The plugins this engine hosts. A list, as a message; see JobsView.
Point
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One point of an equity curve. at is YYYY-MM-DDTHH:MM:SS or a date.
PortfolioLibraryView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
PortfolioName
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
PortfolioView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
ProblemsView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The Problems panel’s rows.
PromotionView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The promotion gate’s answer for one finding and one executor (#194).
QuoteTick
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One trade off the live price stream.
QuoteView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One row of the watchlist: an instrument, priced now.
RankRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The leaderboard’s filter (#226). Empty is every finding.
Ranking
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The leaderboard (#226): findings in one order and only one. Supported under the conservative tier first, by that expectancy; then Supported under the stated costs where the conservative tier was never measured; then everything else, whatever its number. Ties by drawdown, then trades.
RankingRowView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One finding on the leaderboard (#226).
RecommendationView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One thing to do about a finding, flattened for display.
RecordView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A stored finding, reopened.
RegimePointView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The regime each bar closed in: “trending up”, “trending down” or “ranging”, absent until the lookback has filled. Labelled after the fact over the closes, so it says what the market was doing and not what a rule could have known at the time.
RegimeView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
ReplayView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. What came back from re-running a stored finding.
ReportFigure
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
ReportRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Evidence an engine Arvo did not run computed (ADR-0026). What a run produces, before anyone concludes anything from it; Arvo computes the verdict. There is no field for a verdict, a metric or a p-value.
ReportedView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A finding an engine Arvo did not run computed, judged by Arvo (ADR-0026). Shown as what it is: the numbers and the verdict, and where the data lives.
ResearchProblemView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A finding’s caveat, against the script line that produced the finding: what the Problems panel lists with source “Arvo” (ADR-0021).
ReviewRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The review after the close (#217), by day.
ReviewView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One bar, as the chart wants it. The review after the close (#217): what the day’s sessions did, read back off their records, as a person reads it.
RiskModel
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The project’s risk file (.arvo/risk.json), as read for the next study.
Rule
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A rule this build implements, with the search it ships.
Rules
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
Ruleset
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One file under <project>/rulesets/, as the picker sees it.
RulesetForm
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A grid ruleset’s parts, for a form.
RulesetPath
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
Rulesets
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
RunId
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A run in progress, as RunScript numbered it.
RunRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
ScriptJobView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One scheduled script: a project file the engine runs on a timer.
ScriptJobsView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Every saved schedule. A list, as a message; see JobsView.
ScriptOutputView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One line from a running script, or the fact that it ended.
ScriptPath
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A script’s path, relative to the project folder. What identifies a schedule: one schedule per script.
ScriptSchedule
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A cadence a person set for one of their scripts.
SessionEvent
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A trading session changed state: starting, running, stopped, halted or failed.
SessionId
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
SessionList
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
SessionStatus
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
SharedExperiment
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
SignIn
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
SignalView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One signal a plugin publishes, as it stands right now (#163).
SignalsView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. What the plugins publish. A list, as a message; see JobsView.
SourceComparisonView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. What two sources say about the same instrument over the same window.
SourceView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One source the app can fetch from.
SourcesView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A list, as a message.
StabilityView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. How much one parameter moved across the folds.
StartRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
Strategies
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
Strategy
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
StrategyContributionView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One strategy an extension contributes as a document (#162).
StrategyContributionsView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. What one extension contributes to the strategy picker.
StreamEvent
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The live price stream stopped or came back.
StudyRequest
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
StudyView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The full result of a study, flattened for display.
SubAccountView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One account under a vendor that has more than one: its own credential and its own state, sharing the vendor’s row.
SurfaceCell
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One configuration’s cell on the search surface.
SurfaceView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The in-sample score of every configuration the search tried.
TradeExport
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
TradeMarkerView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Where a trade happened, to be drawn on the price.
TradeRow
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One round trip, as a trades table shows it and a CSV export writes it.
TradeRowView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One round trip, as a table row.
TradesView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. What the round trips looked like, flattened for display.
UnreadableView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A finding that could not be read, and why.
ValuePoint
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. One day on the value line.
VendorId
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
VendorProfile
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this.
WalkForwardView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. A walk-forward run, flattened for display.
WatchlistView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. The watchlist, priced. A list, as a message; see SourcesView.

Enums§

SeverityView
Every shape at the root as well, because a window names a view on nearly every line and arvo_api::research::StudyView would be noise. The names do not collide: proto has no overloading and neither does this. Whether this is worth interrupting someone for.

Functions§

count
A count on the wire. Rust counts in usize; the contract is explicit about width, because a reader in another language has to be.
size
A count read back, for code that indexes with it.