@vninvestcharts/widget 0.0.0-stage → 0.2.0
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/LICENSE +201 -0
- package/NOTICE.md +83 -0
- package/README.md +851 -3
- package/dist/AlertsModal-WKEUDTUZ.js +2 -0
- package/dist/ConnectedTradingPanel-KWJMIKTN.css +2 -0
- package/dist/ConnectedTradingPanel-XDKMOQY5.js +2 -0
- package/dist/PineEditorPanel-AUXB4FD3.js +2 -0
- package/dist/PineEditorPanel-V6YN2OTU.css +2 -0
- package/dist/RightSidebarDockHost-6FPZ6EKV.css +2 -0
- package/dist/RightSidebarDockHost-OBFXKSIY.js +2 -0
- package/dist/StrategyTesterPanel-6IUTS2P4.js +2 -0
- package/dist/StrategyTesterPanel-LEWEUMXP.css +2 -0
- package/dist/VolumeProfileWorker-UREKVPUE.js +189 -0
- package/dist/adapters/index.cjs +2532 -0
- package/dist/adapters/index.d.mts +673 -0
- package/dist/adapters/index.d.ts +673 -0
- package/dist/adapters/index.js +2521 -0
- package/dist/adapters/index.umd.js +2535 -0
- package/dist/chunk-5T6DGB3V.js +2 -0
- package/dist/chunk-66JBEGR3.js +4 -0
- package/dist/chunk-6D7DVBIK.js +2 -0
- package/dist/chunk-76E7CKUD.js +2 -0
- package/dist/chunk-AKWVXRQ6.js +2 -0
- package/dist/chunk-FHHSTO6Z.js +2 -0
- package/dist/chunk-HPL723JA.js +2 -0
- package/dist/chunk-NVGTF73S.js +2 -0
- package/dist/chunk-PNIB4OM3.js +2 -0
- package/dist/chunk-UKJ5AKQX.js +595 -0
- package/dist/chunk-UYJTX3SD.js +2 -0
- package/dist/combined.css +3068 -0
- package/dist/css-modules-manifest.json +297 -0
- package/dist/dist-Y6PZ2RN3.js +12 -0
- package/dist/drawing/index.cjs +53 -0
- package/dist/drawing/index.d.mts +2 -0
- package/dist/drawing/index.d.ts +2 -0
- package/dist/drawing/index.js +2 -0
- package/dist/drawing/index.umd.js +54 -0
- package/dist/dts/drawing-shim.d.ts +3 -0
- package/dist/dts/index.d.ts +31 -0
- package/dist/dts/lib/Chart.d.ts +31 -0
- package/dist/dts/lib/ChartContext.d.ts +10 -0
- package/dist/dts/lib/EventCapture.d.ts +3 -0
- package/dist/dts/lib/GenericChartComponent.d.ts +5 -0
- package/dist/dts/lib/GenericComponent.d.ts +124 -0
- package/dist/dts/lib/StockChartContext.d.ts +53 -0
- package/dist/dts/lib/adapters/BaseAdapter.d.ts +25 -0
- package/dist/dts/lib/adapters/BinanceAdapter.d.ts +51 -0
- package/dist/dts/lib/adapters/CSVAdapter.d.ts +17 -0
- package/dist/dts/lib/adapters/ContinuousContractAdapter.d.ts +63 -0
- package/dist/dts/lib/adapters/ContinuousContractTypes.d.ts +154 -0
- package/dist/dts/lib/adapters/DBAdapter.d.ts +16 -0
- package/dist/dts/lib/adapters/DataAdapter.d.ts +136 -0
- package/dist/dts/lib/adapters/DjangoVnstockAdapter.d.ts +15 -0
- package/dist/dts/lib/adapters/LocalCacheAdapter.d.ts +18 -0
- package/dist/dts/lib/adapters/MockAdapter.d.ts +22 -0
- package/dist/dts/lib/adapters/RESTAdapter.d.ts +16 -0
- package/dist/dts/lib/adapters/StockDataAdapter.d.ts +1 -0
- package/dist/dts/lib/adapters/UDFDataAdapter.d.ts +29 -0
- package/dist/dts/lib/adapters/VNStocksAdapter.d.ts +8 -0
- package/dist/dts/lib/adapters/WSAdapter.d.ts +30 -0
- package/dist/dts/lib/adapters/gapFixture.d.ts +71 -0
- package/dist/dts/lib/adapters/index.d.ts +15 -0
- package/dist/dts/lib/adapters/rollAlgorithms.d.ts +68 -0
- package/dist/dts/lib/advisory/AdvisoryPanel.d.ts +5 -0
- package/dist/dts/lib/alerts/AlertEvaluator.d.ts +5 -0
- package/dist/dts/lib/alerts/AlertManager.d.ts +123 -0
- package/dist/dts/lib/alerts/types.d.ts +58 -0
- package/dist/dts/lib/cache/cacheDebug.d.ts +3 -0
- package/dist/dts/lib/calendars/ExchangeCalendar.d.ts +23 -0
- package/dist/dts/lib/calendars/calendarRegistry.d.ts +10 -0
- package/dist/dts/lib/calendars/index.d.ts +3 -0
- package/dist/dts/lib/core/ChartPane.d.ts +8 -0
- package/dist/dts/lib/core/ChartSplitter.d.ts +70 -0
- package/dist/dts/lib/core/ChartTerminal.d.ts +12 -0
- package/dist/dts/lib/core/ErrorBoundary.d.ts +17 -0
- package/dist/dts/lib/core/IndicatorLegend.d.ts +47 -0
- package/dist/dts/lib/core/PaneHeader.d.ts +24 -0
- package/dist/dts/lib/core/PaneLabel.d.ts +8 -0
- package/dist/dts/lib/core/PaneSplitter.d.ts +9 -0
- package/dist/dts/lib/core/SeriesPicker.d.ts +10 -0
- package/dist/dts/lib/core/calculators/alignBarsByDate.d.ts +38 -0
- package/dist/dts/lib/core/calculators/buildIndicatorComputationPlan.d.ts +16 -0
- package/dist/dts/lib/core/calculators/calcCVDApprox.d.ts +6 -0
- package/dist/dts/lib/core/calculators/calcStrengthElder.d.ts +7 -0
- package/dist/dts/lib/core/calculators/calcWhaleApprox.d.ts +6 -0
- package/dist/dts/lib/core/calculators/computationHelpers.d.ts +12 -0
- package/dist/dts/lib/core/calculators/computeIndicatorComputationResult.d.ts +3 -0
- package/dist/dts/lib/core/calculators/computeMarketStructure.d.ts +8 -0
- package/dist/dts/lib/core/calculators/computeMomentum.d.ts +22 -0
- package/dist/dts/lib/core/calculators/computeMovingAverage.d.ts +15 -0
- package/dist/dts/lib/core/calculators/computeProfile.d.ts +9 -0
- package/dist/dts/lib/core/calculators/computeTrend.d.ts +10 -0
- package/dist/dts/lib/core/calculators/computeVolatility.d.ts +14 -0
- package/dist/dts/lib/core/calculators/computeVolumeFlow.d.ts +19 -0
- package/dist/dts/lib/core/calculators/enrichData.d.ts +7 -0
- package/dist/dts/lib/core/calculators/enrichDataWithCanonicalStore.d.ts +33 -0
- package/dist/dts/lib/core/calculators/exoticChartData.d.ts +140 -0
- package/dist/dts/lib/core/calculators/fixtures/mockData.d.ts +2 -0
- package/dist/dts/lib/core/calculators/indicatorComputation.d.ts +27 -0
- package/dist/dts/lib/core/calculators/indicatorComputationTypes.d.ts +249 -0
- package/dist/dts/lib/core/calculators/materializeIndicatorValues.d.ts +3 -0
- package/dist/dts/lib/core/calculators/normalizePrices.d.ts +36 -0
- package/dist/dts/lib/core/calculators/resolveCalculationOrder.d.ts +17 -0
- package/dist/dts/lib/core/calculators/types.d.ts +269 -0
- package/dist/dts/lib/core/canvas/ChartRenderContext.d.ts +14 -0
- package/dist/dts/lib/core/canvas/OverlayCanvas.d.ts +19 -0
- package/dist/dts/lib/core/context/ChartSyncContext.d.ts +21 -0
- package/dist/dts/lib/core/context/DataContext.d.ts +15 -0
- package/dist/dts/lib/core/context/PaneManagerContext.d.ts +10 -0
- package/dist/dts/lib/core/hooks/paneSizingHelpers.d.ts +13 -0
- package/dist/dts/lib/core/hooks/useCanvasResize.d.ts +8 -0
- package/dist/dts/lib/core/hooks/useChartTheme.d.ts +12 -0
- package/dist/dts/lib/core/hooks/useDynamicPanes.d.ts +155 -0
- package/dist/dts/lib/core/hooks/useIndicatorSets.d.ts +20 -0
- package/dist/dts/lib/core/hooks/usePaneManager.d.ts +39 -0
- package/dist/dts/lib/core/hooks/usePaneSizes.d.ts +52 -0
- package/dist/dts/lib/core/index.d.ts +41 -0
- package/dist/dts/lib/core/paneScaleSlotDomains.d.ts +3 -0
- package/dist/dts/lib/core/registry/SeriesRegistry.d.ts +22 -0
- package/dist/dts/lib/core/registry/filterPanesBySeriesTier.d.ts +43 -0
- package/dist/dts/lib/core/registry/marketStructure.d.ts +7 -0
- package/dist/dts/lib/core/registry/momentum.d.ts +20 -0
- package/dist/dts/lib/core/registry/movingAverage.d.ts +14 -0
- package/dist/dts/lib/core/registry/priceChartTypes.d.ts +16 -0
- package/dist/dts/lib/core/registry/profile.d.ts +8 -0
- package/dist/dts/lib/core/registry/registerAll.d.ts +1 -0
- package/dist/dts/lib/core/registry/registerPhaseOne.d.ts +3 -0
- package/dist/dts/lib/core/registry/registryCore.d.ts +77 -0
- package/dist/dts/lib/core/registry/trend.d.ts +11 -0
- package/dist/dts/lib/core/registry/volatility.d.ts +11 -0
- package/dist/dts/lib/core/registry/volumeFlow.d.ts +20 -0
- package/dist/dts/lib/core/replay/BarReplayController.d.ts +62 -0
- package/dist/dts/lib/core/replay/ReplayEventBus.d.ts +68 -0
- package/dist/dts/lib/core/replay/ReplayFillSimulator.d.ts +33 -0
- package/dist/dts/lib/core/replay/ReplayOrderBook.d.ts +24 -0
- package/dist/dts/lib/core/replay/ReplayPositionManager.d.ts +30 -0
- package/dist/dts/lib/core/replay/ReplaySessionAnalytics.d.ts +31 -0
- package/dist/dts/lib/core/replay/createReplayTradeMarkerPrimitives.d.ts +7 -0
- package/dist/dts/lib/core/replay/pnlUtils.d.ts +2 -0
- package/dist/dts/lib/core/replay/replayBrokerAdapters.d.ts +51 -0
- package/dist/dts/lib/core/replay/replayTradingTypes.d.ts +61 -0
- package/dist/dts/lib/core/scales/computeScales.d.ts +8 -0
- package/dist/dts/lib/core/seriesValueResolver.d.ts +27 -0
- package/dist/dts/lib/core/sets/builtins.d.ts +2 -0
- package/dist/dts/lib/core/sets/indicatorSetCodec.d.ts +15 -0
- package/dist/dts/lib/core/trading/AnalyticsEngine.d.ts +56 -0
- package/dist/dts/lib/core/trading/BrokerAPI.d.ts +40 -0
- package/dist/dts/lib/core/trading/ExecutionSimulator.d.ts +53 -0
- package/dist/dts/lib/core/trading/FillSettlement.d.ts +38 -0
- package/dist/dts/lib/core/trading/MarketDataPort.d.ts +41 -0
- package/dist/dts/lib/core/trading/MarketRules.d.ts +58 -0
- package/dist/dts/lib/core/trading/OrderManagementSystem.d.ts +57 -0
- package/dist/dts/lib/core/trading/PositionManager.d.ts +79 -0
- package/dist/dts/lib/core/trading/RiskEngine.d.ts +40 -0
- package/dist/dts/lib/core/trading/SettlementCalendar.d.ts +10 -0
- package/dist/dts/lib/core/trading/VirtualBrokerEngine.d.ts +92 -0
- package/dist/dts/lib/core/trading/orderMargin.d.ts +3 -0
- package/dist/dts/lib/core/trading/storage/InMemoryStorageAdapter.d.ts +10 -0
- package/dist/dts/lib/core/trading/storage/TradingStorage.d.ts +34 -0
- package/dist/dts/lib/core/trading/types.d.ts +99 -0
- package/dist/dts/lib/core/types/chart.d.ts +21 -0
- package/dist/dts/lib/core/types/indicator-catalog.d.ts +38 -0
- package/dist/dts/lib/core/types/indicator-set.d.ts +19 -0
- package/dist/dts/lib/core/types/pane-descriptor.d.ts +46 -0
- package/dist/dts/lib/core/types/seriesComponents.d.ts +15 -0
- package/dist/dts/lib/credentials/credentialStore.d.ts +93 -0
- package/dist/dts/lib/helper/SaveChartAsImage.d.ts +90 -0
- package/dist/dts/lib/indicator/defaultOptionsForAppearance.d.ts +105 -0
- package/dist/dts/lib/indicators/builtin/MTFWrapper.d.ts +3 -0
- package/dist/dts/lib/indicators/builtin/VolumeProfileWorker.d.ts +19 -0
- package/dist/dts/lib/indicators/builtin/ac.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/alligator.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/anchoredVwap.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/ao.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/bbi.d.ts +10 -0
- package/dist/dts/lib/indicators/builtin/bias.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/bollinger.d.ts +9 -0
- package/dist/dts/lib/indicators/builtin/brar.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/cci.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/chaikinOscillator.d.ts +14 -0
- package/dist/dts/lib/indicators/builtin/chaikinVol.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/ci.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/cmf.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/cr.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/cvd.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/deltaProfile.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/dema.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/dma.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/dmi.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/donchian.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/ema.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/emv.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/footprint.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/fractals.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/gator.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/hma.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/hv.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/ichimoku.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/kdj.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/keltner.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/ma.d.ts +10 -0
- package/dist/dts/lib/indicators/builtin/maRibbon.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/macd.d.ts +9 -0
- package/dist/dts/lib/indicators/builtin/marketProfile.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/mfi.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/mtm.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/obv.d.ts +10 -0
- package/dist/dts/lib/indicators/builtin/pivotHighLow.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/pivotStandard.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/psy.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/pvt.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/roc.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/rsi.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/sar.d.ts +10 -0
- package/dist/dts/lib/indicators/builtin/sma.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/smfi.d.ts +8 -0
- package/dist/dts/lib/indicators/builtin/stdDev.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/strengthRelative.d.ts +7 -0
- package/dist/dts/lib/indicators/builtin/supertrend.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/tema.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/trix.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/volOsc.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/volume.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/volumeProfile.d.ts +8 -0
- package/dist/dts/lib/indicators/builtin/vr.d.ts +10 -0
- package/dist/dts/lib/indicators/builtin/vwap.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/vwma.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/wma.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/wr.d.ts +10 -0
- package/dist/dts/lib/indicators/builtin/wyckoffWave.d.ts +15 -0
- package/dist/dts/lib/indicators/index.d.ts +63 -0
- package/dist/dts/lib/indicators/indicatorValueShapes.d.ts +15 -0
- package/dist/dts/lib/indicators/outputKeys.d.ts +50 -0
- package/dist/dts/lib/indicators/overlays/CVDIndicator.d.ts +26 -0
- package/dist/dts/lib/indicators/overlays/DarkFlowBadge.d.ts +19 -0
- package/dist/dts/lib/indicators/overlays/ExternalCVDOverlay.d.ts +15 -0
- package/dist/dts/lib/indicators/overlays/WhaleBubbleOverlay.d.ts +14 -0
- package/dist/dts/lib/indicators/overlays/WhaleMarketBubbleOverlay.d.ts +27 -0
- package/dist/dts/lib/indicators/overlays/whaleDetector.d.ts +66 -0
- package/dist/dts/lib/indicators/registry.d.ts +6 -0
- package/dist/dts/lib/indicators/types.d.ts +5 -0
- package/dist/dts/lib/indicators/utils.d.ts +259 -0
- package/dist/dts/lib/pinescript/PineCompiler.d.ts +34 -0
- package/dist/dts/lib/pinescript/ast.d.ts +73 -0
- package/dist/dts/lib/pinescript/compile.d.ts +40 -0
- package/dist/dts/lib/pinescript/grammar.d.ts +12 -0
- package/dist/dts/lib/pinescript/pine.worker.d.ts +1 -0
- package/dist/dts/lib/pinescript/pineBlocks.d.ts +54 -0
- package/dist/dts/lib/pinescript/pineBuiltins.d.ts +47 -0
- package/dist/dts/lib/pinescript/pineEnv.d.ts +46 -0
- package/dist/dts/lib/pinescript/pineMath.d.ts +13 -0
- package/dist/dts/lib/pinescript/pineParse.d.ts +25 -0
- package/dist/dts/lib/pinescript/pineStrings.d.ts +50 -0
- package/dist/dts/lib/pinescript/runtime.d.ts +5 -0
- package/dist/dts/lib/pinescript/scriptRegistry.d.ts +40 -0
- package/dist/dts/lib/pinescript/series-value.d.ts +64 -0
- package/dist/dts/lib/pinescript/vnscript-completion.d.ts +1 -0
- package/dist/dts/lib/pinescript/vnscript-grammar.d.ts +19 -0
- package/dist/dts/lib/scale/discontinuousTimeScaleProvider.d.ts +3 -0
- package/dist/dts/lib/scale/financeDiscontinuousScale.d.ts +15 -0
- package/dist/dts/lib/scale/index.d.ts +1 -0
- package/dist/dts/lib/scale/levels.d.ts +12 -0
- package/dist/dts/lib/series/AlternatingFillAreaSeries.d.ts +13 -0
- package/dist/dts/lib/series/AreaOnlySeries.d.ts +10 -0
- package/dist/dts/lib/series/AreaSeries.d.ts +30 -0
- package/dist/dts/lib/series/BarSeries.d.ts +40 -0
- package/dist/dts/lib/series/BollingerSeries.d.ts +11 -0
- package/dist/dts/lib/series/CandlestickSeries.d.ts +56 -0
- package/dist/dts/lib/series/CircleMarker.d.ts +28 -0
- package/dist/dts/lib/series/ElderRaySeries.d.ts +14 -0
- package/dist/dts/lib/series/FootprintSeries.d.ts +21 -0
- package/dist/dts/lib/series/GroupedBarSeries.d.ts +9 -0
- package/dist/dts/lib/series/HTFOverlaySeries.d.ts +32 -0
- package/dist/dts/lib/series/HistogramSeries.d.ts +51 -0
- package/dist/dts/lib/series/KagiSeries.d.ts +9 -0
- package/dist/dts/lib/series/LineBreakSeries.d.ts +28 -0
- package/dist/dts/lib/series/LineSeries.d.ts +54 -0
- package/dist/dts/lib/series/MACDSeries.d.ts +28 -0
- package/dist/dts/lib/series/MarketProfileSeries.d.ts +18 -0
- package/dist/dts/lib/series/OHLCSeries.d.ts +9 -0
- package/dist/dts/lib/series/OverlayBarSeries.d.ts +9 -0
- package/dist/dts/lib/series/PointAndFigureSeries.d.ts +45 -0
- package/dist/dts/lib/series/RSISeries.d.ts +38 -0
- package/dist/dts/lib/series/RenkoSeries.d.ts +9 -0
- package/dist/dts/lib/series/SARSeries.d.ts +10 -0
- package/dist/dts/lib/series/SVGComponent.d.ts +5 -0
- package/dist/dts/lib/series/ScatterSeries.d.ts +9 -0
- package/dist/dts/lib/series/SquareMarker.d.ts +28 -0
- package/dist/dts/lib/series/StackedBarSeries.d.ts +19 -0
- package/dist/dts/lib/series/StochasticSeries.d.ts +9 -0
- package/dist/dts/lib/series/StraightLine.d.ts +18 -0
- package/dist/dts/lib/series/TriangleMarker.d.ts +30 -0
- package/dist/dts/lib/series/VolumeProfileSeries.d.ts +9 -0
- package/dist/dts/lib/series/index.d.ts +28 -0
- package/dist/dts/lib/strategy/BrokerSimulator.d.ts +11 -0
- package/dist/dts/lib/strategy/types.d.ts +35 -0
- package/dist/dts/lib/tape/TapePanel.d.ts +5 -0
- package/dist/dts/lib/types/adapter.d.ts +1 -0
- package/dist/dts/lib/types/index.d.ts +5 -0
- package/dist/dts/lib/types/indicator.d.ts +11 -0
- package/dist/dts/lib/types/ohlcv.d.ts +1 -0
- package/dist/dts/lib/types/pane.d.ts +23 -0
- package/dist/dts/lib/types/runtime.d.ts +11 -0
- package/dist/dts/lib/types/vninvest.d.ts +320 -0
- package/dist/dts/lib/types.d.ts +45 -0
- package/dist/dts/lib/utils/ChartDataUtil.d.ts +26 -0
- package/dist/dts/lib/utils/PureComponent.d.ts +5 -0
- package/dist/dts/lib/utils/accumulatingWindow.d.ts +1 -0
- package/dist/dts/lib/utils/axisPriceFormat.d.ts +6 -0
- package/dist/dts/lib/utils/barWidth.d.ts +14 -0
- package/dist/dts/lib/utils/identity.d.ts +1 -0
- package/dist/dts/lib/utils/index.d.ts +70 -0
- package/dist/dts/lib/utils/logger.d.ts +28 -0
- package/dist/dts/lib/utils/mappedSlidingWindow.d.ts +1 -0
- package/dist/dts/lib/utils/merge.d.ts +6 -0
- package/dist/dts/lib/utils/noop.d.ts +1 -0
- package/dist/dts/lib/utils/rebind.d.ts +1 -0
- package/dist/dts/lib/utils/shallowEqual.d.ts +1 -0
- package/dist/dts/lib/utils/slidingWindow.d.ts +1 -0
- package/dist/dts/lib/utils/storage.d.ts +32 -0
- package/dist/dts/lib/utils/strokeDasharray.d.ts +3 -0
- package/dist/dts/lib/utils/timezoneFormatter.d.ts +14 -0
- package/dist/dts/lib/utils/zipper.d.ts +4 -0
- package/dist/dts/public-api.d.ts +31 -0
- package/dist/dts/widget/BackfillWorkerFlags.d.ts +12 -0
- package/dist/dts/widget/CanaryRollbackHelper.d.ts +95 -0
- package/dist/dts/widget/CanaryRolloutConfig.d.ts +100 -0
- package/dist/dts/widget/DrawingPriceLabelsOverlay.d.ts +20 -0
- package/dist/dts/widget/ForkDrawingsOverlay.d.ts +16 -0
- package/dist/dts/widget/MeasurementOverlay.d.ts +24 -0
- package/dist/dts/widget/VNInvestCharts.d.ts +5 -0
- package/dist/dts/widget/VNInvestChartsProps.d.ts +302 -0
- package/dist/dts/widget/VNInvestMultiCharts.d.ts +8 -0
- package/dist/dts/widget/VNInvestMultiCharts.types.d.ts +130 -0
- package/dist/dts/widget/WidgetEmptyState.d.ts +11 -0
- package/dist/dts/widget/WidgetErrorBoundary.d.ts +26 -0
- package/dist/dts/widget/adapters/ContinuousFuturesStockDataAdapter.d.ts +18 -0
- package/dist/dts/widget/adapters/DataProviderAdapterWrapper.d.ts +14 -0
- package/dist/dts/widget/adapters/MultiSourceDataAdapter.d.ts +24 -0
- package/dist/dts/widget/adapters/VNInvestClient.d.ts +161 -0
- package/dist/dts/widget/adapters/VNInvestDataAdapter.d.ts +77 -0
- package/dist/dts/widget/adapters/VNInvestWebSocketClient.d.ts +79 -0
- package/dist/dts/widget/adapters/barsPagingPolicy.d.ts +18 -0
- package/dist/dts/widget/adapters/corporateEvents.d.ts +13 -0
- package/dist/dts/widget/adapters/index.d.ts +20 -0
- package/dist/dts/widget/adapters/nativeShapes.d.ts +32 -0
- package/dist/dts/widget/adapters/watchlistRealtimeSync.d.ts +16 -0
- package/dist/dts/widget/alerts/DrawingAlertsHost.d.ts +18 -0
- package/dist/dts/widget/alerts/useDrawingAlerts.d.ts +37 -0
- package/dist/dts/widget/canaryBarFiltering.d.ts +35 -0
- package/dist/dts/widget/capabilities/CapabilityResolver.d.ts +71 -0
- package/dist/dts/widget/capabilities/capabilityProbe.d.ts +28 -0
- package/dist/dts/widget/capabilities/useTierGatedFeatures.d.ts +48 -0
- package/dist/dts/widget/components/BottomPanelHost.d.ts +80 -0
- package/dist/dts/widget/components/BottomPanelSplitter.d.ts +15 -0
- package/dist/dts/widget/components/CapabilityGate.d.ts +65 -0
- package/dist/dts/widget/components/ChartDiagOverlay.d.ts +31 -0
- package/dist/dts/widget/components/ConfirmDialog.d.ts +12 -0
- package/dist/dts/widget/components/DowngradeBanner.d.ts +9 -0
- package/dist/dts/widget/components/ForkPaneSeparators.d.ts +11 -0
- package/dist/dts/widget/components/ForkPaneTooltips.d.ts +23 -0
- package/dist/dts/widget/components/ForkXAxisOverlay.d.ts +11 -0
- package/dist/dts/widget/components/ForkYAxisCrosshairLabels.d.ts +9 -0
- package/dist/dts/widget/components/LayoutDesigner.d.ts +26 -0
- package/dist/dts/widget/components/PremiumFeatureGate.d.ts +10 -0
- package/dist/dts/widget/components/ShortcutHelpModal.d.ts +44 -0
- package/dist/dts/widget/components/SystemMenu.d.ts +66 -0
- package/dist/dts/widget/components/Toast.d.ts +20 -0
- package/dist/dts/widget/components/canvas/BarCountdownBadge.d.ts +8 -0
- package/dist/dts/widget/components/canvas/ChartA11ySummary.d.ts +40 -0
- package/dist/dts/widget/components/canvas/ChartStatusLine.d.ts +39 -0
- package/dist/dts/widget/components/canvas/PricePaneHeader.d.ts +24 -0
- package/dist/dts/widget/components/canvas/PriceScaleMenu.d.ts +27 -0
- package/dist/dts/widget/components/canvas/TimeAxisScrollbar.d.ts +18 -0
- package/dist/dts/widget/components/common/Icons.d.ts +67 -0
- package/dist/dts/widget/components/dock/DataWindow.d.ts +7 -0
- package/dist/dts/widget/components/dock/DockUpgradeNudge.d.ts +10 -0
- package/dist/dts/widget/components/dock/RightSidebarDockHost.d.ts +57 -0
- package/dist/dts/widget/components/dock/WatchlistPanel.d.ts +7 -0
- package/dist/dts/widget/components/dock/WorkspaceRightDockSlot.d.ts +46 -0
- package/dist/dts/widget/components/dock/dockAccess.d.ts +20 -0
- package/dist/dts/widget/components/dock/drawingDockContentBuilders.d.ts +29 -0
- package/dist/dts/widget/components/drawing/DrawingDock.d.ts +47 -0
- package/dist/dts/widget/components/drawing/DrawingInspector.d.ts +94 -0
- package/dist/dts/widget/components/drawing/DrawingListPanel.d.ts +62 -0
- package/dist/dts/widget/components/drawing/DrawingSemanticPointLegend.d.ts +14 -0
- package/dist/dts/widget/components/drawing/FloatingDrawingInspector.d.ts +18 -0
- package/dist/dts/widget/components/drawing/IconPickerPanel.d.ts +5 -0
- package/dist/dts/widget/components/drawing/InlineTextEditor.d.ts +20 -0
- package/dist/dts/widget/components/drawing/PatternScanPanel.d.ts +27 -0
- package/dist/dts/widget/components/drawing/TemplateManagerPanel.d.ts +18 -0
- package/dist/dts/widget/components/events/CorporateEventsOverlay.d.ts +23 -0
- package/dist/dts/widget/components/events/EventMarkerIcon.d.ts +6 -0
- package/dist/dts/widget/components/footer/ChartFooter.d.ts +26 -0
- package/dist/dts/widget/components/footer/MultiChartsFooter.d.ts +37 -0
- package/dist/dts/widget/components/footer/TimeframeFooter.d.ts +25 -0
- package/dist/dts/widget/components/footer/useBarCountdown.d.ts +5 -0
- package/dist/dts/widget/components/header/OHLCHeader.d.ts +72 -0
- package/dist/dts/widget/components/layout/DrawingConflictNotice.d.ts +4 -0
- package/dist/dts/widget/components/layout/GridContainer.d.ts +70 -0
- package/dist/dts/widget/components/layout/GridSlotErrorBoundary.d.ts +17 -0
- package/dist/dts/widget/components/layout/Splitter.d.ts +23 -0
- package/dist/dts/widget/components/layout/gridSplitterMath.d.ts +40 -0
- package/dist/dts/widget/components/layout/useGridSplitterDrag.d.ts +18 -0
- package/dist/dts/widget/components/mobile/MobileChartCarousel.d.ts +11 -0
- package/dist/dts/widget/components/mobile/MobileToolbar.d.ts +29 -0
- package/dist/dts/widget/components/overlays/AdvisoryPanel.d.ts +25 -0
- package/dist/dts/widget/components/overlays/TapePanel.d.ts +25 -0
- package/dist/dts/widget/components/overlays/WhalePanel.d.ts +5 -0
- package/dist/dts/widget/components/panels/AdvisoryPanel.d.ts +25 -0
- package/dist/dts/widget/components/panels/PineEditorPanel.d.ts +18 -0
- package/dist/dts/widget/components/panels/StrategyTesterPanel.d.ts +7 -0
- package/dist/dts/widget/components/panels/TapePanel.d.ts +17 -0
- package/dist/dts/widget/components/panels/index.d.ts +8 -0
- package/dist/dts/widget/components/replay/FloatingReplayToolbar.d.ts +24 -0
- package/dist/dts/widget/components/replay/ReplayCutOverlay.d.ts +8 -0
- package/dist/dts/widget/components/search/SymbolCompareModal.d.ts +24 -0
- package/dist/dts/widget/components/search/SymbolSearchModal.d.ts +12 -0
- package/dist/dts/widget/components/search/VNSymbolSearch.d.ts +83 -0
- package/dist/dts/widget/components/settings/AlertsModal.d.ts +74 -0
- package/dist/dts/widget/components/settings/SettingsContext.d.ts +58 -0
- package/dist/dts/widget/components/settings/SettingsModal.d.ts +78 -0
- package/dist/dts/widget/components/settings/SettingsRangeSlider.d.ts +17 -0
- package/dist/dts/widget/components/settings/SnapshotPreviewModal.d.ts +16 -0
- package/dist/dts/widget/components/settings/WorkspaceSettingsContext.d.ts +27 -0
- package/dist/dts/widget/components/settings/helpers/seriesFormatters.d.ts +11 -0
- package/dist/dts/widget/components/settings/model/appearancePayload.d.ts +31 -0
- package/dist/dts/widget/components/settings/model/chartSettingsSchema.d.ts +100 -0
- package/dist/dts/widget/components/settings/model/defaultSettings.d.ts +5 -0
- package/dist/dts/widget/components/settings/model/indicatorShare.d.ts +29 -0
- package/dist/dts/widget/components/settings/storageKeys.d.ts +29 -0
- package/dist/dts/widget/components/settings/tabs/AppearanceSettingsTab.d.ts +5 -0
- package/dist/dts/widget/components/settings/tabs/IndicatorParamsForm.d.ts +12 -0
- package/dist/dts/widget/components/settings/tabs/IndicatorsSettingsTab.d.ts +34 -0
- package/dist/dts/widget/components/settings/tabs/LicensingSettingsTab.d.ts +5 -0
- package/dist/dts/widget/components/settings/tabs/PanesLayoutSettingsTab.d.ts +11 -0
- package/dist/dts/widget/components/settings/tabs/ResetSettingsTab.d.ts +8 -0
- package/dist/dts/widget/components/settings/tabs/ScalesSettingsTab.d.ts +5 -0
- package/dist/dts/widget/components/settings/tabs/StatusLineSettingsTab.d.ts +5 -0
- package/dist/dts/widget/components/settings/tabs/SymbolSettingsTab.d.ts +5 -0
- package/dist/dts/widget/components/settings/tabs/ThemePaletteSettingsTab.d.ts +9 -0
- package/dist/dts/widget/components/settings/tabs/TradingEventsSettingsTab.d.ts +8 -0
- package/dist/dts/widget/components/toolbar/DrawingToolIcon.d.ts +10 -0
- package/dist/dts/widget/components/toolbar/DrawingToolbar.d.ts +33 -0
- package/dist/dts/widget/components/toolbar/FloatingChartBar.d.ts +20 -0
- package/dist/dts/widget/components/toolbar/FloatingFavoritesBar.d.ts +18 -0
- package/dist/dts/widget/components/toolbar/MultiChartTopbar.d.ts +47 -0
- package/dist/dts/widget/components/toolbar/UnifiedDrawingToolbar.d.ts +28 -0
- package/dist/dts/widget/components/trading/PaperTradePanel.d.ts +41 -0
- package/dist/dts/widget/components/workspace/WorkspaceToolbar.d.ts +25 -0
- package/dist/dts/widget/config/toolGroups.d.ts +11 -0
- package/dist/dts/widget/config/toolShortcuts.d.ts +27 -0
- package/dist/dts/widget/constants/comparison.d.ts +1 -0
- package/dist/dts/widget/constants/symbolSearch.d.ts +14 -0
- package/dist/dts/widget/constants/vn30.d.ts +7 -0
- package/dist/dts/widget/context/DataProviderContext.d.ts +7 -0
- package/dist/dts/widget/context/HoverEmitter.d.ts +50 -0
- package/dist/dts/widget/context/SyncContextShare.d.ts +11 -0
- package/dist/dts/widget/context/VNInvestChartsConfigContext.d.ts +24 -0
- package/dist/dts/widget/context/VNInvestChartsContext.d.ts +70 -0
- package/dist/dts/widget/context/VNInvestChartsStateContext.d.ts +50 -0
- package/dist/dts/widget/context/WidgetI18nContext.d.ts +25 -0
- package/dist/dts/widget/context/WorkspaceLiveTradingContext.d.ts +30 -0
- package/dist/dts/widget/context/WorkspacePaperVisibilityContext.d.ts +23 -0
- package/dist/dts/widget/context/WorkspaceReplayTradingContext.d.ts +36 -0
- package/dist/dts/widget/contexts/SaaSFeatureContext.d.ts +23 -0
- package/dist/dts/widget/data/DataEnvelope.d.ts +100 -0
- package/dist/dts/widget/drawingPriceLabelInputs.d.ts +3 -0
- package/dist/dts/widget/export/chartCsv.d.ts +59 -0
- package/dist/dts/widget/forkAnchorReconciliation.d.ts +6 -0
- package/dist/dts/widget/forkInteractionHelpers.d.ts +69 -0
- package/dist/dts/widget/grid/DeviceProfiles.d.ts +49 -0
- package/dist/dts/widget/grid/GridChartRegistry.d.ts +9 -0
- package/dist/dts/widget/grid/MemoryBudgetManager.d.ts +63 -0
- package/dist/dts/widget/grid/PerformanceMonitor.d.ts +70 -0
- package/dist/dts/widget/grid/customPresets.d.ts +42 -0
- package/dist/dts/widget/grid/presets.d.ts +18 -0
- package/dist/dts/widget/grid/types.d.ts +39 -0
- package/dist/dts/widget/history/BackfillDedupContext.d.ts +63 -0
- package/dist/dts/widget/history/RequestCoordinator.d.ts +59 -0
- package/dist/dts/widget/history/SharedBarStoreContext.d.ts +22 -0
- package/dist/dts/widget/history/cache/IndexedDBCacheMatrix.d.ts +16 -0
- package/dist/dts/widget/history/cache/LocalCacheMatrix.d.ts +86 -0
- package/dist/dts/widget/history/cache/index.d.ts +3 -0
- package/dist/dts/widget/history/chunkStore.d.ts +77 -0
- package/dist/dts/widget/history/externalBarsNormalization.d.ts +9 -0
- package/dist/dts/widget/history/externalBarsNormalization.worker.d.ts +1 -0
- package/dist/dts/widget/history/externalBarsNormalizationAsync.d.ts +25 -0
- package/dist/dts/widget/history/historyDataUtils.d.ts +82 -0
- package/dist/dts/widget/history/historyWindowPlanner.d.ts +89 -0
- package/dist/dts/widget/history/inflightController.d.ts +15 -0
- package/dist/dts/widget/history/requestCoalescing.d.ts +10 -0
- package/dist/dts/widget/history/sessionGuards.d.ts +3 -0
- package/dist/dts/widget/history/singleWriterLane.d.ts +4 -0
- package/dist/dts/widget/history/useExternalBarsNormalization.d.ts +5 -0
- package/dist/dts/widget/hooks/ShortcutManager.d.ts +65 -0
- package/dist/dts/widget/hooks/overlays/PaneHeaderWrapper.d.ts +11 -0
- package/dist/dts/widget/hooks/overlays/overlayHelpers.d.ts +60 -0
- package/dist/dts/widget/hooks/overlays/useDrawingDockNode.d.ts +15 -0
- package/dist/dts/widget/hooks/overlays/useLegendChrome.d.ts +36 -0
- package/dist/dts/widget/hooks/overlays/useMultiSelectActions.d.ts +22 -0
- package/dist/dts/widget/hooks/overlays/useSidebarResize.d.ts +13 -0
- package/dist/dts/widget/hooks/resolveEntitlement.d.ts +73 -0
- package/dist/dts/widget/hooks/useBottomPanelBehavior.d.ts +38 -0
- package/dist/dts/widget/hooks/useBottomPanelHeight.d.ts +39 -0
- package/dist/dts/widget/hooks/useCanvasTheme.d.ts +24 -0
- package/dist/dts/widget/hooks/useChartImperativeHandle.d.ts +57 -0
- package/dist/dts/widget/hooks/useClockAdapter.d.ts +11 -0
- package/dist/dts/widget/hooks/useComparisonState.d.ts +29 -0
- package/dist/dts/widget/hooks/useDialogFocus.d.ts +25 -0
- package/dist/dts/widget/hooks/useDrawingToolShortcuts.d.ts +16 -0
- package/dist/dts/widget/hooks/useFeatureGate.d.ts +28 -0
- package/dist/dts/widget/hooks/useFloatingChartBar.d.ts +33 -0
- package/dist/dts/widget/hooks/useForkRuntime.d.ts +155 -0
- package/dist/dts/widget/hooks/useIndicatorsShareApplier.d.ts +1 -0
- package/dist/dts/widget/hooks/useIntersectionObserver.d.ts +49 -0
- package/dist/dts/widget/hooks/useKeyboardAdapter.d.ts +9 -0
- package/dist/dts/widget/hooks/useLayoutHistory.d.ts +8 -0
- package/dist/dts/widget/hooks/useLicenseDiagnostics.d.ts +15 -0
- package/dist/dts/widget/hooks/useMultiChartReplaySync.d.ts +31 -0
- package/dist/dts/widget/hooks/useMultiWorkspacePersistence.d.ts +49 -0
- package/dist/dts/widget/hooks/usePaperTradeConfig.d.ts +27 -0
- package/dist/dts/widget/hooks/usePaperTradeInteraction.d.ts +27 -0
- package/dist/dts/widget/hooks/usePatTierAuthentication.d.ts +42 -0
- package/dist/dts/widget/hooks/usePineScriptRestore.d.ts +23 -0
- package/dist/dts/widget/hooks/usePortalAdapter.d.ts +8 -0
- package/dist/dts/widget/hooks/useRecentSymbols.d.ts +3 -0
- package/dist/dts/widget/hooks/useReplayState.d.ts +28 -0
- package/dist/dts/widget/hooks/useReplayTrading.d.ts +26 -0
- package/dist/dts/widget/hooks/useResizeAdapter.d.ts +13 -0
- package/dist/dts/widget/hooks/useScaleOverlays.d.ts +62 -0
- package/dist/dts/widget/hooks/useScriptPersistence.d.ts +72 -0
- package/dist/dts/widget/hooks/useSymbolSearch.d.ts +30 -0
- package/dist/dts/widget/hooks/useViewportBreakpoint.d.ts +15 -0
- package/dist/dts/widget/hooks/useWidgetCoordinateBridge.d.ts +70 -0
- package/dist/dts/widget/hooks/useWidgetData.d.ts +138 -0
- package/dist/dts/widget/hooks/useWidgetDataBackfill.d.ts +67 -0
- package/dist/dts/widget/hooks/useWidgetDataEnrichment.d.ts +32 -0
- package/dist/dts/widget/hooks/useWidgetDrawings.d.ts +38 -0
- package/dist/dts/widget/hooks/useWidgetForkInteraction.d.ts +68 -0
- package/dist/dts/widget/hooks/useWidgetInteractionActions.d.ts +36 -0
- package/dist/dts/widget/hooks/useWidgetOverlays.d.ts +190 -0
- package/dist/dts/widget/hooks/useWidgetRuntime.d.ts +20 -0
- package/dist/dts/widget/hooks/useWidgetSettings.d.ts +244 -0
- package/dist/dts/widget/hooks/useWidgetWorkspaceIO.d.ts +24 -0
- package/dist/dts/widget/hooks/useWorkspaceDockPanels.d.ts +11 -0
- package/dist/dts/widget/hooks/useWorkspaceLiveTrading.d.ts +28 -0
- package/dist/dts/widget/hooks/useWorkspaceReplayTrading.d.ts +22 -0
- package/dist/dts/widget/i18n/a11y.messages.en.d.ts +8 -0
- package/dist/dts/widget/i18n/a11y.messages.vi.d.ts +3 -0
- package/dist/dts/widget/i18n/capability.messages.en.d.ts +7 -0
- package/dist/dts/widget/i18n/capability.messages.vi.d.ts +3 -0
- package/dist/dts/widget/i18n/dock.messages.en.d.ts +2 -0
- package/dist/dts/widget/i18n/dock.messages.vi.d.ts +2 -0
- package/dist/dts/widget/i18n/messages.en.d.ts +2 -0
- package/dist/dts/widget/i18n/messages.licensing.d.ts +48 -0
- package/dist/dts/widget/i18n/messages.vi.d.ts +2 -0
- package/dist/dts/widget/i18n/trading.messages.en.d.ts +2 -0
- package/dist/dts/widget/i18n/trading.messages.vi.d.ts +2 -0
- package/dist/dts/widget/i18n/types.d.ts +3 -0
- package/dist/dts/widget/iframe/builtInAdapters.d.ts +63 -0
- package/dist/dts/widget/iframe/host-entry.d.ts +11 -0
- package/dist/dts/widget/iframe/hostSDK.d.ts +151 -0
- package/dist/dts/widget/iframe/iframeBridge.d.ts +165 -0
- package/dist/dts/widget/iframe/iframeEntry.d.ts +52 -0
- package/dist/dts/widget/iframe/iframeFrame.d.ts +15 -0
- package/dist/dts/widget/iframe/iframeQuotes.d.ts +20 -0
- package/dist/dts/widget/iframe/messageProtocol.d.ts +545 -0
- package/dist/dts/widget/iframe/quoteHub.d.ts +20 -0
- package/dist/dts/widget/iframe/useVNInvestChartsHost.d.ts +8 -0
- package/dist/dts/widget/iife-entry.d.ts +61 -0
- package/dist/dts/widget/iifeWidgetInstance.d.ts +60 -0
- package/dist/dts/widget/index.d.ts +56 -0
- package/dist/dts/widget/multiChartDefaults.d.ts +18 -0
- package/dist/dts/widget/paneInteractionUtils.d.ts +25 -0
- package/dist/dts/widget/patterns/autoPatternScan.d.ts +77 -0
- package/dist/dts/widget/patterns/patternDrawingFactory.d.ts +87 -0
- package/dist/dts/widget/plugin/ProPluginRegistry.d.ts +40 -0
- package/dist/dts/widget/runtime/ChartScaleAdapter.d.ts +73 -0
- package/dist/dts/widget/runtime/ChartSerializer.d.ts +12 -0
- package/dist/dts/widget/runtime/ForkRuntimeAdapter.d.ts +19 -0
- package/dist/dts/widget/runtime/IRuntimeEngine.d.ts +40 -0
- package/dist/dts/widget/runtime/WorkspaceSerializer.d.ts +31 -0
- package/dist/dts/widget/runtimePolicy.d.ts +36 -0
- package/dist/dts/widget/styles/injectStyles.d.ts +9 -0
- package/dist/dts/widget/theme/ThemeConfig.d.ts +21 -0
- package/dist/dts/widget/theme/applyTheme.d.ts +3 -0
- package/dist/dts/widget/trading/chart/DraggableOrderHandles.d.ts +15 -0
- package/dist/dts/widget/trading/chart/InteractivePositionOverlay.d.ts +19 -0
- package/dist/dts/widget/trading/chart/PendingOrderOverlay.d.ts +11 -0
- package/dist/dts/widget/trading/chart/QuickTradingHeader.d.ts +20 -0
- package/dist/dts/widget/trading/chart/TradingChartSurface.d.ts +8 -0
- package/dist/dts/widget/trading/chart/TradingOverlaysHost.d.ts +28 -0
- package/dist/dts/widget/trading/chart/priceTicks.d.ts +1 -0
- package/dist/dts/widget/trading/chart/useFloatingDrag.d.ts +40 -0
- package/dist/dts/widget/trading/chart/useTradingHotkeys.d.ts +21 -0
- package/dist/dts/widget/trading/config/paperRuntimeConfig.d.ts +53 -0
- package/dist/dts/widget/trading/context/PaperPanelRegistry.d.ts +45 -0
- package/dist/dts/widget/trading/context/TradingContext.d.ts +80 -0
- package/dist/dts/widget/trading/context/WorkspaceTradingSync.d.ts +24 -0
- package/dist/dts/widget/trading/hooks/usePaperRuntimeConfig.d.ts +36 -0
- package/dist/dts/widget/trading/index.d.ts +5 -0
- package/dist/dts/widget/trading/panel/AccountSummaryTab.d.ts +7 -0
- package/dist/dts/widget/trading/panel/ActiveChartPaperPanel.d.ts +26 -0
- package/dist/dts/widget/trading/panel/ConnectedTradingPanel.d.ts +3 -0
- package/dist/dts/widget/trading/panel/HistoryTab.d.ts +5 -0
- package/dist/dts/widget/trading/panel/MarketFallbackBanner.d.ts +4 -0
- package/dist/dts/widget/trading/panel/OrdersTab.d.ts +8 -0
- package/dist/dts/widget/trading/panel/PaperCapitalDialog.d.ts +8 -0
- package/dist/dts/widget/trading/panel/PaperSettingsModal.d.ts +17 -0
- package/dist/dts/widget/trading/panel/PositionsTab.d.ts +15 -0
- package/dist/dts/widget/trading/panel/TradeHistoryTab.d.ts +5 -0
- package/dist/dts/widget/trading/panel/TradingBottomPanel.d.ts +36 -0
- package/dist/dts/widget/trading/panel/TradingLogTab.d.ts +8 -0
- package/dist/dts/widget/trading/panel/TradingPanelHeader.d.ts +17 -0
- package/dist/dts/widget/trading/panel/csvExport.d.ts +18 -0
- package/dist/dts/widget/trading/ticket/ConnectedTradingDockPanel.d.ts +5 -0
- package/dist/dts/widget/trading/ticket/OrderTicketForm.d.ts +31 -0
- package/dist/dts/widget/trading/ticket/OrderTicketModal.d.ts +29 -0
- package/dist/dts/widget/trading/ticket/RegistryTradingDockPanel.d.ts +9 -0
- package/dist/dts/widget/trading/ticket/RiskCalculatorView.d.ts +9 -0
- package/dist/dts/widget/trading/ticket/TradingDockPanel.d.ts +36 -0
- package/dist/dts/widget/trading/ticket/orderTicketModel.d.ts +49 -0
- package/dist/dts/widget/trading/visibility/paperVisibility.d.ts +38 -0
- package/dist/dts/widget/types/dataProvider.d.ts +8 -0
- package/dist/dts/widget/types/fullChartHandle.d.ts +25 -0
- package/dist/dts/widget/types/saas.d.ts +83 -0
- package/dist/dts/widget/types/symbolSearch.d.ts +9 -0
- package/dist/dts/widget/types/watchlist.d.ts +26 -0
- package/dist/dts/widget/utils/axisHit.d.ts +16 -0
- package/dist/dts/widget/utils/chartRange.d.ts +12 -0
- package/dist/dts/widget/utils/chartTypeOptions.d.ts +38 -0
- package/dist/dts/widget/utils/clickOutside.d.ts +1 -0
- package/dist/dts/widget/utils/coordinateBridge.d.ts +31 -0
- package/dist/dts/widget/utils/crosshairSync.d.ts +50 -0
- package/dist/dts/widget/utils/drawingSync.d.ts +198 -0
- package/dist/dts/widget/utils/enrichedHash.d.ts +15 -0
- package/dist/dts/widget/utils/headerSync.d.ts +12 -0
- package/dist/dts/widget/utils/numberFormat.d.ts +13 -0
- package/dist/dts/widget/utils/paperTradeAdapters.d.ts +11 -0
- package/dist/dts/widget/utils/pineSeriesData.d.ts +71 -0
- package/dist/dts/widget/utils/rangeSync.d.ts +29 -0
- package/dist/dts/widget/utils/telemetry.d.ts +19 -0
- package/dist/dts/widget/utils/widgetEquality.d.ts +57 -0
- package/dist/dts/widget/utils/widgetErrors.d.ts +29 -0
- package/dist/dts/widget/utils/widgetHelpers.d.ts +395 -0
- package/dist/dts/widget/utils/xAxisTickFormatter.d.ts +33 -0
- package/dist/dts/widget/visibleRangeBridge.d.ts +28 -0
- package/dist/dts/widget/visibleRangeDiagnostics.d.ts +10 -0
- package/dist/dts/widget/visibleRangePolicies.d.ts +6 -0
- package/dist/dts/widget/workspace/WorkspaceManager.d.ts +23 -0
- package/dist/dts/widget/workspace/WorkspaceStore.d.ts +85 -0
- package/dist/dts/widget/workspace/types.d.ts +21 -0
- package/dist/externalBarsNormalization.worker.js +108 -0
- package/dist/iframe/index.html +63 -0
- package/dist/iframe/injected.css +6456 -0
- package/dist/iframe/vninvestchart.iframe.css +2 -0
- package/dist/iframe/vninvestchart.iframe.js +945 -0
- package/dist/iframe-host/host-entry.cjs +687 -0
- package/dist/iframe-host/host-entry.d.mts +818 -0
- package/dist/iframe-host/host-entry.d.ts +818 -0
- package/dist/iframe-host/host-entry.js +680 -0
- package/dist/index.cjs +7253 -0
- package/dist/index.css +3390 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +6461 -0
- package/dist/injected.css +6456 -0
- package/dist/rollAlgorithms-2P2ZKKHO.js +2 -0
- package/dist/types/runtime.cjs +8 -0
- package/dist/types/runtime.d.mts +92 -0
- package/dist/types/runtime.d.ts +92 -0
- package/dist/types/runtime.js +5 -0
- package/dist/types/runtime.umd.js +14 -0
- package/dist/vninvestchart.iife.css +2 -0
- package/dist/vninvestchart.iife.js +945 -0
- package/package.json +225 -5
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode } from "react";
|
|
2
|
+
import type { PatTier } from "@vninvestcharts/engine-core";
|
|
3
|
+
import type { ChartLayout, SymbolLinkGroupId, VisibleRangePayload } from "@vninvestcharts/engine-react";
|
|
4
|
+
import type { VNInvestChartsProps } from "./VNInvestCharts";
|
|
5
|
+
import type { ThemeConfig } from "./theme/ThemeConfig";
|
|
6
|
+
import type { CorporateEvent } from "./components/events/CorporateEventsOverlay";
|
|
7
|
+
import type { WatchlistAdapter } from "./types/watchlist";
|
|
8
|
+
import type { DockAdvisoryData, DockTapeData } from "./components/dock/RightSidebarDockHost";
|
|
9
|
+
import type { WidgetChartHandle } from "./utils/widgetHelpers";
|
|
10
|
+
import type { SeriesConfig } from "../lib/core";
|
|
11
|
+
export interface MultiChartConfig {
|
|
12
|
+
id: string;
|
|
13
|
+
symbol: string;
|
|
14
|
+
timeframe: string;
|
|
15
|
+
visibleRange?: VisibleRangePayload;
|
|
16
|
+
symbolLinkGroup?: SymbolLinkGroupId | null;
|
|
17
|
+
engineState?: Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
export interface VNInvestMultiChartsProps {
|
|
20
|
+
layout?: ChartLayout;
|
|
21
|
+
charts?: MultiChartConfig[];
|
|
22
|
+
defaultLayout?: ChartLayout;
|
|
23
|
+
syncVisibleRange?: boolean;
|
|
24
|
+
syncCrosshair?: boolean;
|
|
25
|
+
syncDrawings?: boolean;
|
|
26
|
+
syncSymbolLinks?: boolean;
|
|
27
|
+
syncTimeframe?: boolean;
|
|
28
|
+
syncChartType?: boolean;
|
|
29
|
+
syncReplay?: boolean;
|
|
30
|
+
syncTime?: boolean;
|
|
31
|
+
workspaceId?: string;
|
|
32
|
+
onWorkspaceSave?: (workspaceId: string) => void;
|
|
33
|
+
onWorkspaceLoad?: (workspaceId: string) => void;
|
|
34
|
+
resizeAdapter?: VNInvestChartsProps["resizeAdapter"];
|
|
35
|
+
keyboardAdapter?: VNInvestChartsProps["keyboardAdapter"];
|
|
36
|
+
clockAdapter?: VNInvestChartsProps["clockAdapter"];
|
|
37
|
+
storageAdapter?: VNInvestChartsProps["storageAdapter"];
|
|
38
|
+
portalAdapter?: VNInvestChartsProps["portalAdapter"];
|
|
39
|
+
registryAdapter?: VNInvestChartsProps["registryAdapter"];
|
|
40
|
+
broadcastChannelAdapter?: VNInvestChartsProps["broadcastChannelAdapter"];
|
|
41
|
+
tenantPat?: string;
|
|
42
|
+
/** CS-3: host-pinned offline license, workspace level like tenantPat. */
|
|
43
|
+
licenseKey?: string;
|
|
44
|
+
/** CS-6: host licensing observer, workspace level like tenantPat. */
|
|
45
|
+
onLicenseDiagnostic?: VNInvestChartsProps["onLicenseDiagnostic"];
|
|
46
|
+
client?: VNInvestChartsProps["client"];
|
|
47
|
+
authHandler?: VNInvestChartsProps["authHandler"];
|
|
48
|
+
onTelemetry?: VNInvestChartsProps["onTelemetry"];
|
|
49
|
+
onError?: VNInvestChartsProps["onError"];
|
|
50
|
+
portalRoot?: HTMLElement | null;
|
|
51
|
+
shadowRoot?: ShadowRoot | null;
|
|
52
|
+
crossTabSync?: boolean;
|
|
53
|
+
showWorkspaceToolbar?: boolean;
|
|
54
|
+
showDrawingToolbar?: boolean;
|
|
55
|
+
showBottomPanel?: boolean;
|
|
56
|
+
showSymbolBadges?: boolean;
|
|
57
|
+
quickTimeframes?: string[];
|
|
58
|
+
syncOverrideMap?: Record<string, Record<string, boolean>>;
|
|
59
|
+
onSyncOverrideChange?: (syncOverrideMap: Record<string, Record<string, boolean>>) => void;
|
|
60
|
+
showCorporateEvents?: boolean;
|
|
61
|
+
corporateEvents?: readonly CorporateEvent[];
|
|
62
|
+
showPaperTradePanel?: boolean;
|
|
63
|
+
showTapePanel?: boolean;
|
|
64
|
+
showRightDock?: boolean;
|
|
65
|
+
watchlistAdapter?: WatchlistAdapter;
|
|
66
|
+
dockTierGate?: boolean;
|
|
67
|
+
maxCharts?: number;
|
|
68
|
+
upgradeUrl?: string;
|
|
69
|
+
onTierLimitExceeded?: (info: {
|
|
70
|
+
required: number;
|
|
71
|
+
max: number;
|
|
72
|
+
tier: PatTier | undefined;
|
|
73
|
+
}) => void;
|
|
74
|
+
tape?: DockTapeData;
|
|
75
|
+
advisory?: DockAdvisoryData;
|
|
76
|
+
sizingMode?: "fixed" | "percent";
|
|
77
|
+
riskPercent?: number;
|
|
78
|
+
initialEquity?: number;
|
|
79
|
+
onSizingChange?: (cfg: {
|
|
80
|
+
mode: "fixed" | "percent";
|
|
81
|
+
riskPercent: number;
|
|
82
|
+
initialEquity: number;
|
|
83
|
+
}) => void;
|
|
84
|
+
className?: string;
|
|
85
|
+
style?: CSSProperties;
|
|
86
|
+
children?: ReactNode;
|
|
87
|
+
defaultChartProps?: Partial<VNInvestChartsProps>;
|
|
88
|
+
onLayoutChange?: (layout: ChartLayout) => void;
|
|
89
|
+
onChartAdd?: (chartId: string) => void;
|
|
90
|
+
onChartRemove?: (chartId: string) => void;
|
|
91
|
+
onActiveChartChange?: (chartId: string | null) => void;
|
|
92
|
+
onSyncChange?: (settings: {
|
|
93
|
+
visibleRange?: boolean;
|
|
94
|
+
crosshair?: boolean;
|
|
95
|
+
drawings?: boolean;
|
|
96
|
+
symbolLinks?: boolean;
|
|
97
|
+
timeframe?: boolean;
|
|
98
|
+
chartType?: boolean;
|
|
99
|
+
}) => void;
|
|
100
|
+
renderBottomPanel?: (context: {
|
|
101
|
+
activeChartId: string | null;
|
|
102
|
+
activeChartHandle: WidgetChartHandle | null;
|
|
103
|
+
plotData: any[];
|
|
104
|
+
activeIndicators: any[];
|
|
105
|
+
onAddIndicator?: (config: SeriesConfig) => void;
|
|
106
|
+
}) => ReactNode;
|
|
107
|
+
renderRightPanel?: (context: {
|
|
108
|
+
chartId: string;
|
|
109
|
+
activeChartHandle: any;
|
|
110
|
+
}) => ReactNode;
|
|
111
|
+
}
|
|
112
|
+
export interface VNInvestMultiChartsRef {
|
|
113
|
+
addChart: (config: MultiChartConfig) => void;
|
|
114
|
+
removeChart: (chartId: string) => void;
|
|
115
|
+
getChartHandle: (chartId: string) => WidgetChartHandle | undefined;
|
|
116
|
+
getAllChartHandles: () => WidgetChartHandle[];
|
|
117
|
+
setLayout: (layout: ChartLayout) => void;
|
|
118
|
+
getLayout: () => ChartLayout;
|
|
119
|
+
saveWorkspace: (workspaceId: string) => Promise<void>;
|
|
120
|
+
loadWorkspace: (workspaceId: string) => Promise<void>;
|
|
121
|
+
setSyncVisibleRange: (enabled: boolean) => void;
|
|
122
|
+
setTheme: (config: ThemeConfig) => void;
|
|
123
|
+
setSyncCrosshair: (enabled: boolean) => void;
|
|
124
|
+
setSyncDrawings: (enabled: boolean) => void;
|
|
125
|
+
setSyncSymbolLinks: (enabled: boolean) => void;
|
|
126
|
+
setSyncTimeframe: (enabled: boolean) => void;
|
|
127
|
+
setSyncChartType: (enabled: boolean) => void;
|
|
128
|
+
setActiveChart: (chartId: string | null) => void;
|
|
129
|
+
getActiveChart: () => string | null;
|
|
130
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface WidgetEmptyStateProps {
|
|
2
|
+
loading: boolean;
|
|
3
|
+
error?: Error | null;
|
|
4
|
+
/**
|
|
5
|
+
* UX-05: recovery action. The error copy tells the user to retry, so the
|
|
6
|
+
* state must actually offer one — previously the only way out was reloading
|
|
7
|
+
* the page.
|
|
8
|
+
*/
|
|
9
|
+
onRetry?: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const WidgetEmptyState: import("react").MemoExoticComponent<({ loading, error, onRetry }: WidgetEmptyStateProps) => import("react").JSX.Element>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ContextType, ErrorInfo, ReactNode } from "react";
|
|
2
|
+
import { Component } from "react";
|
|
3
|
+
import { WidgetI18nContext } from "./context/WidgetI18nContext";
|
|
4
|
+
export interface WidgetErrorBoundaryProps {
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
onError?: (error: Error, info: ErrorInfo) => void;
|
|
7
|
+
/** BL-10: called after the user clicks retry (parent may remount content). */
|
|
8
|
+
onRetry?: () => void;
|
|
9
|
+
}
|
|
10
|
+
interface WidgetErrorBoundaryState {
|
|
11
|
+
hasError: boolean;
|
|
12
|
+
error: Error | null;
|
|
13
|
+
}
|
|
14
|
+
export declare class WidgetErrorBoundary extends Component<WidgetErrorBoundaryProps, WidgetErrorBoundaryState> {
|
|
15
|
+
static contextType: import("react").Context<import("./context/WidgetI18nContext").WidgetI18nContextValue>;
|
|
16
|
+
context: ContextType<typeof WidgetI18nContext>;
|
|
17
|
+
state: WidgetErrorBoundaryState;
|
|
18
|
+
static getDerivedStateFromError(error: Error): {
|
|
19
|
+
hasError: boolean;
|
|
20
|
+
error: Error;
|
|
21
|
+
};
|
|
22
|
+
componentDidCatch(error: Error, info: ErrorInfo): void;
|
|
23
|
+
private handleRetry;
|
|
24
|
+
render(): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { StockDataAdapter, Timeframe, Unsubscribe, Trade, OrderbookSnapshot, SymbolInfo } from "../../lib/types/adapter";
|
|
2
|
+
import type { OHLCVBar } from "../../lib/types/ohlcv";
|
|
3
|
+
import type { CoverageFragment, SourceSemanticsDescriptor } from "@vninvestcharts/engine-core";
|
|
4
|
+
export declare class ContinuousFuturesStockDataAdapter implements StockDataAdapter {
|
|
5
|
+
private continuousAdapter;
|
|
6
|
+
private baseAdapter;
|
|
7
|
+
private symbol;
|
|
8
|
+
constructor(symbol: string, baseAdapter: StockDataAdapter);
|
|
9
|
+
fetchBarsInRange(symbol: string, timeframe: Timeframe, from: Date, to: Date, chartId?: string): Promise<readonly OHLCVBar[]>;
|
|
10
|
+
fetchBarsBefore(symbol: string, timeframe: Timeframe, before: Date, limit?: number, chartId?: string): Promise<readonly OHLCVBar[]>;
|
|
11
|
+
subscribeToBar(symbol: string, timeframe: Timeframe, onBar: (bar: OHLCVBar) => void): Unsubscribe;
|
|
12
|
+
subscribeToTrades(symbol: string, onTrade: (trade: Trade) => void): Unsubscribe;
|
|
13
|
+
subscribeToOrderbook(symbol: string, onUpdate: (snapshot: OrderbookSnapshot) => void): Unsubscribe;
|
|
14
|
+
searchSymbols(query: string): Promise<readonly SymbolInfo[]>;
|
|
15
|
+
getSourceSemantics(): SourceSemanticsDescriptor;
|
|
16
|
+
getLastBackfillCoverage?(symbol?: string, timeframe?: Timeframe, chartId?: string): readonly CoverageFragment[] | null;
|
|
17
|
+
getLastRangeCoverage?(symbol?: string, timeframe?: Timeframe, chartId?: string): readonly CoverageFragment[] | null;
|
|
18
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type StockDataAdapter, type OHLCVBar, type SymbolInfo, type Trade, type OrderbookSnapshot } from "../../lib/types/adapter";
|
|
2
|
+
import { type IChartDataProvider } from "../types/dataProvider";
|
|
3
|
+
export declare class DataProviderAdapterWrapper implements StockDataAdapter {
|
|
4
|
+
private provider;
|
|
5
|
+
label: string;
|
|
6
|
+
constructor(provider: IChartDataProvider);
|
|
7
|
+
getSourceSemantics?(): any;
|
|
8
|
+
fetchBarsInRange(symbol: string, timeframe: string, from: Date, to: Date, _chartId?: string): Promise<readonly OHLCVBar[]>;
|
|
9
|
+
fetchBarsBefore(symbol: string, timeframe: string, before: Date, limit?: number, _chartId?: string): Promise<readonly OHLCVBar[]>;
|
|
10
|
+
subscribeToBar(symbol: string, timeframe: string, onBar: (bar: OHLCVBar) => void): () => void;
|
|
11
|
+
subscribeToTrades(_symbol: string, _onTrade: (trade: Trade) => void): () => void;
|
|
12
|
+
subscribeToOrderbook(_symbol: string, _onUpdate: (snapshot: OrderbookSnapshot) => void): () => void;
|
|
13
|
+
searchSymbols(query: string): Promise<readonly SymbolInfo[]>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { StockDataAdapter, OHLCVBar, Timeframe, Trade, OrderbookSnapshot, SymbolInfo, Unsubscribe } from "../../lib/types/adapter";
|
|
2
|
+
import type { CoverageFragment } from "@vninvestcharts/engine-core";
|
|
3
|
+
export interface SourceRoute {
|
|
4
|
+
pattern: RegExp;
|
|
5
|
+
adapter: StockDataAdapter;
|
|
6
|
+
}
|
|
7
|
+
export interface MultiSourceDataAdapterConfig {
|
|
8
|
+
routes: SourceRoute[];
|
|
9
|
+
defaultAdapter: StockDataAdapter;
|
|
10
|
+
}
|
|
11
|
+
export declare class MultiSourceDataAdapter implements StockDataAdapter {
|
|
12
|
+
private readonly config;
|
|
13
|
+
private readonly _cache;
|
|
14
|
+
constructor(config: MultiSourceDataAdapterConfig);
|
|
15
|
+
private _resolve;
|
|
16
|
+
fetchBarsInRange(symbol: string, timeframe: Timeframe, from: Date, to: Date, chartId?: string): Promise<readonly OHLCVBar[]>;
|
|
17
|
+
fetchBarsBefore(symbol: string, timeframe: Timeframe, before: Date, limit?: number, chartId?: string): Promise<readonly OHLCVBar[]>;
|
|
18
|
+
subscribeToBar(symbol: string, timeframe: Timeframe, onBar: (bar: OHLCVBar) => void): Unsubscribe;
|
|
19
|
+
subscribeToTrades(symbol: string, onTrade: (trade: Trade) => void): Unsubscribe;
|
|
20
|
+
subscribeToOrderbook(symbol: string, onUpdate: (snapshot: OrderbookSnapshot) => void): Unsubscribe;
|
|
21
|
+
searchSymbols(query: string): Promise<readonly SymbolInfo[]>;
|
|
22
|
+
getLastBackfillCoverage?(symbol?: string, timeframe?: Timeframe, chartId?: string): readonly CoverageFragment[] | null;
|
|
23
|
+
getLastRangeCoverage?(symbol?: string, timeframe?: Timeframe, chartId?: string): readonly CoverageFragment[] | null;
|
|
24
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WP-02: VNInvestClient — moved from src/demo/dataSources/
|
|
3
|
+
* HTTP client for the VNInvest REST API with PAT Bearer authentication.
|
|
4
|
+
* No React dependency — safe to use in non-component contexts.
|
|
5
|
+
*/
|
|
6
|
+
import type { StockItem, WhaleFeedResponse, RawOHLCVBar, OrderFlowResponse, AdvisorySessionResponse, AdvisorySessionV2, TapeResponse } from "../../lib/types/vninvest";
|
|
7
|
+
import type { AdCampaign } from "../types/saas";
|
|
8
|
+
/** Resolve API base URL (priority: global override → localStorage → current origin → default). */
|
|
9
|
+
export declare function resolveApiBase(): string;
|
|
10
|
+
/** Map of common timeframe aliases to VNInvest canonical formats. */
|
|
11
|
+
export declare const TIMEFRAME_MAP: Record<string, string>;
|
|
12
|
+
/** Response of GET /core/v1/widget/ad — array of eligible campaigns. */
|
|
13
|
+
export interface WidgetAdResponse {
|
|
14
|
+
campaigns: AdCampaign[];
|
|
15
|
+
}
|
|
16
|
+
export interface AuthMeResponse {
|
|
17
|
+
access?: string;
|
|
18
|
+
refresh?: string;
|
|
19
|
+
token?: string;
|
|
20
|
+
token_prefix?: string;
|
|
21
|
+
plan: string;
|
|
22
|
+
active_pat_count: number;
|
|
23
|
+
max_active_pats: number;
|
|
24
|
+
tenant: {
|
|
25
|
+
tenant_id: string;
|
|
26
|
+
tenant_code: string;
|
|
27
|
+
display_name: string;
|
|
28
|
+
plan: string;
|
|
29
|
+
max_active_pats: number;
|
|
30
|
+
status: string;
|
|
31
|
+
features?: string[];
|
|
32
|
+
};
|
|
33
|
+
user: {
|
|
34
|
+
id: number;
|
|
35
|
+
username: string;
|
|
36
|
+
email: string;
|
|
37
|
+
first_name: string;
|
|
38
|
+
last_name: string;
|
|
39
|
+
is_staff: boolean;
|
|
40
|
+
};
|
|
41
|
+
abilities: string[];
|
|
42
|
+
entitlements: Record<string, unknown>;
|
|
43
|
+
}
|
|
44
|
+
/** Parameters for the cursor-paged /bars/ endpoint. */
|
|
45
|
+
export type VNIBarsParams = {
|
|
46
|
+
type: "init";
|
|
47
|
+
symbol: string;
|
|
48
|
+
timeframe: string;
|
|
49
|
+
from?: number;
|
|
50
|
+
to?: number;
|
|
51
|
+
limit?: number;
|
|
52
|
+
} | {
|
|
53
|
+
type: "backward";
|
|
54
|
+
symbol: string;
|
|
55
|
+
timeframe: string;
|
|
56
|
+
before: number;
|
|
57
|
+
limit: number;
|
|
58
|
+
snapshotId?: string;
|
|
59
|
+
};
|
|
60
|
+
/** Response from the cursor-paged /bars/ endpoint. */
|
|
61
|
+
export interface VNIBarsPageResponse {
|
|
62
|
+
bars: RawOHLCVBar[];
|
|
63
|
+
hasMoreBefore: boolean;
|
|
64
|
+
hasMoreAfter: boolean;
|
|
65
|
+
nextBefore: number | null;
|
|
66
|
+
nextAfter: number | null;
|
|
67
|
+
snapshotId: string | null;
|
|
68
|
+
}
|
|
69
|
+
export { BARS_LIMIT_MAX } from "./nativeShapes";
|
|
70
|
+
export type BarsHotWindowTelemetry = {
|
|
71
|
+
cacheHits: number;
|
|
72
|
+
inFlightCollapses: number;
|
|
73
|
+
networkRequests: number;
|
|
74
|
+
lastUpdatedAt: number | null;
|
|
75
|
+
};
|
|
76
|
+
export type BarsHotWindowLoadGateStatus = "healthy" | "warning" | "rollback";
|
|
77
|
+
export type BarsHotWindowLoadGateThresholds = {
|
|
78
|
+
minimumObservedRequests: number;
|
|
79
|
+
healthySavedRequestRatio: number;
|
|
80
|
+
rollbackSavedRequestRatio: number;
|
|
81
|
+
healthyNetworkRequestRatio: number;
|
|
82
|
+
rollbackNetworkRequestRatio: number;
|
|
83
|
+
};
|
|
84
|
+
export type BarsHotWindowLoadGateReport = {
|
|
85
|
+
status: BarsHotWindowLoadGateStatus;
|
|
86
|
+
reasons: readonly string[];
|
|
87
|
+
telemetry: BarsHotWindowTelemetry;
|
|
88
|
+
totalRequests: number;
|
|
89
|
+
cacheHitRatio: number;
|
|
90
|
+
collapseRatio: number;
|
|
91
|
+
networkRequestRatio: number;
|
|
92
|
+
savedRequestRatio: number;
|
|
93
|
+
thresholds: BarsHotWindowLoadGateThresholds;
|
|
94
|
+
};
|
|
95
|
+
export declare const DEFAULT_BARS_HOT_WINDOW_LOAD_GATE_THRESHOLDS: BarsHotWindowLoadGateThresholds;
|
|
96
|
+
export declare function diffBarsHotWindowTelemetry(before: BarsHotWindowTelemetry, after: BarsHotWindowTelemetry): BarsHotWindowTelemetry;
|
|
97
|
+
export declare function evaluateBarsHotWindowLoadGate(telemetry: BarsHotWindowTelemetry, thresholds?: BarsHotWindowLoadGateThresholds): BarsHotWindowLoadGateReport;
|
|
98
|
+
export interface WidgetAuthHandler {
|
|
99
|
+
getToken: () => string | Promise<string>;
|
|
100
|
+
getRefreshToken?: () => string | Promise<string>;
|
|
101
|
+
onTokensUpdated?: (tokens: {
|
|
102
|
+
patToken: string;
|
|
103
|
+
refreshToken?: string;
|
|
104
|
+
}) => void | Promise<void>;
|
|
105
|
+
onAuthError?: (error: Error) => void;
|
|
106
|
+
}
|
|
107
|
+
export declare class VNInvestClient {
|
|
108
|
+
private _pat;
|
|
109
|
+
private _base;
|
|
110
|
+
private _authHandler?;
|
|
111
|
+
constructor(patToken?: string);
|
|
112
|
+
setAuthHandler(handler: WidgetAuthHandler): void;
|
|
113
|
+
setPAT(token: string): void;
|
|
114
|
+
/**
|
|
115
|
+
* Transport-only credential sync. Sets `_pat` WITHOUT touching storage —
|
|
116
|
+
* storage belongs to credentialStore alone. The SaaS context calls this before
|
|
117
|
+
* validation when its resolved credential (tenant > user > env) differs from
|
|
118
|
+
* what this transport carries; otherwise a user-pasted PAT sits in storage
|
|
119
|
+
* while requests go out with a stale or empty token, and the backend 401s with
|
|
120
|
+
* "Authentication credentials were not provided." No-op when equal.
|
|
121
|
+
*/
|
|
122
|
+
syncTransportPat(token: string): void;
|
|
123
|
+
private _notifyPatChanged;
|
|
124
|
+
getPAT(): string;
|
|
125
|
+
setBase(url: string): void;
|
|
126
|
+
getBase(): string;
|
|
127
|
+
hasPAT(): boolean;
|
|
128
|
+
private buildHeaders;
|
|
129
|
+
private _fetch;
|
|
130
|
+
getChart(symbol: string, options?: {
|
|
131
|
+
timeframe?: string;
|
|
132
|
+
days?: number;
|
|
133
|
+
}): Promise<RawOHLCVBar[]>;
|
|
134
|
+
validateMe(): Promise<AuthMeResponse>;
|
|
135
|
+
/** Fetch eligible ad campaigns. Bearer PAT auto-attached; premium → empty list. */
|
|
136
|
+
fetchAd(): Promise<WidgetAdResponse>;
|
|
137
|
+
getBarsPage(params: VNIBarsParams): Promise<VNIBarsPageResponse>;
|
|
138
|
+
static __resetBarsHotWindowCacheForTests(): void;
|
|
139
|
+
static getBarsHotWindowTelemetry(): BarsHotWindowTelemetry;
|
|
140
|
+
static __getBarsHotWindowTelemetryForTests(): BarsHotWindowTelemetry;
|
|
141
|
+
getStocks(query?: string, exchange?: string): Promise<StockItem[]>;
|
|
142
|
+
getWhaleFeed(symbol: string): Promise<WhaleFeedResponse | null>;
|
|
143
|
+
getOrderFlow(symbol: string, window?: "5m" | "15m" | "30m" | "1h"): Promise<OrderFlowResponse | null>;
|
|
144
|
+
/** Shared GET/POST fetch for the native advisory session endpoint. */
|
|
145
|
+
private fetchAdvisorySessionV2;
|
|
146
|
+
/**
|
|
147
|
+
* Follow-up advisory V2: read the native AI advisory session.
|
|
148
|
+
* Returns the session in both empty (`reason: "no_advisory_data"`) and record states;
|
|
149
|
+
* null only on transport/auth failure. Never throws for empty sessions.
|
|
150
|
+
*/
|
|
151
|
+
getAdvisorySessionV2(symbol: string): Promise<AdvisorySessionV2 | null>;
|
|
152
|
+
/**
|
|
153
|
+
* Follow-up advisory V2: trigger a manual refresh (queues generation server-side).
|
|
154
|
+
* Returns the updated session payload; null on transport/auth failure.
|
|
155
|
+
*/
|
|
156
|
+
refreshAdvisorySession(symbol: string): Promise<AdvisorySessionV2 | null>;
|
|
157
|
+
/** @deprecated Legacy POST path 404s on current backends — use getAdvisorySessionV2. */
|
|
158
|
+
getAdvisorySession(symbol: string): Promise<AdvisorySessionResponse | null>;
|
|
159
|
+
getTapeEntries(symbol: string, pageSize?: number): Promise<TapeResponse | null>;
|
|
160
|
+
private _revalidateBarsHotWindow;
|
|
161
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WP-04: VNInvestDataAdapter
|
|
3
|
+
*
|
|
4
|
+
* Implements `StockDataAdapter` interface, wrapping VNInvestClient (REST)
|
|
5
|
+
* and VNInvestWebSocketClient (WebSocket) into a single cohesive adapter.
|
|
6
|
+
*
|
|
7
|
+
* This is the OPTIONAL subpath import — NOT bundled in core IIFE.
|
|
8
|
+
* Usage:
|
|
9
|
+
* import { VNInvestDataAdapter } from '@vninvestcharts/widget/adapters';
|
|
10
|
+
*/
|
|
11
|
+
import type { StockDataAdapter, Unsubscribe, Timeframe, Trade, OrderbookSnapshot, SymbolInfo } from "../../lib/types/adapter";
|
|
12
|
+
import type { OHLCVBar } from "../../lib/types/ohlcv";
|
|
13
|
+
import type { CoverageFragment, SourceSemanticsDescriptor } from "@vninvestcharts/engine-core";
|
|
14
|
+
import { VNInvestClient, type WidgetAuthHandler } from "./VNInvestClient";
|
|
15
|
+
/** Configuration for VNInvestDataAdapter. */
|
|
16
|
+
export interface VNInvestDataAdapterConfig {
|
|
17
|
+
/** Personal Access Token — never hardcoded, always passed by host app. */
|
|
18
|
+
patToken: string;
|
|
19
|
+
/** API base URL. Falls back to resolveApiBase() if not provided. */
|
|
20
|
+
apiBase?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Full-featured data adapter for the VNInvest platform.
|
|
24
|
+
*
|
|
25
|
+
* Implements:
|
|
26
|
+
* - fetchBarsInRange / fetchBarsBefore (cursor-paged /bars/ endpoint)
|
|
27
|
+
* - subscribeToBar (WebSocket ticker_update)
|
|
28
|
+
* - searchSymbols (GET /stocks/)
|
|
29
|
+
*
|
|
30
|
+
* Not implemented (VNInvest does not provide these endpoints):
|
|
31
|
+
* - subscribeToTrades → returns no-op unsubscribe
|
|
32
|
+
* - subscribeToOrderbook → returns no-op unsubscribe
|
|
33
|
+
*/
|
|
34
|
+
export declare class VNInvestDataAdapter implements StockDataAdapter {
|
|
35
|
+
readonly name = "vninvest";
|
|
36
|
+
private client;
|
|
37
|
+
private wsClient;
|
|
38
|
+
private readonly barSubscribers;
|
|
39
|
+
private readonly snapshotIds;
|
|
40
|
+
private readonly lastBackfillCoverageMap;
|
|
41
|
+
private readonly lastRangeCoverageMap;
|
|
42
|
+
constructor(config: VNInvestDataAdapterConfig);
|
|
43
|
+
setAuthHandler(handler: WidgetAuthHandler): void;
|
|
44
|
+
getSourceSemantics(): SourceSemanticsDescriptor;
|
|
45
|
+
private coverageKey;
|
|
46
|
+
getLastBackfillCoverage(symbol?: string, timeframe?: Timeframe, chartId?: string): readonly CoverageFragment[] | null;
|
|
47
|
+
getLastRangeCoverage(symbol?: string, timeframe?: Timeframe, chartId?: string): readonly CoverageFragment[] | null;
|
|
48
|
+
/** Expose the underlying REST client for advanced use cases. */
|
|
49
|
+
get restClient(): VNInvestClient;
|
|
50
|
+
/**
|
|
51
|
+
* Fetch bars in a date range.
|
|
52
|
+
* Uses the cursor-paged /bars/ endpoint with backward pagination.
|
|
53
|
+
*
|
|
54
|
+
* 504-guard: a single wide intraday window (e.g. 90d of 1H) times the server
|
|
55
|
+
* out — each request is capped to MAX_INTRADAY_SPAN_MS and the existing
|
|
56
|
+
* hasMoreAfter/nextAfter loop walks the remainder. Daily+ ranges are unaffected.
|
|
57
|
+
*/
|
|
58
|
+
fetchBarsInRange(symbol: string, timeframe: Timeframe, from: Date, to: Date, chartId?: string, signal?: AbortSignal): Promise<readonly OHLCVBar[]>;
|
|
59
|
+
/**
|
|
60
|
+
* Fetch bars before a given anchor date (backward pagination).
|
|
61
|
+
*/
|
|
62
|
+
fetchBarsBefore(symbol: string, timeframe: Timeframe, before: Date, limit?: number, chartId?: string): Promise<readonly OHLCVBar[]>;
|
|
63
|
+
/**
|
|
64
|
+
* Subscribe to real-time bar updates via WebSocket.
|
|
65
|
+
* Maps ticker_update events to OHLCVBar callbacks.
|
|
66
|
+
*/
|
|
67
|
+
subscribeToBar(symbol: string, timeframe: Timeframe, onBar: (bar: OHLCVBar) => void): Unsubscribe;
|
|
68
|
+
/** Not supported by VNInvest — returns no-op. */
|
|
69
|
+
subscribeToTrades(_symbol: string, _onTrade: (trade: Trade) => void): Unsubscribe;
|
|
70
|
+
/** Not supported by VNInvest — returns no-op. */
|
|
71
|
+
subscribeToOrderbook(_symbol: string, _onUpdate: (snapshot: OrderbookSnapshot) => void): Unsubscribe;
|
|
72
|
+
/** Search symbols via GET /stocks/ endpoint. */
|
|
73
|
+
searchSymbols(query: string): Promise<readonly SymbolInfo[]>;
|
|
74
|
+
/** Clean up: destroy WebSocket connection. */
|
|
75
|
+
destroy(): void;
|
|
76
|
+
private handleTickerUpdate;
|
|
77
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WP-03: VNInvestWebSocketClient — moved from src/demo/dataSources/
|
|
3
|
+
* WebSocket client for the VNInvest Realtime channel.
|
|
4
|
+
*/
|
|
5
|
+
export interface TickerUpdateEvent {
|
|
6
|
+
event_type: "ticker_update";
|
|
7
|
+
symbol: string;
|
|
8
|
+
price: number;
|
|
9
|
+
current_price: number;
|
|
10
|
+
volume: number;
|
|
11
|
+
vwap?: number;
|
|
12
|
+
ts: string;
|
|
13
|
+
last_date?: string;
|
|
14
|
+
stale?: boolean;
|
|
15
|
+
seq?: number;
|
|
16
|
+
rsi_14?: number;
|
|
17
|
+
ma20_dist_pct?: number;
|
|
18
|
+
rvol?: number;
|
|
19
|
+
open_price?: number;
|
|
20
|
+
high_price?: number;
|
|
21
|
+
low_price?: number;
|
|
22
|
+
prev_price?: number | null;
|
|
23
|
+
change_value?: number | null;
|
|
24
|
+
change_pct?: number | null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* BE-02b: unwrap the backend WS envelope (WEBSOCKET_EVENT_CONTRACT.md §2).
|
|
28
|
+
* Server sends `{contract_version, event_type, symbol, ts, seq, source, data:{...}}`;
|
|
29
|
+
* consumers want the inner `data` with envelope `ts`/`seq`/`symbol` backfilled when missing.
|
|
30
|
+
* Non-envelope payloads pass through untouched. Pure function — unit tested.
|
|
31
|
+
*/
|
|
32
|
+
export declare function unwrapWsEnvelope(parsed: Record<string, unknown>): Record<string, unknown>;
|
|
33
|
+
export interface WhaleAlertWSEvent {
|
|
34
|
+
event_type: "whale_alert";
|
|
35
|
+
symbol: string;
|
|
36
|
+
side?: "buy" | "sell";
|
|
37
|
+
value?: number;
|
|
38
|
+
price?: number;
|
|
39
|
+
ts?: string;
|
|
40
|
+
}
|
|
41
|
+
export type VNIWSEvent = TickerUpdateEvent | WhaleAlertWSEvent | {
|
|
42
|
+
event_type: string;
|
|
43
|
+
[key: string]: unknown;
|
|
44
|
+
};
|
|
45
|
+
export declare class VNInvestWebSocketClient {
|
|
46
|
+
private static readonly MAX_RECONNECT_ATTEMPTS;
|
|
47
|
+
private static readonly RECONNECT_DELAY_MS;
|
|
48
|
+
private static readonly WS_PATH_CANDIDATES;
|
|
49
|
+
private ws;
|
|
50
|
+
private readonly pat;
|
|
51
|
+
private readonly apiBase;
|
|
52
|
+
private selectedWsPath;
|
|
53
|
+
private wsUnavailable;
|
|
54
|
+
private wsProbePromise;
|
|
55
|
+
private readonly subscribedSymbols;
|
|
56
|
+
private onTickerUpdateCb;
|
|
57
|
+
private onWhaleAlertCb;
|
|
58
|
+
private reconnectTimer;
|
|
59
|
+
private reconnectAttempts;
|
|
60
|
+
private _isConnected;
|
|
61
|
+
private _destroyed;
|
|
62
|
+
constructor(pat: string, apiBase?: string);
|
|
63
|
+
get isConnected(): boolean;
|
|
64
|
+
get destroyed(): boolean;
|
|
65
|
+
buildWsUrl(path?: string): string;
|
|
66
|
+
private buildHttpProbeUrl;
|
|
67
|
+
private probeWsPath;
|
|
68
|
+
private resolveWsPath;
|
|
69
|
+
connect(): void;
|
|
70
|
+
private openConnection;
|
|
71
|
+
subscribe(symbols: string[]): void;
|
|
72
|
+
unsubscribe(symbols: string[]): void;
|
|
73
|
+
setOnTickerUpdate(cb: ((event: TickerUpdateEvent) => void) | null): void;
|
|
74
|
+
setOnWhaleAlert(cb: ((event: WhaleAlertWSEvent) => void) | null): void;
|
|
75
|
+
destroy(): void;
|
|
76
|
+
private handleRawMessage;
|
|
77
|
+
private scheduleReconnect;
|
|
78
|
+
private sendJson;
|
|
79
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WP-02: Bars paging policy — moved from src/demo/dataSources/
|
|
3
|
+
* Cursor-paged /bars/ endpoint response normalization.
|
|
4
|
+
*/
|
|
5
|
+
import type { RawOHLCVBar } from "../../lib/types/vninvest";
|
|
6
|
+
export interface BarsPagingMeta {
|
|
7
|
+
hasMoreBefore: boolean;
|
|
8
|
+
hasMoreAfter: boolean;
|
|
9
|
+
nextBefore: number | null;
|
|
10
|
+
nextAfter: number | null;
|
|
11
|
+
snapshotId: string | null;
|
|
12
|
+
}
|
|
13
|
+
export declare function normalizeBarsPagingMeta(payload: Record<string, unknown>, bars: readonly RawOHLCVBar[]): BarsPagingMeta;
|
|
14
|
+
export declare function buildBackwardPageRequest(meta: BarsPagingMeta, fallbackBefore: number, limit: number): {
|
|
15
|
+
before: number;
|
|
16
|
+
limit: number;
|
|
17
|
+
snapshotId?: string;
|
|
18
|
+
} | null;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type StockDataAdapter } from "../../lib/types/adapter";
|
|
2
|
+
import { type CorporateEvent } from "../components/events/CorporateEventsOverlay";
|
|
3
|
+
export declare function shouldEnableCorporateEvents(symbol: string): boolean;
|
|
4
|
+
export interface CorporateEventsFetchOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Demo-only escape hatch. Production must leave this false/undefined so a
|
|
7
|
+
* missing or failed adapter returns no events instead of fabricated ones.
|
|
8
|
+
*/
|
|
9
|
+
allowMockEvents?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function fetchCorporateEvents(adapter: StockDataAdapter | undefined | null, symbol: string, from: number, to: number, plotData?: any[], options?: CorporateEventsFetchOptions): Promise<CorporateEvent[]>;
|
|
12
|
+
/** Demo-only fixture. Never render this as production market data. */
|
|
13
|
+
export declare function generateMockEvents(plotData: any[]): CorporateEvent[];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WP-05: Widget adapters index.
|
|
3
|
+
*
|
|
4
|
+
* Optional subpath import — NOT bundled in core IIFE.
|
|
5
|
+
* Usage:
|
|
6
|
+
* import { VNInvestDataAdapter } from '@vninvestcharts/widget/adapters';
|
|
7
|
+
*/
|
|
8
|
+
export { VNInvestClient, resolveApiBase, TIMEFRAME_MAP } from "./VNInvestClient";
|
|
9
|
+
export type { VNIBarsParams, VNIBarsPageResponse, BarsHotWindowTelemetry, BarsHotWindowLoadGateStatus, BarsHotWindowLoadGateThresholds, BarsHotWindowLoadGateReport, } from "./VNInvestClient";
|
|
10
|
+
export { VNInvestWebSocketClient } from "./VNInvestWebSocketClient";
|
|
11
|
+
export type { TickerUpdateEvent, WhaleAlertWSEvent, VNIWSEvent, } from "./VNInvestWebSocketClient";
|
|
12
|
+
export { VNInvestDataAdapter } from "./VNInvestDataAdapter";
|
|
13
|
+
export type { VNInvestDataAdapterConfig } from "./VNInvestDataAdapter";
|
|
14
|
+
export { normalizeBarsPagingMeta, buildBackwardPageRequest } from "./barsPagingPolicy";
|
|
15
|
+
export type { BarsPagingMeta } from "./barsPagingPolicy";
|
|
16
|
+
export { useWatchlistRealtimeSync } from "./watchlistRealtimeSync";
|
|
17
|
+
export type { UseWatchlistRealtimeSyncOptions } from "./watchlistRealtimeSync";
|
|
18
|
+
export { ContinuousFuturesStockDataAdapter } from "./ContinuousFuturesStockDataAdapter";
|
|
19
|
+
export { MultiSourceDataAdapter } from "./MultiSourceDataAdapter";
|
|
20
|
+
export type { MultiSourceDataAdapterConfig, SourceRoute } from "./MultiSourceDataAdapter";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-01/BE-03/BE-04b — Native backend shape mappings (verified live 2026-09-21).
|
|
3
|
+
*
|
|
4
|
+
* The backend serves shapes that differ from the legacy ok-wrapped contracts:
|
|
5
|
+
* bars limit max 1000, tape as {symbol, trades[]}, order-flow without `ok`.
|
|
6
|
+
* This module holds the clamps and mappers so VNInvestClient stays within budget.
|
|
7
|
+
* Only derivable fields are mapped — nothing is fabricated (see mapNativeTape notes).
|
|
8
|
+
*/
|
|
9
|
+
import type { OrderFlowResponse, TapeResponse, WhaleFeedResponse } from "../../lib/types/vninvest";
|
|
10
|
+
/** Backend `_OHLCV_BAR_LIMIT_MAX` — requests above it get HTTP 400 LIMIT_EXCEEDED. */
|
|
11
|
+
export declare const BARS_LIMIT_MAX = 1000;
|
|
12
|
+
/** Clamp any caller-supplied bars limit into the backend-accepted range. */
|
|
13
|
+
export declare function clampBarsLimit(raw: number | undefined): number | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Map the native order-flow shape (no `ok` wrapper) into OrderFlowResponse.
|
|
16
|
+
* Series the backend does not send (cvd_series) stay empty — never fabricated.
|
|
17
|
+
*/
|
|
18
|
+
export declare function mapNativeOrderFlow(obj: Record<string, unknown>, window: string): OrderFlowResponse;
|
|
19
|
+
/**
|
|
20
|
+
* Map the native whale-feed shape ({symbol, alerts[]}, verified live 2026-09-21)
|
|
21
|
+
* into WhaleFeedResponse. Alerts are passed through verbatim (no price/volume on
|
|
22
|
+
* the wire — never coerced into WhaleOrder); orders/summary stay empty-zero so the
|
|
23
|
+
* summary table renders an honest empty state while the alerts list shows data.
|
|
24
|
+
*/
|
|
25
|
+
export declare function mapNativeWhaleFeed(obj: Record<string, unknown>): WhaleFeedResponse;
|
|
26
|
+
/**
|
|
27
|
+
* Map the native tape shape ({symbol, trades:[{time,ts,price,volume,side,match_type}]})
|
|
28
|
+
* into TapeResponse. `value` is derived (price × volume); `id` is client-generated
|
|
29
|
+
* (allowed by TapeEntry docs); `is_whale` defaults false — whale highlighting needs
|
|
30
|
+
* a threshold the mapping layer does not own.
|
|
31
|
+
*/
|
|
32
|
+
export declare function mapNativeTape(obj: Record<string, unknown>): TapeResponse;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { VNInvestWebSocketClient, type TickerUpdateEvent } from "./VNInvestWebSocketClient";
|
|
2
|
+
export interface UseWatchlistRealtimeSyncOptions {
|
|
3
|
+
/** Instance of the VNInvest WebSocket client. */
|
|
4
|
+
wsClient: VNInvestWebSocketClient | null;
|
|
5
|
+
/** Array of symbols to subscribe to in the watchlist/heatmap. */
|
|
6
|
+
symbols: string[];
|
|
7
|
+
/** Optional callback triggered on each state flush with the accumulated updates. */
|
|
8
|
+
onUpdate?: (updatedData: Map<string, TickerUpdateEvent>) => void;
|
|
9
|
+
/** Throttle duration in milliseconds. Defaults to 500ms. */
|
|
10
|
+
throttleMs?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Hook to synchronize a list of symbols in real-time using VNInvestWebSocketClient.
|
|
14
|
+
* Uses throttled state updates to ensure smooth rendering of large watchlists/heatmaps.
|
|
15
|
+
*/
|
|
16
|
+
export declare function useWatchlistRealtimeSync({ wsClient, symbols, onUpdate, throttleMs, }: UseWatchlistRealtimeSyncOptions): Map<string, TickerUpdateEvent>;
|