openalgo-charts 2.1.1 → 2.1.3

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
@@ -4,12 +4,12 @@
4
4
 
5
5
  **A from-scratch, dependency-free HTML5-canvas charting engine for OpenAlgo.**
6
6
 
7
- Professional interactive charts, 102 built-in indicators plus your own custom ones, 51 drawing tools, order flow, market replay, linked chart grids, on-chart trading, vector SVG export and an optional WebGL2 backend. Eight lazy-loaded tiers, zero runtime dependencies, 66.49 KB Brotli for the base engine, and a one-call widget tier that adds the toolbar, drawing rail, dialogs and shortcuts.
7
+ Professional interactive charts, 102 built-in indicators plus your own custom ones, 51 drawing tools, order flow, market replay, linked chart grids, on-chart trading, vector SVG export and an optional WebGL2 backend. Eight lazy-loaded tiers, zero runtime dependencies, 67.05 KB Brotli for the base engine, and a one-call widget tier that adds the toolbar, drawing rail, dialogs and shortcuts.
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-66%20KB%20base%20%C2%B7%20183%20KB%20all%20tiers-brightgreen.svg)](#size-budget)
12
- [![tests](https://img.shields.io/badge/tests-4139%20passing-brightgreen.svg)](#develop)
11
+ [![bundle](https://img.shields.io/badge/brotli-67.05%20KB%20base%20%C2%B7%20187.84%20KB%20all%20tiers-brightgreen.svg)](#size-budget)
12
+ [![tests](https://img.shields.io/badge/tests-4208%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)  ·  [**Migrating to 2.0**](./docs/migrating-to-2.md)  ·  [**Architecture**](./ARCHITECTURE.md)
@@ -43,7 +43,12 @@ Every chart in the [live gallery](https://marketcalls.github.io/openalgo-charts/
43
43
 
44
44
  ## Install
45
45
 
46
- Current version: **2.1.1**.
46
+ Current version: **2.1.3**.
47
+
48
+ This patch corrects time-axis drag direction, keeps mouse panning horizontal by
49
+ default, and adds a reset control and saved visible-bar preference. See the
50
+ [2.1.3 changelog](./CHANGELOG.md#213) and
51
+ [OpenAlgo compatibility guide](https://marketcalls.github.io/openalgo-charts/docs/openalgo-compatibility/).
47
52
 
48
53
  ```bash
49
54
  npm install openalgo-charts
@@ -64,7 +69,7 @@ in front of npm rather than being places you upload to. A chart is one HTML file
64
69
  ```html
65
70
  <div id="chart" style="width:100vw;height:100vh"></div>
66
71
  <script type="module">
67
- import { createChart } from 'https://unpkg.com/openalgo-charts@2.1.1/dist/openalgo-charts.mjs';
72
+ import { createChart } from 'https://unpkg.com/openalgo-charts@2.1.3/dist/openalgo-charts.mjs';
68
73
  const chart = createChart(document.getElementById('chart'), { timezone: 'Asia/Kolkata' });
69
74
  chart.addSeries('candlestick').setData(bars);
70
75
  </script>
@@ -103,16 +108,16 @@ Import only what you use. Each tier is a separate bundle that registers into the
103
108
 
104
109
  | Import | Contents | Brotli |
105
110
  |---|---|---|
106
- | `openalgo-charts` | Engine, 13 chart types, panes &amp; scales, primitives, registries, chart state, chart linking, bar cache, interval registry, trading overlay, SVG export, render backend port, OpenAlgo feeds | 66.49 KB |
107
- | `openalgo-charts/indicators` | 102 built-in indicators, the `registerIndicator` contract for your own, and the Tier-2 (external-data) contract | 27.27 KB |
111
+ | `openalgo-charts` | Engine, 13 chart types, panes &amp; scales, primitives, registries, chart state, chart linking, bar cache, interval registry, trading overlay, SVG export, render backend port, OpenAlgo feeds | 67.05 KB |
112
+ | `openalgo-charts/indicators` | 102 built-in indicators, the `registerIndicator` contract for your own, and the Tier-2 (external-data) contract | 27.36 KB |
108
113
  | `openalgo-charts/draw` | 51 drawing tools + a headless drawing controller, clipboard, settings schema, level palette, freehand geometry and SVG icons | 25.82 KB |
109
114
  | `openalgo-charts/transform` | Heikin Ashi, Renko, Range bars, Line Break, Point &amp; Figure, Kagi | 2.66 KB |
110
115
  | `openalgo-charts/profile` | Volume Profile, Market Profile (TPO) with compact pixel letters, Footprint, order flow | 14.96 KB |
111
116
  | `openalgo-charts/trade` | Order / position / bracket tools + DOM ladder | 7.61 KB |
112
117
  | `openalgo-charts/webgl` | WebGL2 series backend: batched, analytically anti-aliased GPU rendering of the standard chart types behind `renderer: 'auto'`, with a session-long fallback to the 2D path | 6.38 KB |
113
- | `openalgo-charts/widget` | The chart with its chrome in one call: `createWidget` adds a top bar, the drawing rail, a status line, the settings and indicator dialogs, drawing properties, a right-click menu, a keymap with a `?` panel and optional layout persistence. The only tier that ships DOM | 35.56 KB |
118
+ | `openalgo-charts/widget` | The chart with its chrome in one call: `createWidget` adds a top bar, the drawing rail, a status line, the settings and indicator dialogs, drawing properties, a right-click menu, a keymap with a `?` panel and optional layout persistence. The only tier that ships DOM | 36.01 KB |
114
119
 
115
- Everything together is **186.74 KB Brotli**; a widget terminal (base + draw + indicators + widget, what one `createWidget` call loads) is 155.13 KB. Figures are the measured `size-limit` output. The trade tier is listed as its delta over the base, so loading base + trade costs 74.10 KB.
120
+ Everything together is **187.84 KB Brotli**; a widget terminal (base + draw + indicators + widget, what one `createWidget` call loads) is 156.24 KB. Figures are the measured `size-limit` output. The trade tier is listed as its delta over the base, so loading base + trade costs 74.66 KB.
116
121
 
117
122
  ## What's built
118
123
 
@@ -404,16 +409,16 @@ Enforced in CI by [`size-limit`](./.size-limit.json). Nothing is excluded, becau
404
409
 
405
410
  | Bundle | Limit | Actual |
406
411
  |---|---|---|
407
- | Base engine | 67 KB | 66.49 KB |
408
- | Base + trade | 75 KB | 74.10 KB |
409
- | Indicators tier | 30 KB | 27.27 KB |
412
+ | Base engine | 68 KB | 67.05 KB |
413
+ | Base + trade | 75 KB | 74.66 KB |
414
+ | Indicators tier | 30 KB | 27.36 KB |
410
415
  | Draw tier | 26 KB | 25.82 KB |
411
416
  | Transform tier | 5 KB | 2.66 KB |
412
417
  | Profile tier | 15 KB | 14.96 KB |
413
418
  | WebGL2 tier | 7 KB | 6.38 KB |
414
- | Widget tier | 36 KB | 35.56 KB |
415
- | Widget terminal (base + draw + indicators + widget) | 156 KB | 155.13 KB |
416
- | **Everything** | **187 KB** | **186.74 KB** |
419
+ | Widget tier | 37 KB | 36.01 KB |
420
+ | Widget terminal (base + draw + indicators + widget) | 157 KB | 156.24 KB |
421
+ | **Everything** | **188 KB** | **187.84 KB** |
417
422
 
418
423
  ## Documentation
419
424
 
@@ -456,7 +461,7 @@ python server.py --fixture # no yfinance, no network: deterministic synthetic
456
461
  ```bash
457
462
  npm install # install dev toolchain
458
463
  npm run typecheck # strict TypeScript check
459
- npm test # unit tests (vitest) - 4139 across 176 files
464
+ npm test # unit tests (vitest) - 4208 across 181 files
460
465
  npm run build # Rollup -> dist/ (minified ESM per tier + types)
461
466
  npm run size # size-limit (Brotli) against the budget
462
467
  npm run e2e # Playwright Chromium smoke tests
@@ -473,7 +478,7 @@ npm run verify # lint + typecheck + test + build + demo tests + dts + size +
473
478
 
474
479
  ## Status &amp; limitations
475
480
 
476
- Version **2.1.1**. All engine build phases are implemented. Upgrading a 1.9.x host: [Migrating to 2.0](./docs/migrating-to-2.md).
481
+ Version **2.1.3**. All engine build phases are implemented. Upgrading a 1.9.x host: [Migrating to 2.0](./docs/migrating-to-2.md).
477
482
 
478
483
  Known gaps, stated plainly:
479
484
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Library version string. Matches package.json (including locally prepared releases). */
2
- declare const VERSION = "2.1.1";
2
+ declare const VERSION = "2.1.3";
3
3
  /** Returns the current library version. */
4
4
  declare function version(): string;
5
5
 
@@ -3039,8 +3039,8 @@ declare class EventMarkers implements IPrimitive {
3039
3039
  }
3040
3040
 
3041
3041
  /**
3042
- * Time navigator (ARCHITECTURE.md §8) — the hover-revealed zoom / step controls
3043
- * that sit just above the time axis: `−` `+` to zoom, `‹` `›` to step one bar.
3042
+ * Time navigator (ARCHITECTURE.md section 8): hover-revealed zoom, reset and
3043
+ * one-bar step controls just above the time axis.
3044
3044
  *
3045
3045
  * Invisible until the pointer nears the bottom of the chart, so a clean chart
3046
3046
  * stays clean. It fades in and out rather than snapping, which is what keeps it
@@ -3054,7 +3054,7 @@ declare class EventMarkers implements IPrimitive {
3054
3054
  */
3055
3055
 
3056
3056
  /** Command each button runs. These are `Chart` shortcut command ids. */
3057
- type TimeNavigatorAction = 'zoomOut' | 'zoomIn' | 'panLeftBar' | 'panRightBar';
3057
+ type TimeNavigatorAction = 'zoomOut' | 'zoomIn' | 'resetScale' | 'panLeftBar' | 'panRightBar';
3058
3058
  interface TimeNavigatorOptions {
3059
3059
  /** Prefix for hit ids. Lets a host run more than one. */
3060
3060
  id: string;
@@ -3074,8 +3074,8 @@ interface TimeNavigatorOptions {
3074
3074
  revealHeight: number;
3075
3075
  /** Seconds the fade takes. 0 disables the animation. */
3076
3076
  fadeSeconds: number;
3077
- /** Tooltip label per action. */
3078
- labels: Record<TimeNavigatorAction, string>;
3077
+ /** Tooltip label overrides per action. */
3078
+ labels: Partial<Record<TimeNavigatorAction, string>>;
3079
3079
  /** Optional keyboard hint shown next to the label, e.g. `"Ctrl + −"`. */
3080
3080
  hints: Partial<Record<TimeNavigatorAction, string>>;
3081
3081
  /** Show the tooltip above the hovered button. */
@@ -3225,6 +3225,7 @@ type ChartSettingsValues = Record<string, ChartSettingsValue>;
3225
3225
  * host's saved layout away.
3226
3226
  */
3227
3227
  interface ChartSettingsState {
3228
+ navigation?: Partial<ChartNavigationOptions>;
3228
3229
  canvas?: CanvasOptions;
3229
3230
  statusLine?: LegendStatusLineOptions;
3230
3231
  trading?: TradingSettings;
@@ -3339,6 +3340,13 @@ interface ExportSvgOptions {
3339
3340
  */
3340
3341
  dpr?: 1;
3341
3342
  }
3343
+ /** Preferences for pointer panning and the view restored by reset. */
3344
+ interface ChartNavigationOptions {
3345
+ /** Mouse and pen plot drags. Touch gestures retain two-axis panning. Default: horizontal. */
3346
+ mousePan: 'horizontal' | 'both';
3347
+ /** Latest bars to show initially and on reset. 0 fits all loaded bars (default). */
3348
+ defaultVisibleBars: number;
3349
+ }
3342
3350
  interface ChartOptions {
3343
3351
  document?: Document;
3344
3352
  pixelRatio?: () => number;
@@ -3352,6 +3360,8 @@ interface ChartOptions {
3352
3360
  timeAxisHeight?: number;
3353
3361
  /** Initial horizontal scale configuration, including spacing limits for wide profiles. */
3354
3362
  timeScale?: Partial<TimeScaleOptions>;
3363
+ /** Saved navigation preferences, also exposed in the Axes settings tab. */
3364
+ navigation?: Partial<ChartNavigationOptions>;
3355
3365
  /**
3356
3366
  * Where indicator legend rows start inside **one** pane, in media px. A host
3357
3367
  * that draws its own overlay in a pane's top-left corner — an OHLC readout, a
@@ -3804,6 +3814,7 @@ declare class Chart {
3804
3814
  private _cursorPane;
3805
3815
  private _cursor;
3806
3816
  private _dragging;
3817
+ private readonly _navigation;
3807
3818
  private _dragStartX;
3808
3819
  private _dragStartY;
3809
3820
  private _lastDragY;
@@ -3919,6 +3930,12 @@ declare class Chart {
3919
3930
  getVisibleLogicalRange(): LogicalRange;
3920
3931
  /** Fit all bars into view (no-arg convenience; bar count from the data). */
3921
3932
  fitContent(): void;
3933
+ /** Current navigation preferences, safe to save as JSON. */
3934
+ navigationOptions(): Readonly<ChartNavigationOptions>;
3935
+ /** A new default bar count immediately restores that view without dropping history. */
3936
+ setNavigationOptions(patch: Partial<ChartNavigationOptions>): void;
3937
+ private _patchNavigation;
3938
+ private _fitDefaultView;
3922
3939
  /** The keyboard shortcut manager (null when shortcuts are disabled). */
3923
3940
  get shortcuts(): ShortcutManager | null;
3924
3941
  /**
@@ -4664,7 +4681,7 @@ declare class Chart {
4664
4681
  private _startZoomGlide;
4665
4682
  private _stopZoomGlide;
4666
4683
  /**
4667
- * Restore the default view: fit all bars on the time axis and re-enable
4684
+ * Restore the preferred visible bar count and re-enable
4668
4685
  * auto-scaling on every price axis (undoing any pan/zoom or manual axis drag).
4669
4686
  * Same as double-clicking the chart.
4670
4687
  */
@@ -6662,6 +6679,21 @@ interface BarsRequest {
6662
6679
  interval: string;
6663
6680
  from?: UTCSeconds;
6664
6681
  to?: UTCSeconds;
6682
+ /** Fetch authoritative history instead of a cached snapshot, when supported. */
6683
+ noCache?: boolean;
6684
+ }
6685
+ /** Optional context for continuing history and recovering an interrupted stream. */
6686
+ interface BarSubscriptionOptions {
6687
+ /** Last historical time-bucketed bar, used as the live builder's starting point. */
6688
+ seedFrom?: Bar;
6689
+ /** Cumulative day volume at the seed snapshot, if the host knows it. */
6690
+ cumDayVolumeSoFar?: number;
6691
+ /**
6692
+ * The stream reconnected and may have missed data. Refresh authoritative
6693
+ * history, then resubscribe with its last bar as the seed. Older bars must
6694
+ * not be delivered through onBar, whose consumers commonly accept only tails.
6695
+ */
6696
+ onResync?: () => void;
6665
6697
  }
6666
6698
  /**
6667
6699
  * Broker-agnostic market-data source. The chart depends only on this.
@@ -6670,7 +6702,7 @@ interface BarsRequest {
6670
6702
  */
6671
6703
  interface DataFeed {
6672
6704
  getBars(req: BarsRequest): Promise<Bar[]>;
6673
- subscribeBars?(req: BarsRequest, onBar: (bar: Bar) => void): UnsubscribeFn;
6705
+ subscribeBars?(req: BarsRequest, onBar: (bar: Bar) => void, opts?: BarSubscriptionOptions): UnsubscribeFn;
6674
6706
  /**
6675
6707
  * `opts.depthLevel` requests a book depth (broker-dependent: 5/20/30/50).
6676
6708
  * Named on the interface so a caller holding a `DataFeed` can ask for one;
@@ -6749,6 +6781,7 @@ interface HistoryRow {
6749
6781
  }
6750
6782
  interface HistoryResponse {
6751
6783
  status?: string;
6784
+ message?: string;
6752
6785
  data?: HistoryRow[];
6753
6786
  }
6754
6787
  /** Pure: coerce a row timestamp (epoch s / epoch ms / IST string) to UTC seconds. */
@@ -6770,7 +6803,7 @@ declare class OpenAlgoDataFeed implements DataFeed {
6770
6803
  * server answers { type:'auth', status:'success' } (or a refusal)
6771
6804
  * 2. subscribe : { action:'subscribe', symbol, exchange, mode } mode 1=LTP 2=Quote 3=Depth
6772
6805
  * (Depth adds depth_level, e.g. 5/20/30/50)
6773
- * 3. server pushes { type:'market_data', mode, topic:'SYM.EXCH', data:{...} }
6806
+ * 3. server pushes { type:'market_data', symbol, exchange, mode, data:{...} }
6774
6807
  * 4. heartbeat : OpenAlgo's proxy pings at the protocol level, which a
6775
6808
  * browser answers without telling JavaScript, so the client keeps its own
6776
6809
  * watchdog and asks { action:'ping' } when the stream goes quiet. An
@@ -6972,9 +7005,8 @@ declare function backoffDelayMs(attempt: number, opts: {
6972
7005
  * Payload fields live under `data` per the protocol, but the parser also
6973
7006
  * tolerates a flat shape for resilience across broker adapters.
6974
7007
  *
6975
- * Identity falls back to the `topic`, which is where several broker adapters
6976
- * put it: reading only `data.symbol` dropped those ticks into an unnamed
6977
- * instrument no subscriber matched.
7008
+ * The proxy puts identity on the envelope. Existing nested broker identity
7009
+ * takes precedence, with `topic` retained as the final fallback.
6978
7010
  */
6979
7011
  declare function parseMessage(raw: unknown): {
6980
7012
  kind: 'ltp';
@@ -7618,10 +7650,7 @@ declare class OpenAlgoLiveDataFeed implements DataFeed {
7618
7650
  * a `day-delta` builder diffs against the right baseline. Seeding applies to
7619
7651
  * time-bucketed intervals: a count-driven bar cannot resume a historical one.
7620
7652
  */
7621
- subscribeBars(req: BarsRequest, onBar: (bar: Bar) => void, opts?: {
7622
- seedFrom?: Bar;
7623
- cumDayVolumeSoFar?: number;
7624
- }): UnsubscribeFn;
7653
+ subscribeBars(req: BarsRequest, onBar: (bar: Bar) => void, opts?: BarSubscriptionOptions): UnsubscribeFn;
7625
7654
  /** A broker may omit the tick timestamp; never bucket at the epoch, use now. */
7626
7655
  private static _tickTime;
7627
7656
  private _candleReader;
@@ -7657,7 +7686,7 @@ declare class FakeDataFeed implements DataFeed {
7657
7686
  * (`if (feed.subscribeBars)`) is honest. Pass a manual scheduler to drive it
7658
7687
  * by hand in tests, and `opts.tickMs` to change the cadence.
7659
7688
  */
7660
- subscribeBars(req: BarsRequest, onBar: (bar: Bar) => void, opts?: {
7689
+ subscribeBars(req: BarsRequest, onBar: (bar: Bar) => void, opts?: BarSubscriptionOptions & {
7661
7690
  tickMs?: number;
7662
7691
  }): UnsubscribeFn;
7663
7692
  }
@@ -8234,4 +8263,4 @@ declare function lerp(a: number, b: number, t: number): number;
8234
8263
  */
8235
8264
  declare function roundToTick(value: number, step: number): number;
8236
8265
 
8237
- 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 CandleGeometry, type CandleStyle, type CandleTier, type CandleUpdate, Canvas2dBackend, type CanvasLineStyle, type CanvasOptions, Chart, type ChartClickEvent, type ChartDragEndEvent, type ChartDragEvent, 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, DEFAULT_ZOOM_GLIDE_OPTIONS, type DataFeed, DataLayer, type DecodedOrder, type DepthLevel, type DoubleClickAction, type DoubleClickEvent, type DrawAnchor, type DrawItem, EventMarkers, type ExportSvgOptions, 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, type IRenderBackend, 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 PointerInfo, type PointerKind, type PointerModifiers, type PointerSample, 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 RenderBackendFactory, type RenderBackendKind, type RenderDevice, type RendererChoice, type RendererEntry, type RendererFallbackEvent, type RendererFallbackReason, 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, SvgContext, type SvgContextOptions, SvgLinearGradient, 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, type ZoomAnchor, ZoomGlide, type ZoomGlideOptions, addComparison, alignToPrimary, applyChartSettings, atr, autoscaleRange, backendDegradation, backoffDelayMs, barCacheKey, barCloseSec, beginPick, bestHit, bitmapSize, bucketStartOf, calendarPeriodFlags, candleGeometry, candleTier, chartSettingsSchema, clamp, classifyAuthAck, compactVolume, comparisonController, computePriceLevels, conflateBars, conflateItems, conflationGroupSize, createChart, createLinkGroup, createRenderBackend, 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, registerRenderBackend, registeredChartTypes, registeredIndicators, registeredIntervals, registeredRenderBackends, resolveCrosshairStyle, resolveGridStyle, resolveInterval, resolvePlotMargins, resolveRenderBackend, resolveScaleStyle, roundToTick, rowTimeToUtcSeconds, rsi, rsiSeries, seriesStyleForLastPriceLevel, sessionFlags, sessionStartFlags, sessionStartIndices, snapToDevicePixel, sourceValue, sourceValues, startOfZonedDay, startOfZonedMonth, startOfZonedWeek, supertrend, supertrendSeries, tableOrigin, toBar, trueRange, tryResolveInterval, unregisterInterval, unregisterRenderBackend, utcSecondsToIstDateString, utcSecondsToIstParts, utcSecondsToZonedDateString, utcSecondsToZonedParts, version, verticalGradient, watermarkRect, withAlpha, withBarCache, zoneOffsetSeconds, zonedDayIndex, zonedStringToUtcSeconds, zonedWallClockToUtcSeconds, zonedWeekIndex };
8266
+ export { ALT_PRESET, type AddSeriesOptions, type AggTick, type AxisChromeOptions, type AxisStyle, BUILTIN_COMMANDS, type Bar, BarCache, type BarCacheOptions, type BarCacheStats, type BarCacheStore, type BarSubscriptionOptions, type BarUpdate, type BarsRequest, type Bucketing, BuySellButtons, type BuySellButtonsOptions, CHART_STATE_VERSION, type CachedBars, type CachedBarsRequest, type CalendarBucketing, type CalendarUnit, CandleBuilder, type CandleBuilderOptions, type CandleGeometry, type CandleStyle, type CandleTier, type CandleUpdate, Canvas2dBackend, type CanvasLineStyle, type CanvasOptions, Chart, type ChartClickEvent, type ChartDragEndEvent, type ChartDragEvent, type ChartEvent, type ChartEventOptions, type ChartNavigationOptions, 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, DEFAULT_ZOOM_GLIDE_OPTIONS, type DataFeed, DataLayer, type DecodedOrder, type DepthLevel, type DoubleClickAction, type DoubleClickEvent, type DrawAnchor, type DrawItem, EventMarkers, type ExportSvgOptions, 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, type IRenderBackend, 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 PointerInfo, type PointerKind, type PointerModifiers, type PointerSample, 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 RenderBackendFactory, type RenderBackendKind, type RenderDevice, type RendererChoice, type RendererEntry, type RendererFallbackEvent, type RendererFallbackReason, 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, SvgContext, type SvgContextOptions, SvgLinearGradient, 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, type ZoomAnchor, ZoomGlide, type ZoomGlideOptions, addComparison, alignToPrimary, applyChartSettings, atr, autoscaleRange, backendDegradation, backoffDelayMs, barCacheKey, barCloseSec, beginPick, bestHit, bitmapSize, bucketStartOf, calendarPeriodFlags, candleGeometry, candleTier, chartSettingsSchema, clamp, classifyAuthAck, compactVolume, comparisonController, computePriceLevels, conflateBars, conflateItems, conflationGroupSize, createChart, createLinkGroup, createRenderBackend, 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, registerRenderBackend, registeredChartTypes, registeredIndicators, registeredIntervals, registeredRenderBackends, resolveCrosshairStyle, resolveGridStyle, resolveInterval, resolvePlotMargins, resolveRenderBackend, resolveScaleStyle, roundToTick, rowTimeToUtcSeconds, rsi, rsiSeries, seriesStyleForLastPriceLevel, sessionFlags, sessionStartFlags, sessionStartIndices, snapToDevicePixel, sourceValue, sourceValues, startOfZonedDay, startOfZonedMonth, startOfZonedWeek, supertrend, supertrendSeries, tableOrigin, toBar, trueRange, tryResolveInterval, unregisterInterval, unregisterRenderBackend, utcSecondsToIstDateString, utcSecondsToIstParts, utcSecondsToZonedDateString, utcSecondsToZonedParts, version, verticalGradient, watermarkRect, withAlpha, withBarCache, zoneOffsetSeconds, zonedDayIndex, zonedStringToUtcSeconds, zonedWallClockToUtcSeconds, zonedWeekIndex };