openalgo-charts 1.8.6 → 1.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,8 +8,8 @@ Professional interactive charts, 102 built-in indicators plus your own custom on
8
8
 
9
9
  [![npm version](https://img.shields.io/npm/v/openalgo-charts.svg?color=cb3837&label=npm)](https://www.npmjs.com/package/openalgo-charts)
10
10
  [![license](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](./LICENSE)
11
- [![bundle](https://img.shields.io/badge/brotli-60%20KB%20base%20%C2%B7%20121%20KB%20all%20tiers-brightgreen.svg)](#size-budget)
12
- [![tests](https://img.shields.io/badge/tests-2436%20passing-brightgreen.svg)](#develop)
11
+ [![bundle](https://img.shields.io/badge/brotli-61%20KB%20base%20%C2%B7%20122%20KB%20all%20tiers-brightgreen.svg)](#size-budget)
12
+ [![tests](https://img.shields.io/badge/tests-2466%20passing-brightgreen.svg)](#develop)
13
13
  [![dependencies](https://img.shields.io/badge/runtime%20deps-0-brightgreen.svg)](#principles)
14
14
 
15
15
  [**Documentation**](https://marketcalls.github.io/openalgo-charts/)  ·  [**Live examples**](https://marketcalls.github.io/openalgo-charts/examples)  ·  [**Getting started**](./docs/getting-started.md)  ·  [**Architecture**](./ARCHITECTURE.md)
@@ -60,14 +60,14 @@ Import only what you use. Each tier is a separate bundle that registers into the
60
60
 
61
61
  | Import | Contents | Brotli |
62
62
  |---|---|---|
63
- | `openalgo-charts` | Engine, 13 chart types, panes & scales, primitives, registries, chart state, chart linking, bar cache, interval registry, trading overlay, OpenAlgo feeds | 59.7 KB |
63
+ | `openalgo-charts` | Engine, 13 chart types, panes & scales, primitives, registries, chart state, chart linking, bar cache, interval registry, trading overlay, OpenAlgo feeds | 60.5 KB |
64
64
  | `openalgo-charts/indicators` | 102 built-in indicators, the `registerIndicator` contract for your own, and the Tier-2 (external-data) contract | 27.3 KB |
65
65
  | `openalgo-charts/draw` | 43 drawing tools + a headless drawing controller and clipboard | 13.1 KB |
66
66
  | `openalgo-charts/transform` | Heikin Ashi, Renko, Range bars, Line Break, Point & Figure, Kagi | 2.7 KB |
67
67
  | `openalgo-charts/profile` | Volume Profile, Market Profile (TPO), Footprint, order flow | 10.7 KB |
68
68
  | `openalgo-charts/trade` | Order / position / bracket tools + DOM ladder | 7.6 KB |
69
69
 
70
- Everything together is **121 KB Brotli**. Figures are the measured `size-limit` output. The trade tier is listed as its delta over the base, so loading base + trade costs 67.29 KB.
70
+ Everything together is **121.86 KB Brotli**. Figures are the measured `size-limit` output. The trade tier is listed as its delta over the base, so loading base + trade costs 68.14 KB.
71
71
 
72
72
  ## What's built
73
73
 
@@ -208,13 +208,13 @@ Enforced in CI by [`size-limit`](./.size-limit.json). Nothing is excluded, becau
208
208
 
209
209
  | Bundle | Limit | Actual |
210
210
  |---|---|---|
211
- | Base engine | 60 KB | 59.68 KB |
212
- | Base + trade | 68 KB | 67.29 KB |
211
+ | Base engine | 62 KB | 60.53 KB |
212
+ | Base + trade | 70 KB | 68.14 KB |
213
213
  | Indicators tier | 30 KB | 27.27 KB |
214
214
  | Draw tier | 14 KB | 13.13 KB |
215
215
  | Transform tier | 5 KB | 2.66 KB |
216
216
  | Profile tier | 11 KB | 10.66 KB |
217
- | **Everything** | **124 KB** | **121 KB** |
217
+ | **Everything** | **124 KB** | **121.86 KB** |
218
218
 
219
219
  ## Documentation
220
220
 
@@ -254,7 +254,7 @@ cd examples/yfinance && pip install -r requirements.txt && python server.py
254
254
  ```bash
255
255
  npm install # install dev toolchain
256
256
  npm run typecheck # strict TypeScript check
257
- npm test # unit tests (vitest) - 2436 across 133 files
257
+ npm test # unit tests (vitest) - 2466 across 137 files
258
258
  npm run build # Rollup -> dist/ (minified ESM per tier + types)
259
259
  npm run size # size-limit (Brotli) against the budget
260
260
  npm run e2e # Playwright Chromium smoke tests
@@ -271,7 +271,7 @@ npm run verify # typecheck + test + build + size
271
271
 
272
272
  ## Status & limitations
273
273
 
274
- Version **1.8.6**. All engine build phases are implemented with 2436 unit tests across 133 files.
274
+ Version **1.8.7**. All engine build phases are implemented with 2466 unit tests across 137 files.
275
275
 
276
276
  Known gaps, stated plainly:
277
277
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Library version string. Matches package.json (published npm release). */
2
- declare const VERSION = "1.8.6";
2
+ declare const VERSION = "1.8.7";
3
3
  /** Returns the current library version. */
4
4
  declare function version(): string;
5
5
 
@@ -4280,8 +4280,21 @@ interface ReplayState {
4280
4280
  playing: boolean;
4281
4281
  /** Multiplier over `barMs`: 2 plays two bars per `barMs`. */
4282
4282
  speed: number;
4283
- /** The bar at `index`, the replay clock's "now". Null when there is no data. */
4283
+ /**
4284
+ * The bar at `index`, the replay clock's "now". Null when there is no data.
4285
+ *
4286
+ * Under intra-bar replay this is the **partial** bar as it stands this step,
4287
+ * not the completed one, which is what makes it the right thing to drive a
4288
+ * host's own forming volume bar or an OHLC readout from.
4289
+ */
4284
4290
  bar: Bar | null;
4291
+ /**
4292
+ * Which step of the forming bar this is, 0-based, and how many it takes. Both
4293
+ * are 0 and 1 without `subBars`, so a transport that shows them needs no
4294
+ * special case for the plain mode.
4295
+ */
4296
+ subIndex: number;
4297
+ subSteps: number;
4285
4298
  }
4286
4299
  interface ReplayOptions {
4287
4300
  /**
@@ -4298,6 +4311,26 @@ interface ReplayOptions {
4298
4311
  * mutated, and never handed to the chart as-is: each frame gets its own slice.
4299
4312
  */
4300
4313
  bars?: readonly Bar[];
4314
+ /**
4315
+ * Finer-grained bars the displayed ones are built from: the 1-minute session
4316
+ * under a 5-minute chart. Given these, the playhead advances a **sub-bar** at
4317
+ * a time and the newest bar forms in front of the user the way a live one
4318
+ * does, instead of appearing complete. A 5-minute bar over 1-minute data
4319
+ * takes five steps.
4320
+ *
4321
+ * They must cover the same session as `bars` and be sorted by time; sub-bars
4322
+ * outside any displayed bucket are ignored. The last step of a bucket emits
4323
+ * the displayed bar **verbatim** rather than the aggregate, so a bucket always
4324
+ * closes on exactly the number the chart would have shown without this option,
4325
+ * whatever the two feeds disagree about in between.
4326
+ *
4327
+ * Only the first driven series forms partially. Followers are cut to completed
4328
+ * buckets, because the controller cannot know how to half-aggregate an
4329
+ * arbitrary one: a volume histogram is summed, not OHLC-merged. The partial
4330
+ * bar reaches the host as `ReplayState.bar` on every frame, so a host that
4331
+ * wants a growing volume bar writes it from there.
4332
+ */
4333
+ subBars?: readonly Bar[];
4301
4334
  /** Bar to open at (0-based). Default 0. */
4302
4335
  startIndex?: number;
4303
4336
  /** Wall-clock milliseconds per bar at speed 1. Default 1000. */
@@ -4323,8 +4356,22 @@ declare class ReplayController {
4323
4356
  private readonly _schedule;
4324
4357
  private readonly _barMs;
4325
4358
  private readonly _startIndex;
4359
+ private readonly _subBars;
4360
+ /**
4361
+ * For each displayed bar, where its sub-bars start in `_subBars` and how many
4362
+ * there are. Built once: the alternative is a binary search per step, on a
4363
+ * path that runs on every played frame.
4364
+ *
4365
+ * A bucket with no sub-bars takes one step and shows the displayed bar, so a
4366
+ * gap in the finer feed costs that bar its formation, not its existence.
4367
+ */
4368
+ private readonly _subStart;
4369
+ private readonly _subCount;
4370
+ private readonly _intra;
4326
4371
  private _speed;
4327
4372
  private _index;
4373
+ /** Step within the forming bar, 0-based. Always 0 without `subBars`. */
4374
+ private _sub;
4328
4375
  private _playing;
4329
4376
  /** True once replay owns the chart's data; false before start and after stop. */
4330
4377
  private _active;
@@ -4339,12 +4386,43 @@ declare class ReplayController {
4339
4386
  * moved, so `stop()` can put the user back exactly where they were.
4340
4387
  */
4341
4388
  constructor(chart: ReplayChartHost, options?: ReplayOptions);
4342
- /** Jump the playhead to a bar. Out-of-range values clamp to the session. */
4389
+ /**
4390
+ * Map every sub-bar onto the displayed bar whose bucket it falls in.
4391
+ *
4392
+ * The displayed bars' own times are the bucket starts, so one forward pass
4393
+ * over both sorted arrays does it. A sub-bar before the first displayed bar
4394
+ * belongs to no bucket and is dropped rather than folded into bar 0, which
4395
+ * would open that bar at a price the chart never showed.
4396
+ */
4397
+ private _buildBuckets;
4398
+ /** How many steps the bar at `index` takes. At least one, always. */
4399
+ private _steps;
4400
+ /**
4401
+ * Jump the playhead to a bar. Out-of-range values clamp to the session.
4402
+ *
4403
+ * A seek lands on a **complete** bar even under intra-bar replay: scrubbing to
4404
+ * a half-formed candle is not a position anyone asks for, and it would make
4405
+ * the same slider position mean different things on the way past.
4406
+ */
4343
4407
  seek(index: number): void;
4344
- /** Move `n` bars forward. Stops dead at the last bar. */
4408
+ /**
4409
+ * Move `n` steps forward. Stops dead at the end of the session.
4410
+ *
4411
+ * A step is one displayed bar normally, and one sub-bar under intra-bar
4412
+ * replay, so the transport button means "advance the chart by the smallest
4413
+ * amount it can show" in both modes.
4414
+ */
4345
4415
  step(n?: number): void;
4346
- /** Move `n` bars back. Stops dead at the first bar. */
4416
+ /** Move `n` steps back. Stops dead at the first bar. */
4347
4417
  stepBack(n?: number): void;
4418
+ /**
4419
+ * Move the playhead `delta` steps, carrying across bar boundaries.
4420
+ *
4421
+ * Written as a walk rather than arithmetic on a flat step count because
4422
+ * buckets hold different numbers of sub-bars: a session with a gap, or a
4423
+ * partial first bucket, has no constant steps-per-bar to divide by.
4424
+ */
4425
+ private _advance;
4348
4426
  /**
4349
4427
  * Start (or re-speed) playback. Calling it on the last bar plays nothing and
4350
4428
  * reports `replay:end` instead of arming a timer that could never advance.
@@ -4374,6 +4452,8 @@ declare class ReplayController {
4374
4452
  * speed, and a host may drive this from rAF instead with no change here.
4375
4453
  */
4376
4454
  private readonly _tick;
4455
+ /** True on the last step of the last bar, which is where playback stops. */
4456
+ private _atEnd;
4377
4457
  /** The session is over: stop the timer and tell the host once. */
4378
4458
  private _end;
4379
4459
  private _stopTimer;
@@ -5358,6 +5438,96 @@ declare class LogoWatermark implements IPrimitive {
5358
5438
  private _tinted;
5359
5439
  }
5360
5440
 
5441
+ /**
5442
+ * A word stamped faintly across the plot, to say what mode the chart is in.
5443
+ *
5444
+ * The case it exists for is replay: a chart showing a past session looks exactly
5445
+ * like a chart showing the present one, and a trader who forgets which they are
5446
+ * looking at can read a live decision off history. The mark is large, centred
5447
+ * and static on purpose. It is not decoration and not a brand: it is the answer
5448
+ * to "am I looking at the market or a recording of it", and it has to be
5449
+ * readable without being looked for.
5450
+ *
5451
+ * Distinct from `LogoWatermark`, which is a small corner image with a hover
5452
+ * label. This one draws text, takes no interaction, and reports no hit, so it
5453
+ * never intercepts a click meant for the chart under it.
5454
+ */
5455
+
5456
+ interface TextWatermarkOptions {
5457
+ /** The word itself. Kept short: it is read at a glance, not studied. */
5458
+ text: string;
5459
+ /**
5460
+ * Cap height in px at the plot's natural size, scaled down on a narrow chart
5461
+ * so a long word never runs past the edges. Default 64.
5462
+ */
5463
+ fontSize?: number;
5464
+ /** 0..1. Default 0.08, which reads as present without competing with bars. */
5465
+ opacity?: number;
5466
+ /** Default a neutral grey that works on either theme. */
5467
+ color?: string;
5468
+ font?: string;
5469
+ /**
5470
+ * Below the series by default. A mode marker that covered the candles would
5471
+ * be worse than no marker, since the candles are what the mode is about.
5472
+ */
5473
+ zOrder?: ZOrder;
5474
+ id?: string;
5475
+ }
5476
+ declare class TextWatermark implements IPrimitive {
5477
+ private _opts;
5478
+ constructor(opts: TextWatermarkOptions);
5479
+ zOrder(): ZOrder;
5480
+ autoscaleInfo(): null;
5481
+ /** Never hit: the mark must not eat a click aimed at the chart beneath it. */
5482
+ hitTest(): null;
5483
+ setOptions(patch: Partial<TextWatermarkOptions>): void;
5484
+ draw(ctx: CanvasRenderingContext2D, rc: PrimitiveRenderContext): void;
5485
+ }
5486
+
5487
+ /**
5488
+ * Dims everything from a bar onward, and draws the line where the cut falls.
5489
+ *
5490
+ * Two jobs, one shape. Picking a replay start means answering "from here, what
5491
+ * happens next?", and the honest way to ask it is to hide the answer: the bars
5492
+ * to the right of the cursor are greyed while the user chooses, so a start bar
5493
+ * is picked on what was known at the time rather than on the shape of what
5494
+ * followed. Once replay is running the same veil marks the part of the session
5495
+ * that has not been reached yet.
5496
+ *
5497
+ * The shade is drawn over the series rather than under it, because covering the
5498
+ * future is the entire point: a translucent wash still shows the shape faintly,
5499
+ * which is what tells a user there is more session there to walk into.
5500
+ */
5501
+
5502
+ interface ReplayShadeOptions {
5503
+ /**
5504
+ * The last bar left uncovered. Everything after it is dimmed. Null draws
5505
+ * nothing at all, which is how a host keeps one instance around across
5506
+ * entering and leaving the mode.
5507
+ */
5508
+ index: number | null;
5509
+ /** Wash colour over the covered bars. Default a dark, low-alpha neutral. */
5510
+ color?: string;
5511
+ /** The rule at the cut. Default a muted blue, the colour of a chosen thing. */
5512
+ lineColor?: string;
5513
+ lineWidth?: number;
5514
+ /** Draw the divider. Default true. */
5515
+ lineVisible?: boolean;
5516
+ zOrder?: ZOrder;
5517
+ id?: string;
5518
+ }
5519
+ declare class ReplayShade implements IPrimitive {
5520
+ private _opts;
5521
+ constructor(opts: ReplayShadeOptions);
5522
+ zOrder(): ZOrder;
5523
+ /** Takes no part in autoscale: it covers bars, it is not one. */
5524
+ autoscaleInfo(): null;
5525
+ /** Never hit, so the click that picks a bar reaches the chart. */
5526
+ hitTest(): null;
5527
+ setOptions(patch: Partial<ReplayShadeOptions>): void;
5528
+ draw(ctx: CanvasRenderingContext2D, rc: PrimitiveRenderContext): void;
5529
+ }
5530
+
5361
5531
  /**
5362
5532
  * Inline Buy/Sell button panel (ARCHITECTURE.md §9). An on-chart trade
5363
5533
  * panel docked inside the plot: a SELL button (bid), a quantity chip, and a BUY
@@ -7111,4 +7281,4 @@ declare function lerp(a: number, b: number, t: number): number;
7111
7281
  */
7112
7282
  declare function roundToTick(value: number, step: number): number;
7113
7283
 
7114
- export { ALT_PRESET, type AddSeriesOptions, type AggTick, type AxisChromeOptions, type AxisStyle, BUILTIN_COMMANDS, type Bar, BarCache, type BarCacheOptions, type BarCacheStats, type BarCacheStore, type BarUpdate, type BarsRequest, type Bucketing, BuySellButtons, type BuySellButtonsOptions, CHART_STATE_VERSION, type CachedBars, type CachedBarsRequest, type CalendarBucketing, type CalendarUnit, CandleBuilder, type CandleBuilderOptions, type CandleStyle, type CandleUpdate, type CanvasLineStyle, type CanvasOptions, Chart, type ChartEvent, type ChartEventOptions, type ChartOptions, type ChartSettingsColorPairInput, type ChartSettingsInput, type ChartSettingsState, type ChartSettingsTab, type ChartSettingsTabId, type ChartSettingsValue, type ChartSettingsValues, type ChartState, ChartTable, type ChartTableOptions, type ChartTheme, type ComparisonAlignment, type ComparisonChartHost, ComparisonController, type ComparisonControllerOptions, type ComparisonHandle, type ComparisonMode, type ComparisonOptions, type ComparisonPane, type ContextMenuEvent, type ContextMenuTarget, type ContextMenuTargetKind, type CrosshairMoveEvent, type CrosshairOptions, type CrosshairStyle, type CustomShortcut, DEFAULT_CANDLE_BUILDER_OPTIONS, DEFAULT_CANDLE_STYLE, DEFAULT_CHART_TABLE_OPTIONS, DEFAULT_HISTOGRAM_STYLE, DEFAULT_KEYMAP, DEFAULT_PRICE_SCALE_OPTIONS, DEFAULT_THEME, DEFAULT_TIMEZONE, DEFAULT_TIME_NAVIGATOR_OPTIONS, DEFAULT_TIME_SCALE_OPTIONS, DEFAULT_TRADING_COLORS, type DataFeed, DataLayer, type DecodedOrder, type DepthLevel, type DrawAnchor, type DrawItem, EventMarkers, FakeDataFeed, type FeedScheduler, type FillGradient, type FillPoint, type GridAxisStyle, type GridOptions, type GridStyle, type HistogramStyle, INDICATOR_LINE_STYLES, INDICATOR_PLOT_STYLES, INDICATOR_SOURCES, type IPrimitive, IST_OFFSET_SECONDS, type IndexedBar, type IndicatorAlertContext, type IndicatorAlertPayload, type IndicatorAlertSpec, type IndicatorApi, type IndicatorAttachContext, IndicatorBackground, type IndicatorCalcContext, type IndicatorDescriptor, type IndicatorDrawing, IndicatorDrawings, IndicatorFill, type IndicatorFillOptions, type IndicatorFillSpec, type IndicatorHost, type IndicatorInput, type IndicatorLevel, type IndicatorLevelContext, type IndicatorLineStyle, type IndicatorPlot, type IndicatorSettings, type IndicatorSource, type IndicatorState, type IndicatorStore, type IndicatorValues, type IntervalBucketing, type IntervalDescriptor, type IntervalParts, InvalidationLevel, type IstParts, type KeymapEntry, LINK_CROSSHAIR_ALPHA, type LateTickPolicy, type LegendField, type LegendStatusData, type LegendStatusLineOptions, type LegendStatusSource, type LegendTitleMode, type LegendValue, type LinePoint, type LinkChart, LinkCrosshair, type LinkDataLayer, LinkGroup, type LinkMemberOptions, type LinkMissingPolicy, type LinkOptions, type LogicalRange, LogoWatermark, type LogoWatermarkOptions, type LtpEvent, type MarkerPosition, type MarkerShape, type MarkerSize, type MarketDepth, type MarketPhase, type MarketPhaseFn, type MaybePromise, type ModeCheck, type OpenAlgoConfig, OpenAlgoDataFeed, type OpenAlgoLiveConfig, OpenAlgoLiveDataFeed, type OpenAlgoTradeConfig, OpenAlgoTradeFeed, type OpenAlgoWsConfig, OpenAlgoWsFeed, type OrderBookSnapshot, type OrderDecodeCode, type OrderDecodeIssue, type OrderDecodeResult, type OrderSide$1 as OrderSide, type OrderType$1 as OrderType, type OrderUpdateEvent, type OriginalTime, PRICE_LEVEL_KINDS, PRICE_SCALE_MODES, Pane, type PaneInvalidation, PaneLegend, type PaneLegendAction, type PaneLegendOptions, type PaneState, type PickHost, type PickKind, type PlaceOrder, type PlotMarginOptions, type PositionSide, type PriceAxisState, type PriceLevelInput, type PriceLevelKind, type PriceLevelQuote, type PriceLevelStyle, type PriceLevelValues, PriceLevels, type PriceLevelsOptions, PriceLine, type PriceLineOptions, type PriceRange, PriceScale, type PriceScaleId, type PriceScaleMode, type PriceScaleOptions, type PriceScaleState, type PrimitiveAnchor, type PrimitiveHit, type PrimitiveHost, type PrimitivePlacement, type PrimitiveRenderContext, type QuarantinedRow, type RawOrder, type RendererEntry, type ReplayChartHost, ReplayController, type ReplayOptions, type ReplayScheduler, type ReplayState, type ReplayViewport, type ResolvedLinkOptions, type RestoreReport, SCALE_FONT_MAX, SCALE_FONT_MIN, type ScaleCanvasOptions, type SeriesApi, type SeriesDataItem, type SeriesId, type SeriesMarker, SeriesMarkers, type SeriesRenderContext, type SeriesState, type SeriesStyle, type SeriesType, type SessionSpec, type ShortcutListItem, ShortcutManager, type ShortcutManagerOptions, type ShortcutPreset, type ShortcutScope, type ShortcutTriggerEvent, type Size, type SocketFactory, type SocketLike, type SupertrendPoint, type TableCell, type TablePosition, type Tick, TickBarAggregator, type TickBarOptions, type TickCountBucketing, type TickMarkType, type TickTimeframe, TimeNavigator, type TimeNavigatorAction, type TimeNavigatorOptions, TimeScale, type TimeScaleOp, type TimeScaleOptions, type TradeFeed, type TradeMarkerVariant, TradeMarkersPrimitive, type TradingColors, TradingController, type TradingHost, type TradingLineStyle, type TradingLineVariant, type TradingOrder, type TradingOrderSide, type TradingOrderType, type TradingPosition, type TradingSettings, type TradingSyncPayload, type TradingTrade, type UTCSeconds, UnknownIntervalError, type UnsubscribeFn, VERSION, type VolumeBucketing, type VolumeMode, type WatermarkPosition, type Whitespace, type WsClientWarning, type WsControlMessage, type WsMode, type WsState, type ZOrder, type ZonedParts, type ZonedPeriod, addComparison, alignToPrimary, applyChartSettings, atr, autoscaleRange, backoffDelayMs, barCacheKey, barCloseSec, beginPick, bestHit, bitmapSize, bucketStartOf, calendarPeriodFlags, chartSettingsSchema, clamp, classifyAuthAck, compactVolume, comparisonController, computePriceLevels, conflateBars, conflateItems, conflationGroupSize, createChart, createLinkGroup, darkTheme, dashPattern, decodeOrder, drawLabel, drawShape, effectiveMarkerPx, ema, emaSeries, epochMsToUtcSeconds, eventToCombo, followerIndex, followerRange, formatCombo, formatIstCrosshairLabel, formatIstDate, formatIstTime, formatIstTimeSeconds, formatSubscribe, formatUnsubscribe, formatZonedCrosshairLabel, formatZonedDate, formatZonedTime, formatZonedTimeSeconds, fromGradient, generateBars, getChartType, getIndicator, hasIndicator, inSessionAt, indicatorDefaults, indicatorStyleInputs, intervalParts, intervalToSeconds, isDailyInterval, isIntradayInterval, isKnownInterval, isNewIstDay, isNewZonedDay, isNewZonedMonth, isNewZonedPeriod, isNewZonedQuarter, isNewZonedWeek, isNewZonedYear, isRebasing, isReservedCombo, isSecondsInterval, isTickInterval, isTimeBucketed, isValidCombo, isValidTimezone, isWhitespace, istStringToUtcSeconds, lastPriceLevelFromSeriesStyle, lerp, lightTheme, mapHistoryResponse, mapOrder, mapOrderStatus, mapPosition, markerSizePx, mergeBars, nextBucketStart, niceTicks, normalizeCombo, optimalBarWidth, parseCombo, parseMessage, parseSessionSpec, parseTopic, plotStyleKeys, precisionForStep, readChartSettings, readSequence, registerChartType, registerIndicator, registerInterval, registeredChartTypes, registeredIndicators, registeredIntervals, resolveCrosshairStyle, resolveGridStyle, resolveInterval, resolvePlotMargins, resolveScaleStyle, roundToTick, rowTimeToUtcSeconds, rsi, rsiSeries, seriesStyleForLastPriceLevel, sessionFlags, sessionStartFlags, sessionStartIndices, snapToDevicePixel, sourceValue, sourceValues, startOfZonedDay, startOfZonedMonth, startOfZonedWeek, supertrend, supertrendSeries, tableOrigin, toBar, trueRange, tryResolveInterval, unregisterInterval, utcSecondsToIstDateString, utcSecondsToIstParts, utcSecondsToZonedDateString, utcSecondsToZonedParts, version, verticalGradient, watermarkRect, withAlpha, withBarCache, zoneOffsetSeconds, zonedDayIndex, zonedStringToUtcSeconds, zonedWallClockToUtcSeconds, zonedWeekIndex };
7284
+ export { ALT_PRESET, type AddSeriesOptions, type AggTick, type AxisChromeOptions, type AxisStyle, BUILTIN_COMMANDS, type Bar, BarCache, type BarCacheOptions, type BarCacheStats, type BarCacheStore, type BarUpdate, type BarsRequest, type Bucketing, BuySellButtons, type BuySellButtonsOptions, CHART_STATE_VERSION, type CachedBars, type CachedBarsRequest, type CalendarBucketing, type CalendarUnit, CandleBuilder, type CandleBuilderOptions, type CandleStyle, type CandleUpdate, type CanvasLineStyle, type CanvasOptions, Chart, type ChartEvent, type ChartEventOptions, type ChartOptions, type ChartSettingsColorPairInput, type ChartSettingsInput, type ChartSettingsState, type ChartSettingsTab, type ChartSettingsTabId, type ChartSettingsValue, type ChartSettingsValues, type ChartState, ChartTable, type ChartTableOptions, type ChartTheme, type ComparisonAlignment, type ComparisonChartHost, ComparisonController, type ComparisonControllerOptions, type ComparisonHandle, type ComparisonMode, type ComparisonOptions, type ComparisonPane, type ContextMenuEvent, type ContextMenuTarget, type ContextMenuTargetKind, type CrosshairMoveEvent, type CrosshairOptions, type CrosshairStyle, type CustomShortcut, DEFAULT_CANDLE_BUILDER_OPTIONS, DEFAULT_CANDLE_STYLE, DEFAULT_CHART_TABLE_OPTIONS, DEFAULT_HISTOGRAM_STYLE, DEFAULT_KEYMAP, DEFAULT_PRICE_SCALE_OPTIONS, DEFAULT_THEME, DEFAULT_TIMEZONE, DEFAULT_TIME_NAVIGATOR_OPTIONS, DEFAULT_TIME_SCALE_OPTIONS, DEFAULT_TRADING_COLORS, type DataFeed, DataLayer, type DecodedOrder, type DepthLevel, type DrawAnchor, type DrawItem, EventMarkers, FakeDataFeed, type FeedScheduler, type FillGradient, type FillPoint, type GridAxisStyle, type GridOptions, type GridStyle, type HistogramStyle, INDICATOR_LINE_STYLES, INDICATOR_PLOT_STYLES, INDICATOR_SOURCES, type IPrimitive, IST_OFFSET_SECONDS, type IndexedBar, type IndicatorAlertContext, type IndicatorAlertPayload, type IndicatorAlertSpec, type IndicatorApi, type IndicatorAttachContext, IndicatorBackground, type IndicatorCalcContext, type IndicatorDescriptor, type IndicatorDrawing, IndicatorDrawings, IndicatorFill, type IndicatorFillOptions, type IndicatorFillSpec, type IndicatorHost, type IndicatorInput, type IndicatorLevel, type IndicatorLevelContext, type IndicatorLineStyle, type IndicatorPlot, type IndicatorSettings, type IndicatorSource, type IndicatorState, type IndicatorStore, type IndicatorValues, type IntervalBucketing, type IntervalDescriptor, type IntervalParts, InvalidationLevel, type IstParts, type KeymapEntry, LINK_CROSSHAIR_ALPHA, type LateTickPolicy, type LegendField, type LegendStatusData, type LegendStatusLineOptions, type LegendStatusSource, type LegendTitleMode, type LegendValue, type LinePoint, type LinkChart, LinkCrosshair, type LinkDataLayer, LinkGroup, type LinkMemberOptions, type LinkMissingPolicy, type LinkOptions, type LogicalRange, LogoWatermark, type LogoWatermarkOptions, type LtpEvent, type MarkerPosition, type MarkerShape, type MarkerSize, type MarketDepth, type MarketPhase, type MarketPhaseFn, type MaybePromise, type ModeCheck, type OpenAlgoConfig, OpenAlgoDataFeed, type OpenAlgoLiveConfig, OpenAlgoLiveDataFeed, type OpenAlgoTradeConfig, OpenAlgoTradeFeed, type OpenAlgoWsConfig, OpenAlgoWsFeed, type OrderBookSnapshot, type OrderDecodeCode, type OrderDecodeIssue, type OrderDecodeResult, type OrderSide$1 as OrderSide, type OrderType$1 as OrderType, type OrderUpdateEvent, type OriginalTime, PRICE_LEVEL_KINDS, PRICE_SCALE_MODES, Pane, type PaneInvalidation, PaneLegend, type PaneLegendAction, type PaneLegendOptions, type PaneState, type PickHost, type PickKind, type PlaceOrder, type PlotMarginOptions, type PositionSide, type PriceAxisState, type PriceLevelInput, type PriceLevelKind, type PriceLevelQuote, type PriceLevelStyle, type PriceLevelValues, PriceLevels, type PriceLevelsOptions, PriceLine, type PriceLineOptions, type PriceRange, PriceScale, type PriceScaleId, type PriceScaleMode, type PriceScaleOptions, type PriceScaleState, type PrimitiveAnchor, type PrimitiveHit, type PrimitiveHost, type PrimitivePlacement, type PrimitiveRenderContext, type QuarantinedRow, type RawOrder, type RendererEntry, type ReplayChartHost, ReplayController, type ReplayOptions, type ReplayScheduler, ReplayShade, type ReplayShadeOptions, type ReplayState, type ReplayViewport, type ResolvedLinkOptions, type RestoreReport, SCALE_FONT_MAX, SCALE_FONT_MIN, type ScaleCanvasOptions, type SeriesApi, type SeriesDataItem, type SeriesId, type SeriesMarker, SeriesMarkers, type SeriesRenderContext, type SeriesState, type SeriesStyle, type SeriesType, type SessionSpec, type ShortcutListItem, ShortcutManager, type ShortcutManagerOptions, type ShortcutPreset, type ShortcutScope, type ShortcutTriggerEvent, type Size, type SocketFactory, type SocketLike, type SupertrendPoint, type TableCell, type TablePosition, TextWatermark, type TextWatermarkOptions, type Tick, TickBarAggregator, type TickBarOptions, type TickCountBucketing, type TickMarkType, type TickTimeframe, TimeNavigator, type TimeNavigatorAction, type TimeNavigatorOptions, TimeScale, type TimeScaleOp, type TimeScaleOptions, type TradeFeed, type TradeMarkerVariant, TradeMarkersPrimitive, type TradingColors, TradingController, type TradingHost, type TradingLineStyle, type TradingLineVariant, type TradingOrder, type TradingOrderSide, type TradingOrderType, type TradingPosition, type TradingSettings, type TradingSyncPayload, type TradingTrade, type UTCSeconds, UnknownIntervalError, type UnsubscribeFn, VERSION, type VolumeBucketing, type VolumeMode, type WatermarkPosition, type Whitespace, type WsClientWarning, type WsControlMessage, type WsMode, type WsState, type ZOrder, type ZonedParts, type ZonedPeriod, addComparison, alignToPrimary, applyChartSettings, atr, autoscaleRange, backoffDelayMs, barCacheKey, barCloseSec, beginPick, bestHit, bitmapSize, bucketStartOf, calendarPeriodFlags, chartSettingsSchema, clamp, classifyAuthAck, compactVolume, comparisonController, computePriceLevels, conflateBars, conflateItems, conflationGroupSize, createChart, createLinkGroup, darkTheme, dashPattern, decodeOrder, drawLabel, drawShape, effectiveMarkerPx, ema, emaSeries, epochMsToUtcSeconds, eventToCombo, followerIndex, followerRange, formatCombo, formatIstCrosshairLabel, formatIstDate, formatIstTime, formatIstTimeSeconds, formatSubscribe, formatUnsubscribe, formatZonedCrosshairLabel, formatZonedDate, formatZonedTime, formatZonedTimeSeconds, fromGradient, generateBars, getChartType, getIndicator, hasIndicator, inSessionAt, indicatorDefaults, indicatorStyleInputs, intervalParts, intervalToSeconds, isDailyInterval, isIntradayInterval, isKnownInterval, isNewIstDay, isNewZonedDay, isNewZonedMonth, isNewZonedPeriod, isNewZonedQuarter, isNewZonedWeek, isNewZonedYear, isRebasing, isReservedCombo, isSecondsInterval, isTickInterval, isTimeBucketed, isValidCombo, isValidTimezone, isWhitespace, istStringToUtcSeconds, lastPriceLevelFromSeriesStyle, lerp, lightTheme, mapHistoryResponse, mapOrder, mapOrderStatus, mapPosition, markerSizePx, mergeBars, nextBucketStart, niceTicks, normalizeCombo, optimalBarWidth, parseCombo, parseMessage, parseSessionSpec, parseTopic, plotStyleKeys, precisionForStep, readChartSettings, readSequence, registerChartType, registerIndicator, registerInterval, registeredChartTypes, registeredIndicators, registeredIntervals, resolveCrosshairStyle, resolveGridStyle, resolveInterval, resolvePlotMargins, resolveScaleStyle, roundToTick, rowTimeToUtcSeconds, rsi, rsiSeries, seriesStyleForLastPriceLevel, sessionFlags, sessionStartFlags, sessionStartIndices, snapToDevicePixel, sourceValue, sourceValues, startOfZonedDay, startOfZonedMonth, startOfZonedWeek, supertrend, supertrendSeries, tableOrigin, toBar, trueRange, tryResolveInterval, unregisterInterval, utcSecondsToIstDateString, utcSecondsToIstParts, utcSecondsToZonedDateString, utcSecondsToZonedParts, version, verticalGradient, watermarkRect, withAlpha, withBarCache, zoneOffsetSeconds, zonedDayIndex, zonedStringToUtcSeconds, zonedWallClockToUtcSeconds, zonedWeekIndex };