Module Engine.Interactive

type t
type progress
val create : run_id:Id.Run.t -> scenario_sha256:string -> config:config -> initial_cash:(string * Scalar.Money.t) list -> (t, string) Stdlib.result
val create_with_portfolio : run_id:Id.Run.t -> scenario_sha256:string -> config:config -> initial_portfolio:Initial_portfolio.t -> (t, string) Stdlib.result
val account : t -> Account.t
val oms : t -> Oms.t
val latest_bar : t -> Id.Instrument.t -> Bar.t option
val process_slice : t -> Market_slice.t -> (progress, string) Stdlib.result
val strategy_request : progress -> (Strategy.context * Strategy.event) option
val resume : progress -> Strategy.intent list -> (progress, string) Stdlib.result
val slice_result : progress -> (t * Audit.t list) option
val complete : t -> (t * Account.valuation * Audit.t list, string) Stdlib.result