@luxalgo/vela 0.6.8 → 0.6.9

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.
Files changed (45) hide show
  1. package/dist/{DataProvider-BsQM2WNH.d.cts → DataProvider-8Z95Q-RJ.d.cts} +1 -1
  2. package/dist/{DataProvider-BSLlBpB9.d.ts → DataProvider-DExJrfut.d.ts} +1 -1
  3. package/dist/{chunk-2R7BANEM.js → chunk-62SVGONC.js} +2 -2
  4. package/dist/{chunk-SQETIBFU.js → chunk-6WDDVMBJ.js} +502 -139
  5. package/dist/{chunk-L3I2CCYO.js → chunk-EQCHJZOT.js} +49 -2
  6. package/dist/{chunk-OICPLNU7.js → chunk-FCVIG7JG.js} +188 -2
  7. package/dist/{chunk-N7LGMKCE.js → chunk-STHSKXOR.js} +107 -84
  8. package/dist/{chunk-PN5KWFZ4.js → chunk-WFSZBX3R.js} +2 -2
  9. package/dist/{contributions-Vw-Hm58R.d.cts → contributions-C1U2Krwg.d.cts} +99 -7
  10. package/dist/{contributions-DLLdV9jD.d.ts → contributions-D7PVZO2i.d.ts} +99 -7
  11. package/dist/index.cjs +709 -144
  12. package/dist/index.d.cts +12 -7
  13. package/dist/index.d.ts +12 -7
  14. package/dist/index.js +4 -4
  15. package/dist/{options-BaVTMXaO.d.ts → options-FM0peknS.d.cts} +84 -7
  16. package/dist/{options-BaVTMXaO.d.cts → options-FM0peknS.d.ts} +84 -7
  17. package/dist/{plugin-CC7rBrOY.d.ts → plugin-7bkF32Rk.d.ts} +3 -3
  18. package/dist/{plugin-BnJgjLAy.d.cts → plugin-DfVqBz9p.d.cts} +3 -3
  19. package/dist/plugin.cjs +18 -2
  20. package/dist/plugin.d.cts +4 -4
  21. package/dist/plugin.d.ts +4 -4
  22. package/dist/plugin.js +2 -2
  23. package/dist/providers/binance.d.cts +2 -2
  24. package/dist/providers/binance.d.ts +2 -2
  25. package/dist/providers/coinbase.d.cts +2 -2
  26. package/dist/providers/coinbase.d.ts +2 -2
  27. package/dist/providers/hyperliquid.d.cts +2 -2
  28. package/dist/providers/hyperliquid.d.ts +2 -2
  29. package/dist/{statusline-DqzBqy42.d.cts → statusline-DOPiT6I6.d.cts} +5 -3
  30. package/dist/{statusline-CGkB2EOo.d.ts → statusline-zdF4eZLr.d.ts} +5 -3
  31. package/dist/ui.cjs +201 -4
  32. package/dist/ui.d.cts +89 -2
  33. package/dist/ui.d.ts +89 -2
  34. package/dist/ui.js +3 -3
  35. package/dist/vela.global.js +709 -144
  36. package/dist/vela.global.min.js +93 -44
  37. package/dist/widget.cjs +798 -188
  38. package/dist/widget.d.cts +6 -6
  39. package/dist/widget.d.ts +6 -6
  40. package/dist/widget.js +7 -7
  41. package/dist/workspace.cjs +798 -188
  42. package/dist/workspace.d.cts +16 -6
  43. package/dist/workspace.d.ts +16 -6
  44. package/dist/workspace.js +6 -6
  45. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { t as Millis, ae as InputSchema, ac as IndicatorMeta, P as PriceStyle, O as OHLCV, m as InputValue, k as IndicatorModel, j as MoveTarget, aq as PaneAxis, aD as SeriesSpec, aa as Fill, B as Background, av as PriceLine, a0 as DrawingLine, Y as DrawingBox, $ as DrawingLabel, a4 as DrawingPolyline, a1 as DrawingLinefill, a6 as DrawingTable, g as IndicatorStatus, a as VisibleRange, c as VelaTheme, S as SerializedDrawing, v as DrawingTypeKey, u as SnapMode, a2 as DrawingMode, I as IChartRenderer, R as RendererCapabilities, o as LegendActionView, U as Unsubscribe, C as CrosshairEvent, A as AxisLongPressEvent, r as DataWindowReadout, n as SymbolPickerFn, aR as PaneInfo, a9 as DrawingsOption, D as Drawing, b as VelaOptions, x as AddIndicatorOptions, ap as MarketSwitch, ao as MarketSnapshot, V as VisibleRangePreset, T as ThemeName } from './options-BaVTMXaO.js';
