Live interval bars: WS LTP -> CandleBuilder -> onBar (mutated/append bar).
Pass opts.seedFrom (the last history bar) to continue that bar's bucket
seamlessly instead of starting a fresh one, and opts.cumDayVolumeSoFar
so a day-delta builder diffs against the right baseline.
Optionalopts: { cumDayVolumeSoFar?: number; seedFrom?: Bar }
Broker-agnostic market-data source. The chart depends only on this.
subscribeBarsis optional: a history-only feed (e.g.OpenAlgoDataFeed) omits it, while a live feed (OpenAlgoLiveDataFeed, or your own) implements it.