2
- import { S as SymbolInfo, B as BarRange, M as MarketDataFeed, D as DataProvider, P as ProviderInfo, a as SymbolDescriptor, b as ProviderCapabilities } from './DataProvider-BSLlBpB9.js';
1
+ import { u as Millis, af as InputSchema, ad as IndicatorMeta, P as PriceStyle, O as OHLCV, m as InputValue, k as IndicatorModel, j as MoveTarget, ar as PaneAxis, aE as SeriesSpec, ab as Fill, B as Background, aw as PriceLine, a1 as DrawingLine, Z as DrawingBox, a0 as DrawingLabel, a5 as DrawingPolyline, a2 as DrawingLinefill, a7 as DrawingTable, g as IndicatorStatus, a as VisibleRange, c as VelaTheme, S as SerializedDrawing, w as DrawingTypeKey, v as SnapMode, a3 as DrawingMode, I as IChartRenderer, R as RendererCapabilities, o as LegendActionView, p as LegendCalloutView, U as Unsubscribe, C as CrosshairEvent, A as AxisLongPressEvent, s as DataWindowReadout, n as SymbolPickerFn, aS as PaneInfo, aa as DrawingsOption, D as Drawing, b as VelaOptions, y as AddIndicatorOptions, aq as MarketSwitch, ap as MarketSnapshot, V as VisibleRangePreset, T as ThemeName } from './options-FM0peknS.js';
2
+ import { S as SymbolInfo, B as BarRange, M as MarketDataFeed, D as DataProvider, P as ProviderInfo, a as SymbolDescriptor, b as ProviderCapabilities } from './DataProvider-DExJrfut.js';
3
3
 
4
4
  /**
5
5
  * A strategy's broker state at ONE bar — the flat summary a host reads while a script
@@ -92,6 +92,14 @@ interface PreparedScript {
92
92
  /** The language that produced this (the engine's `language`). */
93
93
  language: string;
94
94
  inputs: InputSchema[];
95
+ /**
96
+ * Declaration-property schema (a strategy's `initial_capital`, an indicator's
97
+ * `precision`, …) — the settings dialog renders these on a "Properties" tab.
98
+ * `defval` is the EFFECTIVE default: the value the script declares, else the
99
+ * engine's configured default, else the language's own. Absent ≡ the language
100
+ * has no declaration properties (`capabilities.props` false).
101
+ */
102
+ props?: InputSchema[];
95
103
  meta: IndicatorMeta;
96
104
  /**
97
105
  * Whether the script references a viewport built-in (e.g. Pine
@@ -109,6 +117,9 @@ interface EngineCapabilities {
109
117
  visibleRange: boolean;
110
118
  /** Exposes an inputs schema (drives the renderer's settings dialog). */
111
119
  inputs: boolean;
120
+ /** Exposes a declaration-props schema (`PreparedScript.props`) and honors prop
121
+ * overrides on `execute`/`update`. Absent ≡ false. */
122
+ props?: boolean;
112
123
  }
113
124
  /** Market context an execution needs. Vela owns the bars; this is the metadata. */
114
125
  interface ExecutionMarket {
@@ -145,6 +156,9 @@ interface ExecutionRequest {
145
156
  */
146
157
  fetchSeries?: FetchSeries;
147
158
  inputs?: Record<string, InputValue>;
159
+ /** Declaration-prop overrides, keyed like `PreparedScript.props`. Only meaningful
160
+ * when `capabilities.props`; other engines ignore it. */
161
+ props?: Record<string, InputValue>;
148
162
  visibleRange?: VisibleBarRange;
149
163
  mode: 'static' | 'live';
150
164
  /**
@@ -221,8 +235,10 @@ interface ExecutionSession {
221
235
  getContext?(select?: ContextSelect): Promise<EngineContextSnapshot | null>;
222
236
  /** Tear down (stops any streaming / incremental re-execution). */
223
237
  stop(): void;
224
- /** Re-run / re-stream with merged input overrides. */
225
- update(inputs: Record<string, InputValue>): void;
238
+ /** Re-run / re-stream with merged input overrides. `props` (when given) merges
239
+ * declaration-prop overrides the same way — a props-capable engine re-runs with
240
+ * both applied; others may ignore the second argument. */
241
+ update(inputs: Record<string, InputValue>, props?: Record<string, InputValue>): void;
226
242
  /** Update the viewport window (re-runs viewport-dependent scripts; no-op otherwise). */
227
243
  setVisibleRange(range: VisibleBarRange): void;
228
244
  /** Signal that Vela's bars changed. No reason = live tick; see {@link BarsChangeReason}. */
@@ -272,10 +288,18 @@ interface IndicatorHandle {
272
288
  readonly source?: string;
273
289
  /** Inputs parsed from the Pine source (populated once the script is prepared). */
274
290
  readonly inputs: readonly InputSchema[];
291
+ /** Declaration-props schema (a strategy's `initial_capital`, an indicator's
292
+ * `precision`, …; populated once the script is prepared). Empty when the
293
+ * engine exposes none. */
294
+ readonly props: readonly InputSchema[];
275
295
  /** Whether the indicator is currently shown (vs hidden). Hidden indicators stop computing. */
276
296
  readonly visible: boolean;
277
297
  setInput(key: string, value: InputValue): void;
278
298
  setInputs(values: Record<string, InputValue>): void;
299
+ /** Override one declaration prop and re-run (a prop change replays the whole script). */
300
+ setProp(key: string, value: InputValue): void;
301
+ /** Override several declaration props at once and re-run. */
302
+ setProps(values: Record<string, InputValue>): void;
279
303
  /**
280
304
  * Hide or show the indicator. Hiding **suspends** it — its visuals are dropped (the legend
281
305
  * row stays, marked hidden) and its computation stops (the engine session is torn down), so a
@@ -459,8 +483,8 @@ interface NativeIndicatorDescriptor {
459
483
  /** Full display name (picker, settings header, handle title). */
460
484
  readonly title: string;
461
485
  /**
462
- * Compact name for the on-chart legend chip. Absent {@link title}. The picker and
463
- * settings dialog keep the full title either way.
486
+ * Compact name for the on-chart legend chip and the settings-dialog header.
487
+ * Absent {@link title}. The picker keeps the full title either way.
464
488
  */
465
489
  readonly shortTitle?: string;
466
490
  readonly paneHint: 'price' | 'new';
@@ -800,6 +824,8 @@ interface IndicatorSummary {
800
824
  barColors: number;
801
825
  trades: number;
802
826
  inputs: number;
827
+ /** Elements flagged `force_overlay` (routed to the price pane), across every kind. */
828
+ forcedOverlay: number;
803
829
  }
804
830
  /** A snapshot of everything the Vela core has generated for the mounted indicators. */
805
831
  interface SceneInspection {
@@ -819,6 +845,7 @@ interface SceneInspection {
819
845
  tables: number;
820
846
  barColors: number;
821
847
  trades: number;
848
+ forcedOverlay: number;
822
849
  };
823
850
  }
824
851
 
@@ -853,6 +880,13 @@ declare class RendererControl {
853
880
  * degradation as the sync ghost crosshair.
854
881
  */
855
882
  setLegendActions(provider: ((indicatorId: string) => LegendActionView[]) | null): void;
883
+ /**
884
+ * Wire the legend rows' HOST-CONTRIBUTED callout bubbles (the shells route the
885
+ * plugin registry through this; see `registerLegendCallout`). Silent on a renderer
886
+ * without the seam — contributed callouts simply never show there, same graceful
887
+ * degradation as {@link setLegendActions}.
888
+ */
889
+ setLegendCallouts(provider: ((indicatorId: string) => LegendCalloutView[]) | null): void;
856
890
  /**
857
891
  * Replace the indicator legend's fold toggle with a host action (or restore it with
858
892
  * `null`) — multi-chart shells point the chip at their indicator overview instead of
@@ -1648,6 +1682,64 @@ declare function registerLegendAction(desc: LegendActionDescriptor): () => void;
1648
1682
  declare function unregisterLegendAction(id: string): void;
1649
1683
  /** Every registered legend action, `order`-sorted (registration order breaks ties). */
1650
1684
  declare function legendActions(): LegendActionDescriptor[];
1685
+ /** One block of a legend callout's deployed panel, descriptor-side: plain text, or a
1686
+ * button whose `run` receives the shell's {@link WidgetContext} and the row's
1687
+ * indicator — the same signature as a legend action's `run`. */
1688
+ type LegendCalloutItem = {
1689
+ type: 'text';
1690
+ text: string;
1691
+ } | {
1692
+ type: 'button';
1693
+ label: string;
1694
+ /** Emphasized (selection-colored) button — the panel's main action. */
1695
+ primary?: boolean;
1696
+ /** Close the panel after `run` (default true). */
1697
+ close?: boolean;
1698
+ run(ctx: WidgetContext, indicator: LegendIndicatorInfo): void;
1699
+ };
1700
+ /** The panel a clickable callout deploys: an optional heading over ordered blocks. */
1701
+ interface LegendCalloutContent {
1702
+ title?: string;
1703
+ items: LegendCalloutItem[];
1704
+ }
1705
+ /** A callout's resolved presentation for one row — what {@link LegendCalloutDescriptor.callout} returns. */
1706
+ interface LegendCalloutSpec {
1707
+ /** Icon id from the `vela/ui` icon registry (register yours with `registerIcon`). */
1708
+ icon: string;
1709
+ /** Bubble fill — any CSS color (`color-mix` token washes match the built-in badges). */
1710
+ background: string;
1711
+ /** Icon ink (default: the legend row's text color). */
1712
+ color?: string;
1713
+ /** Hover text; also the bubble's accessible name. */
1714
+ tooltip: string;
1715
+ /** Deployed panel — presence makes the bubble clickable. */
1716
+ content?: LegendCalloutContent;
1717
+ }
1718
+ /**
1719
+ * A contributed LEGEND CALLOUT: a small tinted bubble with a centered icon, always
1720
+ * visible right of the indicator's legend title (trailing the whole row while its
1721
+ * hover controls are out). When the spec carries `content`, clicking the bubble
1722
+ * deploys that panel — below it, flipping above near the bottom screen edge.
1723
+ *
1724
+ * Unlike a legend action's static icon, a callout's whole presentation is resolved
1725
+ * per row through `callout` — return `null` to show none (the per-indicator gate),
1726
+ * or a spec whose icon/tint/panel follow your own state (a market-status bubble
1727
+ * changes dress as sessions roll). Late state changes re-project through the shells'
1728
+ * `refreshActions()`, like every contribution.
1729
+ */
1730
+ interface LegendCalloutDescriptor {
1731
+ /** Stable id — re-registering an id replaces it. */
1732
+ id: string;
1733
+ /** Sort key within the contributed group (ascending; default 0). */
1734
+ order?: number;
1735
+ /** Resolve the row's bubble — `null`/`undefined` shows none. */
1736
+ callout(indicator: LegendIndicatorInfo): LegendCalloutSpec | null | undefined;
1737
+ }
1738
+ /** Register (or replace) a legend callout. Returns an unregister disposer. */
1739
+ declare function registerLegendCallout(desc: LegendCalloutDescriptor): () => void;
1740
+ declare function unregisterLegendCallout(id: string): void;
1741
+ /** Every registered legend callout, `order`-sorted (registration order breaks ties). */
1742
+ declare function legendCallouts(): LegendCalloutDescriptor[];
1651
1743
  /**
1652
1744
  * The surface a `scope: 'cell'` persistence handler works against — bound to ONE cell
1653
1745
  * (never the active one by proxy), because serialize/restore run per cell, including
@@ -1742,4 +1834,4 @@ declare function unregisterDefaultEngine(language: string): void;
1742
1834
  * language. The shell layers (widget, workspace cell) register exactly this result. */
1743
1835
  declare function resolveEngines(overrides?: Record<string, EngineFactory>): Record<string, EngineFactory>;
1744
1836
 
1745
- export { type WidgetActionDescriptor as $, type SidePanelButton as A, type BarsChangeReason as B, type CellStateContext as C, type DrawingsDocument as D, type ExternalIndicatorEntry as E, type FetchSeries as F, type SidePanelDescriptor as G, type SidePanelHandle as H, type IndicatorHandle as I, type SidePanelHeader as J, type StatePersistenceHandler as K, type LegendActionDescriptor as L, type StrategyFill as M, type NativeIndicator as N, OVERRIDABLE_TOPBAR_IDS as O, type ParsedSymbol as P, type StrategyState as Q, type Resolved as R, type ScriptingEngine as S, type StrategyTrade as T, type SymbolRankingHook as U, Vela as V, type WidgetContext as W, TypedEventBus as X, type VelaDeps as Y, type VelaEventMap as Z, type VisibleBarRange as _, type ScriptRun as a, type WidgetActionTarget as a0, type WidgetAttachment as a1, getNativeIndicator as a2, legendActions as a3, nativeIndicatorDescriptors as a4, nativeIndicatorTypes as a5, registerDefaultEngine as a6, registerLegendAction as a7, registerNativeIndicator as a8, registerSidePanel as a9, registerStatePersistence as aa, registerSymbolRanking as ab, registerWidgetAction as ac, registerWidgetAttachment as ad, resolveEngines as ae, sidePanels as af, statePersistenceHandlers as ag, symbolRanking as ah, topbarActionOverride as ai, unregisterDefaultEngine as aj, unregisterLegendAction as ak, unregisterNativeIndicator as al, unregisterSidePanel as am, unregisterStatePersistence as an, unregisterWidgetAction as ao, unregisterWidgetAttachment as ap, widgetActions as aq, widgetAttachments as ar, DEFAULT_PANEL_ORDER as as, type ContextSelect as b, DataControl as c, DrawingsControl as d, type EngineAlert as e, type EngineCapabilities as f, type EngineContextSnapshot as g, type EngineFactory as h, type EngineWarning as i, type ExecutionHandlers as j, type ExecutionMarket as k, type ExecutionRequest as l, type ExecutionSession as m, type IndicatorEventMap as n, type IndicatorSummary as o, type LegendIndicatorInfo as p, type NativeIndicatorContext as q, type NativeIndicatorDescriptor as r, type NativeIndicatorInfo as s, type NativeIndicatorOutput as t, type PreparedScript as u, RendererControl as v, type RunIndicatorResult as w, type SceneInspection as x, type ScriptRunCause as y, type ScriptRunResult as z };
1837
+ export { TypedEventBus as $, type RunIndicatorResult as A, type BarsChangeReason as B, type CellStateContext as C, type DrawingsDocument as D, type ExternalIndicatorEntry as E, type FetchSeries as F, type SceneInspection as G, type ScriptRunCause as H, type IndicatorHandle as I, type ScriptRunResult as J, type SidePanelButton as K, type LegendActionDescriptor as L, type SidePanelDescriptor as M, type NativeIndicator as N, OVERRIDABLE_TOPBAR_IDS as O, type ParsedSymbol as P, type SidePanelHandle as Q, type Resolved as R, type ScriptingEngine as S, type SidePanelHeader as T, type StatePersistenceHandler as U, Vela as V, type WidgetContext as W, type StrategyFill as X, type StrategyState as Y, type StrategyTrade as Z, type SymbolRankingHook as _, type ScriptRun as a, type VelaDeps as a0, type VelaEventMap as a1, type VisibleBarRange as a2, type WidgetActionDescriptor as a3, type WidgetActionTarget as a4, type WidgetAttachment as a5, getNativeIndicator as a6, legendActions as a7, legendCallouts as a8, nativeIndicatorDescriptors as a9, nativeIndicatorTypes as aa, registerDefaultEngine as ab, registerLegendAction as ac, registerLegendCallout as ad, registerNativeIndicator as ae, registerSidePanel as af, registerStatePersistence as ag, registerSymbolRanking as ah, registerWidgetAction as ai, registerWidgetAttachment as aj, resolveEngines as ak, sidePanels as al, statePersistenceHandlers as am, symbolRanking as an, topbarActionOverride as ao, unregisterDefaultEngine as ap, unregisterLegendAction as aq, unregisterLegendCallout as ar, unregisterNativeIndicator as as, unregisterSidePanel as at, unregisterStatePersistence as au, unregisterWidgetAction as av, unregisterWidgetAttachment as aw, widgetActions as ax, widgetAttachments as ay, DEFAULT_PANEL_ORDER as az, type ContextSelect as b, DataControl as c, DrawingsControl as d, type EngineAlert as e, type EngineCapabilities as f, type EngineContextSnapshot as g, type EngineFactory as h, type EngineWarning as i, type ExecutionHandlers as j, type ExecutionMarket as k, type ExecutionRequest as l, type ExecutionSession as m, type IndicatorEventMap as n, type IndicatorSummary as o, type LegendCalloutContent as p, type LegendCalloutDescriptor as q, type LegendCalloutItem as r, type LegendCalloutSpec as s, type LegendIndicatorInfo as t, type NativeIndicatorContext as u, type NativeIndicatorDescriptor as v, type NativeIndicatorInfo as w, type NativeIndicatorOutput as x, type PreparedScript as y, RendererControl as z };