@forgecharts/sdk 1.2.3 → 1.2.5
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/dist/Omne-YBWT34SS.png +0 -0
- package/dist/Rithmic-CDB4YQEZ.png +0 -0
- package/dist/api/DrawingManager.d.ts +1 -1
- package/dist/api/DrawingManager.d.ts.map +1 -1
- package/dist/api/IndicatorDAG.d.ts +22 -0
- package/dist/api/IndicatorDAG.d.ts.map +1 -1
- package/dist/api/IndicatorRegistry.d.ts +6 -0
- package/dist/api/IndicatorRegistry.d.ts.map +1 -1
- package/dist/api/LayoutManager.d.ts +1 -0
- package/dist/api/LayoutManager.d.ts.map +1 -1
- package/dist/api/TChart.d.ts +30 -1
- package/dist/api/TChart.d.ts.map +1 -1
- package/dist/core/Chart.d.ts +8 -0
- package/dist/core/Chart.d.ts.map +1 -1
- package/dist/core/IndicatorEngine.d.ts +15 -0
- package/dist/core/IndicatorEngine.d.ts.map +1 -1
- package/dist/core/InteractionManager.d.ts +19 -0
- package/dist/core/InteractionManager.d.ts.map +1 -1
- package/dist/core/Series.d.ts.map +1 -1
- package/dist/core/indicatorStyles.d.ts +37 -0
- package/dist/core/indicatorStyles.d.ts.map +1 -0
- package/dist/datafeed/DatafeedConnector.d.ts +23 -0
- package/dist/datafeed/DatafeedConnector.d.ts.map +1 -1
- package/dist/engine/CandleEngine.d.ts +2 -0
- package/dist/engine/CandleEngine.d.ts.map +1 -1
- package/dist/forgecharts.css +123 -53
- package/dist/forgescript/runtime.d.ts +6 -0
- package/dist/forgescript/runtime.d.ts.map +1 -1
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8452 -332
- package/dist/index.js.map +1 -1
- package/dist/internal.js +8453 -333
- package/dist/internal.js.map +1 -1
- package/dist/licensing/ChartRuntimeResolver.d.ts +134 -124
- package/dist/licensing/ChartRuntimeResolver.d.ts.map +1 -1
- package/dist/licensing/LicenseManager.d.ts.map +1 -1
- package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts +2 -0
- package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts.map +1 -1
- package/dist/licensing/licenseTypes.d.ts +56 -16
- package/dist/licensing/licenseTypes.d.ts.map +1 -1
- package/dist/node.d.ts +57 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/pixi/PixiCandlestickRenderer.d.ts +14 -0
- package/dist/pixi/PixiCandlestickRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiChart.d.ts +8 -0
- package/dist/pixi/PixiChart.d.ts.map +1 -1
- package/dist/pixi/PixiCrosshairRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiDrawingRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiGridRenderer.d.ts +2 -0
- package/dist/pixi/PixiGridRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiIndicatorRenderer.d.ts +4 -0
- package/dist/pixi/PixiIndicatorRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiTradingRenderer.d.ts +54 -0
- package/dist/pixi/PixiTradingRenderer.d.ts.map +1 -1
- package/dist/pixi/snap.d.ts +38 -0
- package/dist/pixi/snap.d.ts.map +1 -0
- package/dist/react/agent/AgentFAB.d.ts +2 -1
- package/dist/react/agent/AgentFAB.d.ts.map +1 -1
- package/dist/react/agent/AgentProvider.d.ts +1 -1
- package/dist/react/agent/AgentProvider.d.ts.map +1 -1
- package/dist/react/agent/AgentUIBus.d.ts +7 -0
- package/dist/react/agent/AgentUIBus.d.ts.map +1 -1
- package/dist/react/agent/AssistantPanel.d.ts +2 -1
- package/dist/react/agent/AssistantPanel.d.ts.map +1 -1
- package/dist/react/agent/CommandDispatcher.d.ts +6 -2
- package/dist/react/agent/CommandDispatcher.d.ts.map +1 -1
- package/dist/react/agent/contractUtils.d.ts +31 -0
- package/dist/react/agent/contractUtils.d.ts.map +1 -0
- package/dist/react/agent/useAgent.d.ts +2 -2
- package/dist/react/agent/useAgent.d.ts.map +1 -1
- package/dist/react/canvas/ChartCanvas.d.ts +10 -0
- package/dist/react/canvas/ChartCanvas.d.ts.map +1 -1
- package/dist/react/canvas/ChartContextMenu.d.ts +1 -1
- package/dist/react/canvas/ChartContextMenu.d.ts.map +1 -1
- package/dist/react/canvas/ChartSettingsDialog.d.ts +1 -1
- package/dist/react/canvas/ChartSettingsDialog.d.ts.map +1 -1
- package/dist/react/canvas/ContractSwitchDialog.d.ts +1 -1
- package/dist/react/canvas/ContractSwitchDialog.d.ts.map +1 -1
- package/dist/react/canvas/DrawingPropertiesDialog.d.ts +1 -1
- package/dist/react/canvas/DrawingPropertiesDialog.d.ts.map +1 -1
- package/dist/react/canvas/IndicatorLabel.d.ts +11 -3
- package/dist/react/canvas/IndicatorLabel.d.ts.map +1 -1
- package/dist/react/canvas/IndicatorPane.d.ts +1 -1
- package/dist/react/canvas/IndicatorPane.d.ts.map +1 -1
- package/dist/react/canvas/PositionPropertiesDialog.d.ts +1 -1
- package/dist/react/canvas/PositionPropertiesDialog.d.ts.map +1 -1
- package/dist/react/canvas/TableOverlay.d.ts +1 -1
- package/dist/react/canvas/TableOverlay.d.ts.map +1 -1
- package/dist/react/canvas/toolbars/LeftToolbar.d.ts +4 -2
- package/dist/react/canvas/toolbars/LeftToolbar.d.ts.map +1 -1
- package/dist/react/hooks/useChartCapabilities.d.ts.map +1 -1
- package/dist/react/index.js +4268 -730
- package/dist/react/index.js.map +1 -1
- package/dist/react/internal.js +5758 -1177
- package/dist/react/internal.js.map +1 -1
- package/dist/react/shell/DatasetImportPanel.d.ts +13 -1
- package/dist/react/shell/DatasetImportPanel.d.ts.map +1 -1
- package/dist/react/shell/DatasetManagerDrawer.d.ts +11 -1
- package/dist/react/shell/DatasetManagerDrawer.d.ts.map +1 -1
- package/dist/react/shell/DepthOfMarketPanel.d.ts +18 -0
- package/dist/react/shell/DepthOfMarketPanel.d.ts.map +1 -0
- package/dist/react/shell/DocsEditor.d.ts +8 -1
- package/dist/react/shell/DocsEditor.d.ts.map +1 -1
- package/dist/react/shell/ManagedAppShell.d.ts.map +1 -1
- package/dist/react/shell/OrderEntryPanel.d.ts +16 -1
- package/dist/react/shell/OrderEntryPanel.d.ts.map +1 -1
- package/dist/react/shell/ScriptDrawer.d.ts +7 -1
- package/dist/react/shell/ScriptDrawer.d.ts.map +1 -1
- package/dist/react/shell/ScriptSettings.d.ts +7 -1
- package/dist/react/shell/ScriptSettings.d.ts.map +1 -1
- package/dist/react/shell/TradeDrawer.d.ts +8 -1
- package/dist/react/shell/TradeDrawer.d.ts.map +1 -1
- package/dist/react/shell/WatchlistDrawer.d.ts +2 -1
- package/dist/react/shell/WatchlistDrawer.d.ts.map +1 -1
- package/dist/react/shell/useDepthSubscription.d.ts +12 -0
- package/dist/react/shell/useDepthSubscription.d.ts.map +1 -0
- package/dist/react/shell/useWatchlistQuotes.d.ts +6 -0
- package/dist/react/shell/useWatchlistQuotes.d.ts.map +1 -1
- package/dist/react/workspace/BottomTradingPanel.d.ts +4 -1
- package/dist/react/workspace/BottomTradingPanel.d.ts.map +1 -1
- package/dist/react/workspace/ChartWorkspace.d.ts +30 -1
- package/dist/react/workspace/ChartWorkspace.d.ts.map +1 -1
- package/dist/react/workspace/FloatingPanel.d.ts +1 -1
- package/dist/react/workspace/FloatingPanel.d.ts.map +1 -1
- package/dist/react/workspace/GridChartContainer.d.ts +40 -0
- package/dist/react/workspace/GridChartContainer.d.ts.map +1 -0
- package/dist/react/workspace/GridSyncContext.d.ts +32 -0
- package/dist/react/workspace/GridSyncContext.d.ts.map +1 -0
- package/dist/react/workspace/GridTemplates.d.ts +16 -0
- package/dist/react/workspace/GridTemplates.d.ts.map +1 -0
- package/dist/react/workspace/IndicatorsDialog.d.ts +1 -1
- package/dist/react/workspace/IndicatorsDialog.d.ts.map +1 -1
- package/dist/react/workspace/LayoutMenu.d.ts +1 -1
- package/dist/react/workspace/LayoutMenu.d.ts.map +1 -1
- package/dist/react/workspace/LayoutTemplateSelector.d.ts +16 -0
- package/dist/react/workspace/LayoutTemplateSelector.d.ts.map +1 -0
- package/dist/react/workspace/SymbolSearchDialog.d.ts +1 -1
- package/dist/react/workspace/SymbolSearchDialog.d.ts.map +1 -1
- package/dist/react/workspace/TabBar.d.ts +4 -1
- package/dist/react/workspace/TabBar.d.ts.map +1 -1
- package/dist/react/workspace/toolbars/BottomToolbar.d.ts +5 -1
- package/dist/react/workspace/toolbars/BottomToolbar.d.ts.map +1 -1
- package/dist/react/workspace/toolbars/RightToolbar.d.ts +6 -1
- package/dist/react/workspace/toolbars/RightToolbar.d.ts.map +1 -1
- package/dist/react/workspace/toolbars/TopToolbar.d.ts +17 -2
- package/dist/react/workspace/toolbars/TopToolbar.d.ts.map +1 -1
- package/dist/services/BarPrefetchCache.d.ts +39 -0
- package/dist/services/BarPrefetchCache.d.ts.map +1 -0
- package/dist/types/ChartBackend.d.ts +6 -0
- package/dist/types/ChartBackend.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -6,36 +6,21 @@
|
|
|
6
6
|
* never passed in by chart config, ensuring clients cannot bypass the
|
|
7
7
|
* license-driven mode selection.
|
|
8
8
|
*
|
|
9
|
+
* Capability resolution (post-v2 platform features):
|
|
10
|
+
* 1. Mode gate — trading features require managed mode.
|
|
11
|
+
* 2. Feature flag — the license payload's `features` map gates granular access.
|
|
12
|
+
* 3. Default — omitted flags fall back to mode-based convention:
|
|
13
|
+
* managed → all features default true
|
|
14
|
+
* unmanaged → trading features default false, everything else true
|
|
15
|
+
*
|
|
16
|
+
* The tier concept is deprecated — mode + features is the canonical resolution path.
|
|
17
|
+
*
|
|
9
18
|
* Usage:
|
|
10
19
|
* import { ChartRuntimeResolver } from '@forgecharts/sdk';
|
|
11
20
|
* const resolver = ChartRuntimeResolver.getInstance();
|
|
12
|
-
*
|
|
13
|
-
* resolver.
|
|
14
|
-
* resolver.
|
|
15
|
-
* resolver.canUseOrderEntry() // built-in order entry UI
|
|
16
|
-
* resolver.canUseExternalIngestion() // external data ingestion APIs
|
|
17
|
-
* resolver.canRenderOverlays() // overlay rendering
|
|
18
|
-
* resolver.canUseIndicators() // indicator panel
|
|
19
|
-
* resolver.canUseManagedTrading() // managed broker / execution hooks
|
|
20
|
-
* resolver.canUseDraggableOrders() // drag-to-price order placement
|
|
21
|
-
* resolver.canUseBracketOrders() // bracket / OCO order support
|
|
22
|
-
*
|
|
23
|
-
* Capability matrix
|
|
24
|
-
* ─────────────────────────────────────────────────────
|
|
25
|
-
* Capability unmanaged managed
|
|
26
|
-
* ─────────────────────────────────────────────────────
|
|
27
|
-
* externalIngestion ✓ ✗ (managed feed owns data)
|
|
28
|
-
* overlays ✓ ✓ (both modes render overlays)
|
|
29
|
-
* indicators ✓ ✓
|
|
30
|
-
* orderEntry ✗ ✓ (requires managed license)
|
|
31
|
-
* managedTrading ✗ ✓
|
|
32
|
-
* draggableOrders ✗ ✓
|
|
33
|
-
* bracketOrders ✗ ✓
|
|
34
|
-
* ─────────────────────────────────────────────────────
|
|
35
|
-
*
|
|
36
|
-
* Feature flags in the LicensePayload can further restrict capabilities
|
|
37
|
-
* within a mode. A managed license with `orderEntry: false` will still
|
|
38
|
-
* return false from canUseOrderEntry().
|
|
21
|
+
* resolver.isManagedMode();
|
|
22
|
+
* resolver.canUseOrderEntry();
|
|
23
|
+
* resolver.hasFeature('barReplay');
|
|
39
24
|
*/
|
|
40
25
|
export declare class ChartRuntimeResolver {
|
|
41
26
|
#private;
|
|
@@ -49,106 +34,112 @@ export declare class ChartRuntimeResolver {
|
|
|
49
34
|
/** True when no license is installed or the license is in unmanaged mode. */
|
|
50
35
|
isUnmanagedMode(): boolean;
|
|
51
36
|
/**
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
37
|
+
* Check whether a specific platform feature is enabled.
|
|
38
|
+
*
|
|
39
|
+
* Resolution:
|
|
40
|
+
* 1. If the feature is a trading feature and mode is unmanaged → false.
|
|
41
|
+
* 2. If the feature has an explicit flag in the license → use it.
|
|
42
|
+
* 3. Default: true for managed, true for non-trading unmanaged features.
|
|
43
|
+
*/
|
|
44
|
+
hasFeature(name: string): boolean;
|
|
45
|
+
/** Chart type selection (candlestick, bar, line, area, etc.). */
|
|
46
|
+
canUseChartTypes(): boolean;
|
|
47
|
+
/** Basic drawing tools (trend lines, horizontal lines, etc.). */
|
|
48
|
+
canUseDrawingTools(): boolean;
|
|
49
|
+
/** Extended drawing tools (Fibonacci, Gann, pitchfork, etc.). */
|
|
50
|
+
canUseExtendedDrawings(): boolean;
|
|
51
|
+
/** Indicator panel / computations. */
|
|
66
52
|
canUseIndicators(): boolean;
|
|
53
|
+
/** Multiple panes (indicator panels below price chart). */
|
|
54
|
+
canUseMultiPane(): boolean;
|
|
55
|
+
/** Bar replay / market replay feature. */
|
|
56
|
+
canUseBarReplay(): boolean;
|
|
57
|
+
/** Custom timeframes beyond the standard set. */
|
|
58
|
+
canUseCustomTimeframes(): boolean;
|
|
59
|
+
/** Overlay rendering (price levels, zones, signals). */
|
|
60
|
+
canRenderOverlays(): boolean;
|
|
61
|
+
/** Historical data access. */
|
|
62
|
+
canUseHistoricalData(): boolean;
|
|
63
|
+
/** Real-time data streaming. */
|
|
64
|
+
canUseRealtimeData(): boolean;
|
|
65
|
+
/** Multiple data providers / feeds. */
|
|
66
|
+
canUseMultipleProviders(): boolean;
|
|
67
|
+
/** Data export functionality. */
|
|
68
|
+
canUseDataExport(): boolean;
|
|
67
69
|
/**
|
|
68
70
|
* Built-in order entry UI hooks.
|
|
69
|
-
* Requires managed mode
|
|
70
|
-
* When a tier is present on the license, the tier must be 'trading' or 'dom'.
|
|
71
|
+
* Requires managed mode — unmanaged licenses cannot use order entry.
|
|
71
72
|
*/
|
|
72
73
|
canUseOrderEntry(): boolean;
|
|
73
74
|
/**
|
|
74
75
|
* Managed trading service hooks (broker execution, position management).
|
|
75
|
-
* Requires managed mode
|
|
76
|
-
* When a tier is present on the license, the tier must be 'trading' or 'dom'.
|
|
76
|
+
* Requires managed mode.
|
|
77
77
|
*/
|
|
78
78
|
canUseManagedTrading(): boolean;
|
|
79
79
|
/**
|
|
80
80
|
* Drag-to-price order placement.
|
|
81
|
-
* Requires managed mode
|
|
82
|
-
* When a tier is present on the license, the tier must be 'trading' or 'dom'.
|
|
81
|
+
* Requires managed mode.
|
|
83
82
|
*/
|
|
84
83
|
canUseDraggableOrders(): boolean;
|
|
85
84
|
/**
|
|
86
85
|
* Bracket / OCO order support.
|
|
87
|
-
* Requires managed mode
|
|
88
|
-
* When a tier is present on the license, the tier must be 'trading' or 'dom'.
|
|
86
|
+
* Requires managed mode.
|
|
89
87
|
*/
|
|
90
88
|
canUseBracketOrders(): boolean;
|
|
91
89
|
/**
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*/
|
|
95
|
-
|
|
90
|
+
* Trailing stop orders.
|
|
91
|
+
* Requires managed mode.
|
|
92
|
+
*/
|
|
93
|
+
canUseTrailingStops(): boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Positions overlay on chart.
|
|
96
|
+
* Requires managed mode.
|
|
97
|
+
*/
|
|
98
|
+
canUsePositionsOverlay(): boolean;
|
|
99
|
+
/** ForgeScript scripting engine. */
|
|
100
|
+
canUseForgeScript(): boolean;
|
|
101
|
+
/** Custom indicator creation. */
|
|
102
|
+
canUseCustomIndicators(): boolean;
|
|
103
|
+
/** AI agent integration. */
|
|
104
|
+
canUseAiAgent(): boolean;
|
|
105
|
+
/** Save and restore chart layouts. */
|
|
106
|
+
canUseSavedLayouts(): boolean;
|
|
107
|
+
/** Multiple workspaces / tabs. */
|
|
108
|
+
canUseMultipleWorkspaces(): boolean;
|
|
109
|
+
/** Watchlist management. */
|
|
110
|
+
canUseWatchlists(): boolean;
|
|
111
|
+
/** Price / indicator alerts. */
|
|
112
|
+
canUseAlerts(): boolean;
|
|
113
|
+
/** Multi-chart grid layout. */
|
|
114
|
+
canUseMultiChartLayout(): boolean;
|
|
96
115
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
116
|
+
* External data ingestion APIs (e.g. pushing tick data from an external broker).
|
|
117
|
+
* Available in unmanaged mode only — in managed mode the built-in feed owns data.
|
|
99
118
|
*/
|
|
119
|
+
canUseExternalIngestion(): boolean;
|
|
120
|
+
/** Whether to render the order entry tool in the toolbar. */
|
|
121
|
+
canRenderOrderEntry(): boolean;
|
|
122
|
+
/** Whether to render Buy / Sell action buttons. */
|
|
100
123
|
canRenderBuySellButtons(): boolean;
|
|
101
|
-
/**
|
|
102
|
-
* Whether to render the order ticket panel (entry form / DOM entry).
|
|
103
|
-
* Requires managed mode with order entry enabled.
|
|
104
|
-
*/
|
|
124
|
+
/** Whether to render the order ticket panel. */
|
|
105
125
|
canRenderOrderTicket(): boolean;
|
|
106
|
-
/**
|
|
107
|
-
* Whether to render bracket order controls (TP, SL, OCO).
|
|
108
|
-
* Requires managed mode with order entry AND the bracketOrders feature flag.
|
|
109
|
-
* If order entry itself is disabled, bracket controls are also hidden.
|
|
110
|
-
*/
|
|
126
|
+
/** Whether to render bracket order controls (TP, SL, OCO). */
|
|
111
127
|
canRenderBracketControls(): boolean;
|
|
112
|
-
/**
|
|
113
|
-
* Whether to render order modification controls (drag-to-modify, edit panel).
|
|
114
|
-
* Requires managed mode with order entry AND the draggableOrders feature flag.
|
|
115
|
-
* If order entry itself is disabled, modification controls are also hidden.
|
|
116
|
-
*/
|
|
128
|
+
/** Whether to render order modification controls (drag-to-modify). */
|
|
117
129
|
canRenderOrderModificationControls(): boolean;
|
|
118
|
-
/**
|
|
119
|
-
* Whether to render the managed trading control panel as a whole.
|
|
120
|
-
* Guards the container that holds buy/sell, order ticket, bracket controls, etc.
|
|
121
|
-
*/
|
|
130
|
+
/** Whether to render the managed trading control panel. */
|
|
122
131
|
canRenderManagedTradingControls(): boolean;
|
|
123
|
-
/**
|
|
124
|
-
* True when the chart is in external-overlay-only (unmanaged) mode.
|
|
125
|
-
* Drives rendering of the external data overlay panel while suppressing
|
|
126
|
-
* all order entry UI elements.
|
|
127
|
-
*/
|
|
132
|
+
/** True when in external-overlay-only (unmanaged) mode. */
|
|
128
133
|
canRenderExternalOverlayOnlyMode(): boolean;
|
|
129
|
-
/**
|
|
130
|
-
* Positions are always rendered regardless of license mode.
|
|
131
|
-
* Data flows from TradingOverlayStore (host-pushed in unmanaged,
|
|
132
|
-
* ManagedTradingController-driven in managed).
|
|
133
|
-
*/
|
|
134
|
+
/** Positions rendering — always available (data from TradingOverlayStore). */
|
|
134
135
|
canRenderPositions(): boolean;
|
|
135
|
-
/**
|
|
136
|
-
* Execution fills are always rendered regardless of license mode.
|
|
137
|
-
*/
|
|
136
|
+
/** Execution fills — always rendered. */
|
|
138
137
|
canRenderFills(): boolean;
|
|
139
|
-
/**
|
|
140
|
-
* Candles are always rendered — unaffected by license mode.
|
|
141
|
-
* The RapidAPI datafeed remains active in all modes.
|
|
142
|
-
*/
|
|
138
|
+
/** Candles — always rendered (RapidAPI datafeed unaffected by mode). */
|
|
143
139
|
canRenderCandles(): boolean;
|
|
144
|
-
/**
|
|
145
|
-
* Indicator panel follows the `indicators` feature flag.
|
|
146
|
-
* Enabled in both modes by default.
|
|
147
|
-
*/
|
|
140
|
+
/** Indicators follow the `indicators` feature flag. */
|
|
148
141
|
canRenderIndicators(): boolean;
|
|
149
|
-
/**
|
|
150
|
-
* Drawing tools are always available regardless of license mode.
|
|
151
|
-
*/
|
|
142
|
+
/** Drawing tools follow the `drawingTools` feature flag. */
|
|
152
143
|
canRenderDrawings(): boolean;
|
|
153
144
|
/**
|
|
154
145
|
* Returns the full capability set as a plain object — useful for logging,
|
|
@@ -158,13 +149,33 @@ export declare class ChartRuntimeResolver {
|
|
|
158
149
|
}
|
|
159
150
|
export interface ChartCapabilities {
|
|
160
151
|
mode: 'managed' | 'unmanaged';
|
|
161
|
-
|
|
162
|
-
|
|
152
|
+
chartTypes: boolean;
|
|
153
|
+
drawingTools: boolean;
|
|
154
|
+
extendedDrawings: boolean;
|
|
163
155
|
indicators: boolean;
|
|
156
|
+
multiPane: boolean;
|
|
157
|
+
barReplay: boolean;
|
|
158
|
+
customTimeframes: boolean;
|
|
159
|
+
overlays: boolean;
|
|
160
|
+
historicalData: boolean;
|
|
161
|
+
realtimeData: boolean;
|
|
162
|
+
multipleProviders: boolean;
|
|
163
|
+
dataExport: boolean;
|
|
164
164
|
orderEntry: boolean;
|
|
165
165
|
managedTrading: boolean;
|
|
166
166
|
draggableOrders: boolean;
|
|
167
167
|
bracketOrders: boolean;
|
|
168
|
+
trailingStops: boolean;
|
|
169
|
+
positionsOverlay: boolean;
|
|
170
|
+
forgeScript: boolean;
|
|
171
|
+
customIndicators: boolean;
|
|
172
|
+
aiAgent: boolean;
|
|
173
|
+
savedLayouts: boolean;
|
|
174
|
+
multipleWorkspaces: boolean;
|
|
175
|
+
watchlists: boolean;
|
|
176
|
+
alerts: boolean;
|
|
177
|
+
multiChartLayout: boolean;
|
|
178
|
+
externalIngestion: boolean;
|
|
168
179
|
/** Show the order entry tool in toolbars (managed only). */
|
|
169
180
|
renderOrderEntry: boolean;
|
|
170
181
|
/** Show Buy / Sell action buttons (managed only). */
|
|
@@ -187,51 +198,50 @@ export interface ChartCapabilities {
|
|
|
187
198
|
renderCandles: boolean;
|
|
188
199
|
/** Indicators follow the `indicators` feature flag (both modes). */
|
|
189
200
|
renderIndicators: boolean;
|
|
190
|
-
/** Drawing tools
|
|
201
|
+
/** Drawing tools follow the `drawingTools` feature flag. */
|
|
191
202
|
renderDrawings: boolean;
|
|
192
203
|
}
|
|
193
|
-
/** True when a managed license is active. */
|
|
194
204
|
export declare const isManagedMode: () => boolean;
|
|
195
|
-
/** True when no license or unmanaged license is active (safe default). */
|
|
196
205
|
export declare const isUnmanagedMode: () => boolean;
|
|
197
|
-
|
|
198
|
-
export declare const
|
|
199
|
-
|
|
200
|
-
export declare const canRenderOverlays: () => boolean;
|
|
201
|
-
/** Indicator computations — enabled in both modes. */
|
|
206
|
+
export declare const canUseChartTypes: () => boolean;
|
|
207
|
+
export declare const canUseDrawingTools: () => boolean;
|
|
208
|
+
export declare const canUseExtendedDrawings: () => boolean;
|
|
202
209
|
export declare const canUseIndicators: () => boolean;
|
|
203
|
-
|
|
210
|
+
export declare const canUseMultiPane: () => boolean;
|
|
211
|
+
export declare const canUseBarReplay: () => boolean;
|
|
212
|
+
export declare const canUseCustomTimeframes: () => boolean;
|
|
213
|
+
export declare const canRenderOverlays: () => boolean;
|
|
214
|
+
export declare const canUseHistoricalData: () => boolean;
|
|
215
|
+
export declare const canUseRealtimeData: () => boolean;
|
|
216
|
+
export declare const canUseMultipleProviders: () => boolean;
|
|
217
|
+
export declare const canUseDataExport: () => boolean;
|
|
204
218
|
export declare const canUseOrderEntry: () => boolean;
|
|
205
|
-
/** Managed trading service hooks — managed mode only. */
|
|
206
219
|
export declare const canUseManagedTrading: () => boolean;
|
|
207
|
-
/** Drag-to-price order placement — managed mode only. */
|
|
208
220
|
export declare const canUseDraggableOrders: () => boolean;
|
|
209
|
-
/** Bracket / OCO order support — managed mode only. */
|
|
210
221
|
export declare const canUseBracketOrders: () => boolean;
|
|
211
|
-
|
|
222
|
+
export declare const canUseTrailingStops: () => boolean;
|
|
223
|
+
export declare const canUsePositionsOverlay: () => boolean;
|
|
224
|
+
export declare const canUseForgeScript: () => boolean;
|
|
225
|
+
export declare const canUseCustomIndicators: () => boolean;
|
|
226
|
+
export declare const canUseAiAgent: () => boolean;
|
|
227
|
+
export declare const canUseSavedLayouts: () => boolean;
|
|
228
|
+
export declare const canUseMultipleWorkspaces: () => boolean;
|
|
229
|
+
export declare const canUseWatchlists: () => boolean;
|
|
230
|
+
export declare const canUseAlerts: () => boolean;
|
|
231
|
+
export declare const canUseMultiChartLayout: () => boolean;
|
|
232
|
+
export declare const canUseExternalIngestion: () => boolean;
|
|
233
|
+
export declare const hasFeature: (name: string) => boolean;
|
|
212
234
|
export declare const getCapabilities: () => ChartCapabilities;
|
|
213
|
-
/** Whether to render the order entry tool in toolbars (managed only). */
|
|
214
235
|
export declare const canRenderOrderEntry: () => boolean;
|
|
215
|
-
/** Whether to render Buy/Sell buttons (managed only). */
|
|
216
236
|
export declare const canRenderBuySellButtons: () => boolean;
|
|
217
|
-
/** Whether to render the order ticket panel (managed only). */
|
|
218
237
|
export declare const canRenderOrderTicket: () => boolean;
|
|
219
|
-
/** Whether to render bracket / OCO controls (managed + bracketOrders feature). */
|
|
220
238
|
export declare const canRenderBracketControls: () => boolean;
|
|
221
|
-
/** Whether to render drag/edit order modification controls (managed + draggableOrders). */
|
|
222
239
|
export declare const canRenderOrderModificationControls: () => boolean;
|
|
223
|
-
/** Whether to render the managed trading control panel (managed only). */
|
|
224
240
|
export declare const canRenderManagedTradingControls: () => boolean;
|
|
225
|
-
/** True when in external-overlay-only (unmanaged) mode — hides all order-entry UI. */
|
|
226
241
|
export declare const canRenderExternalOverlayOnlyMode: () => boolean;
|
|
227
|
-
/** Positions always rendered regardless of mode. */
|
|
228
242
|
export declare const canRenderPositions: () => boolean;
|
|
229
|
-
/** Execution fills always rendered regardless of mode. */
|
|
230
243
|
export declare const canRenderFills: () => boolean;
|
|
231
|
-
/** Candles always rendered — RapidAPI datafeed unaffected by mode. */
|
|
232
244
|
export declare const canRenderCandles: () => boolean;
|
|
233
|
-
/** Indicators follow the indicators feature flag (both modes by default). */
|
|
234
245
|
export declare const canRenderIndicators: () => boolean;
|
|
235
|
-
/** Drawing tools always available regardless of license mode. */
|
|
236
246
|
export declare const canRenderDrawings: () => boolean;
|
|
237
247
|
//# sourceMappingURL=ChartRuntimeResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartRuntimeResolver.d.ts","sourceRoot":"","sources":["../../src/licensing/ChartRuntimeResolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ChartRuntimeResolver.d.ts","sourceRoot":"","sources":["../../src/licensing/ChartRuntimeResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,qBAAa,oBAAoB;;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAE5D,0EAA0E;IAC1E,OAAO,KAAK,EAAE,GAEb;IAED,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,oBAAoB;IAS1C,uDAAuD;IACvD,aAAa,IAAI,OAAO;IAIxB,6EAA6E;IAC7E,eAAe,IAAI,OAAO;IAM1B;;;;;;;OAOG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQjC,iEAAiE;IACjE,gBAAgB,IAAI,OAAO;IAI3B,iEAAiE;IACjE,kBAAkB,IAAI,OAAO;IAI7B,iEAAiE;IACjE,sBAAsB,IAAI,OAAO;IAIjC,sCAAsC;IACtC,gBAAgB,IAAI,OAAO;IAI3B,2DAA2D;IAC3D,eAAe,IAAI,OAAO;IAI1B,0CAA0C;IAC1C,eAAe,IAAI,OAAO;IAI1B,iDAAiD;IACjD,sBAAsB,IAAI,OAAO;IAIjC,wDAAwD;IACxD,iBAAiB,IAAI,OAAO;IAM5B,8BAA8B;IAC9B,oBAAoB,IAAI,OAAO;IAI/B,gCAAgC;IAChC,kBAAkB,IAAI,OAAO;IAI7B,uCAAuC;IACvC,uBAAuB,IAAI,OAAO;IAIlC,iCAAiC;IACjC,gBAAgB,IAAI,OAAO;IAM3B;;;OAGG;IACH,gBAAgB,IAAI,OAAO;IAK3B;;;OAGG;IACH,oBAAoB,IAAI,OAAO;IAK/B;;;OAGG;IACH,qBAAqB,IAAI,OAAO;IAKhC;;;OAGG;IACH,mBAAmB,IAAI,OAAO;IAK9B;;;OAGG;IACH,mBAAmB,IAAI,OAAO;IAK9B;;;OAGG;IACH,sBAAsB,IAAI,OAAO;IAOjC,oCAAoC;IACpC,iBAAiB,IAAI,OAAO;IAI5B,iCAAiC;IACjC,sBAAsB,IAAI,OAAO;IAIjC,4BAA4B;IAC5B,aAAa,IAAI,OAAO;IAMxB,sCAAsC;IACtC,kBAAkB,IAAI,OAAO;IAI7B,kCAAkC;IAClC,wBAAwB,IAAI,OAAO;IAInC,4BAA4B;IAC5B,gBAAgB,IAAI,OAAO;IAI3B,gCAAgC;IAChC,YAAY,IAAI,OAAO;IAIvB,+BAA+B;IAC/B,sBAAsB,IAAI,OAAO;IAMjC;;;OAGG;IACH,uBAAuB,IAAI,OAAO;IAQlC,6DAA6D;IAC7D,mBAAmB,IAAI,OAAO;IAI9B,mDAAmD;IACnD,uBAAuB,IAAI,OAAO;IAIlC,gDAAgD;IAChD,oBAAoB,IAAI,OAAO;IAI/B,8DAA8D;IAC9D,wBAAwB,IAAI,OAAO;IAKnC,sEAAsE;IACtE,kCAAkC,IAAI,OAAO;IAK7C,2DAA2D;IAC3D,+BAA+B,IAAI,OAAO;IAI1C,2DAA2D;IAC3D,gCAAgC,IAAI,OAAO;IAI3C,8EAA8E;IAC9E,kBAAkB,IAAI,OAAO;IAI7B,yCAAyC;IACzC,cAAc,IAAI,OAAO;IAIzB,wEAAwE;IACxE,gBAAgB,IAAI,OAAO;IAI3B,uDAAuD;IACvD,mBAAmB,IAAI,OAAO;IAI9B,4DAA4D;IAC5D,iBAAiB,IAAI,OAAO;IAM5B;;;OAGG;IACH,eAAe,IAAI,iBAAiB;CAwErC;AAID,MAAM,WAAW,iBAAiB;IAEhC,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IAG9B,UAAU,EAAQ,OAAO,CAAC;IAC1B,YAAY,EAAM,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAQ,OAAO,CAAC;IAC1B,SAAS,EAAS,OAAO,CAAC;IAC1B,SAAS,EAAS,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAU,OAAO,CAAC;IAG1B,cAAc,EAAK,OAAO,CAAC;IAC3B,YAAY,EAAO,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAS,OAAO,CAAC;IAG3B,UAAU,EAAQ,OAAO,CAAC;IAC1B,cAAc,EAAI,OAAO,CAAC;IAC1B,eAAe,EAAG,OAAO,CAAC;IAC1B,aAAa,EAAK,OAAO,CAAC;IAC1B,aAAa,EAAK,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAG1B,WAAW,EAAO,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAW,OAAO,CAAC;IAG1B,YAAY,EAAQ,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAU,OAAO,CAAC;IAC5B,MAAM,EAAc,OAAO,CAAC;IAC5B,gBAAgB,EAAI,OAAO,CAAC;IAG5B,iBAAiB,EAAE,OAAO,CAAC;IAG3B,4DAA4D;IAC5D,gBAAgB,EAAiB,OAAO,CAAC;IACzC,qDAAqD;IACrD,oBAAoB,EAAa,OAAO,CAAC;IACzC,yDAAyD;IACzD,iBAAiB,EAAgB,OAAO,CAAC;IACzC,2EAA2E;IAC3E,qBAAqB,EAAY,OAAO,CAAC;IACzC,+FAA+F;IAC/F,+BAA+B,EAAE,OAAO,CAAC;IACzC,iEAAiE;IACjE,4BAA4B,EAAK,OAAO,CAAC;IACzC,qEAAqE;IACrE,yBAAyB,EAAQ,OAAO,CAAC;IACzC,0EAA0E;IAC1E,eAAe,EAAkB,OAAO,CAAC;IACzC,uCAAuC;IACvC,WAAW,EAAsB,OAAO,CAAC;IACzC,sEAAsE;IACtE,aAAa,EAAoB,OAAO,CAAC;IACzC,oEAAoE;IACpE,gBAAgB,EAAiB,OAAO,CAAC;IACzC,4DAA4D;IAC5D,cAAc,EAAmB,OAAO,CAAC;CAC1C;AAOD,eAAO,MAAM,aAAa,QAAiB,OAAqC,CAAC;AACjF,eAAO,MAAM,eAAe,QAAe,OAAuC,CAAC;AAGnF,eAAO,MAAM,gBAAgB,QAAc,OAAwC,CAAC;AACpF,eAAO,MAAM,kBAAkB,QAAY,OAA0C,CAAC;AACtF,eAAO,MAAM,sBAAsB,QAAQ,OAA8C,CAAC;AAC1F,eAAO,MAAM,gBAAgB,QAAc,OAAwC,CAAC;AACpF,eAAO,MAAM,eAAe,QAAe,OAAuC,CAAC;AACnF,eAAO,MAAM,eAAe,QAAe,OAAuC,CAAC;AACnF,eAAO,MAAM,sBAAsB,QAAQ,OAA8C,CAAC;AAC1F,eAAO,MAAM,iBAAiB,QAAa,OAAyC,CAAC;AAGrF,eAAO,MAAM,oBAAoB,QAAU,OAA4C,CAAC;AACxF,eAAO,MAAM,kBAAkB,QAAY,OAA0C,CAAC;AACtF,eAAO,MAAM,uBAAuB,QAAO,OAA+C,CAAC;AAC3F,eAAO,MAAM,gBAAgB,QAAc,OAAwC,CAAC;AAGpF,eAAO,MAAM,gBAAgB,QAAc,OAAwC,CAAC;AACpF,eAAO,MAAM,oBAAoB,QAAU,OAA4C,CAAC;AACxF,eAAO,MAAM,qBAAqB,QAAS,OAA6C,CAAC;AACzF,eAAO,MAAM,mBAAmB,QAAW,OAA2C,CAAC;AACvF,eAAO,MAAM,mBAAmB,QAAW,OAA2C,CAAC;AACvF,eAAO,MAAM,sBAAsB,QAAQ,OAA8C,CAAC;AAG1F,eAAO,MAAM,iBAAiB,QAAa,OAAyC,CAAC;AACrF,eAAO,MAAM,sBAAsB,QAAQ,OAA8C,CAAC;AAC1F,eAAO,MAAM,aAAa,QAAiB,OAAqC,CAAC;AAGjF,eAAO,MAAM,kBAAkB,QAAY,OAA0C,CAAC;AACtF,eAAO,MAAM,wBAAwB,QAAO,OAAgD,CAAC;AAC7F,eAAO,MAAM,gBAAgB,QAAc,OAAwC,CAAC;AACpF,eAAO,MAAM,YAAY,QAAkB,OAAoC,CAAC;AAChF,eAAO,MAAM,sBAAsB,QAAQ,OAA8C,CAAC;AAG1F,eAAO,MAAM,uBAAuB,QAAO,OAA+C,CAAC;AAG3F,eAAO,MAAM,UAAU,GAAiB,MAAM,MAAM,KAAG,OAAsC,CAAC;AAG9F,eAAO,MAAM,eAAe,QAAe,iBAAiD,CAAC;AAI7F,eAAO,MAAM,mBAAmB,QAAsB,OAA2C,CAAC;AAClG,eAAO,MAAM,uBAAuB,QAAkB,OAA+C,CAAC;AACtG,eAAO,MAAM,oBAAoB,QAAqB,OAA4C,CAAC;AACnG,eAAO,MAAM,wBAAwB,QAAiB,OAAgD,CAAC;AACvG,eAAO,MAAM,kCAAkC,QAAO,OAA0D,CAAC;AACjH,eAAO,MAAM,+BAA+B,QAAU,OAAuD,CAAC;AAC9G,eAAO,MAAM,gCAAgC,QAAS,OAAwD,CAAC;AAC/G,eAAO,MAAM,kBAAkB,QAAuB,OAA0C,CAAC;AACjG,eAAO,MAAM,cAAc,QAA2B,OAAsC,CAAC;AAC7F,eAAO,MAAM,gBAAgB,QAAyB,OAAwC,CAAC;AAC/F,eAAO,MAAM,mBAAmB,QAAsB,OAA2C,CAAC;AAClG,eAAO,MAAM,iBAAiB,QAAwB,OAAyC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LicenseManager.d.ts","sourceRoot":"","sources":["../../src/licensing/LicenseManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKnF;;;;;;;;GAQG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IAEtD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAE1D,OAAO;IAEP;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKrC,OAAO,CAAC,MAAM;IAMd,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC;;;;;;OAMG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"LicenseManager.d.ts","sourceRoot":"","sources":["../../src/licensing/LicenseManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKnF;;;;;;;;GAQG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IAEtD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAE1D,OAAO;IAEP;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKrC,OAAO,CAAC,MAAM;IAMd,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC;;;;;;OAMG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAsC9E,qEAAqE;IACrE,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAK1C,4DAA4D;IAC5D,UAAU,IAAI,cAAc,GAAG,IAAI;IAInC;;;;OAIG;IACH,OAAO,IAAI,WAAW;IAItB,uDAAuD;IACvD,WAAW,IAAI,eAAe;IAI9B,yEAAyE;IACzE,UAAU,CAAC,IAAI,EAAE,MAAM,eAAe,GAAG,OAAO;IAIhD,4EAA4E;IAC5E,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* - Unmanaged license → same as no license for UI gating
|
|
7
7
|
* - Managed license → all managed UI visible, external ingestion blocked
|
|
8
8
|
* - Feature flags override defaults within a mode
|
|
9
|
+
* - New platform features (all 27 keys) resolve correctly
|
|
10
|
+
* - Trading features gated to managed mode
|
|
9
11
|
* - getCapabilities() snapshot is consistent with individual methods
|
|
10
12
|
* - Module-level convenience functions alias correctly
|
|
11
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartRuntimeResolver.test.d.ts","sourceRoot":"","sources":["../../../src/licensing/__tests__/ChartRuntimeResolver.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ChartRuntimeResolver.test.d.ts","sourceRoot":"","sources":["../../../src/licensing/__tests__/ChartRuntimeResolver.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|
|
@@ -1,34 +1,74 @@
|
|
|
1
1
|
export type LicenseMode = 'managed' | 'unmanaged';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* - core: Charts, drawings, indicators — no trading UI
|
|
7
|
-
* - pro: All core + workspaces, server persistence, ForgeScript
|
|
8
|
-
* - trading: All pro + order entry, brackets, draggable orders, position management
|
|
9
|
-
* - dom: All trading + DOM/order-flow features (future)
|
|
10
|
-
*
|
|
11
|
-
* If absent (legacy licenses), behavior is unchanged: managed mode permits trading,
|
|
12
|
-
* unmanaged mode prohibits it. This preserves full backward compatibility.
|
|
3
|
+
* @deprecated Tier is no longer used — mode + features is sufficient.
|
|
4
|
+
* Kept for backward compatibility with cached payloads in localStorage.
|
|
13
5
|
*/
|
|
14
6
|
export type LicenseTier = 'core' | 'pro' | 'trading' | 'dom';
|
|
15
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Use mode + feature flags instead.
|
|
9
|
+
*/
|
|
16
10
|
declare const TRADING_TIERS: Set<LicenseTier>;
|
|
17
11
|
export { TRADING_TIERS };
|
|
12
|
+
/**
|
|
13
|
+
* Platform feature flags — mirrors the 27 features defined in
|
|
14
|
+
* ForgeCharts-admin `platform_features` table.
|
|
15
|
+
*
|
|
16
|
+
* Categories:
|
|
17
|
+
* charting — chartTypes, drawingTools, extendedDrawings, indicators,
|
|
18
|
+
* multiPane, barReplay, customTimeframes, overlays
|
|
19
|
+
* data — historicalData, realtimeData, multipleProviders, dataExport
|
|
20
|
+
* trading — orderEntry, managedTrading, draggableOrders, bracketOrders,
|
|
21
|
+
* trailingStops, positionsOverlay
|
|
22
|
+
* scripting — forgeScript, customIndicators, aiAgent
|
|
23
|
+
* workspace — savedLayouts, multipleWorkspaces, watchlists, alerts,
|
|
24
|
+
* multiChartLayout
|
|
25
|
+
*
|
|
26
|
+
* Each key maps to a boolean: true = enabled, false = disabled.
|
|
27
|
+
* Omitted keys default to the mode-based convention:
|
|
28
|
+
* managed → all features default true
|
|
29
|
+
* unmanaged → trading features default false, everything else true
|
|
30
|
+
*/
|
|
18
31
|
export interface LicenseFeatures {
|
|
19
|
-
|
|
20
|
-
|
|
32
|
+
chartTypes?: boolean;
|
|
33
|
+
drawingTools?: boolean;
|
|
34
|
+
extendedDrawings?: boolean;
|
|
21
35
|
indicators?: boolean;
|
|
36
|
+
multiPane?: boolean;
|
|
37
|
+
barReplay?: boolean;
|
|
38
|
+
customTimeframes?: boolean;
|
|
39
|
+
overlays?: boolean;
|
|
40
|
+
historicalData?: boolean;
|
|
41
|
+
realtimeData?: boolean;
|
|
42
|
+
multipleProviders?: boolean;
|
|
43
|
+
dataExport?: boolean;
|
|
44
|
+
orderEntry?: boolean;
|
|
22
45
|
managedTrading?: boolean;
|
|
23
|
-
unmanagedIngestion?: boolean;
|
|
24
46
|
draggableOrders?: boolean;
|
|
25
47
|
bracketOrders?: boolean;
|
|
26
|
-
|
|
48
|
+
trailingStops?: boolean;
|
|
49
|
+
positionsOverlay?: boolean;
|
|
50
|
+
forgeScript?: boolean;
|
|
51
|
+
customIndicators?: boolean;
|
|
52
|
+
aiAgent?: boolean;
|
|
53
|
+
savedLayouts?: boolean;
|
|
54
|
+
multipleWorkspaces?: boolean;
|
|
55
|
+
watchlists?: boolean;
|
|
56
|
+
alerts?: boolean;
|
|
57
|
+
multiChartLayout?: boolean;
|
|
58
|
+
/** @deprecated Kept for backward compat — use mode check instead. */
|
|
59
|
+
unmanagedIngestion?: boolean;
|
|
60
|
+
/** Allow additional keys from platform_features without compile errors. */
|
|
61
|
+
[key: string]: boolean | undefined;
|
|
27
62
|
}
|
|
63
|
+
/** Trading feature keys — the subset gated to managed mode by default. */
|
|
64
|
+
export declare const TRADING_FEATURE_KEYS: ReadonlySet<string>;
|
|
28
65
|
export interface LicensePayload {
|
|
29
66
|
licenseKey: string;
|
|
30
67
|
mode: LicenseMode;
|
|
31
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* @deprecated Tier is no longer used for capability resolution.
|
|
70
|
+
* Kept for backward compatibility with cached payloads.
|
|
71
|
+
*/
|
|
32
72
|
tier?: LicenseTier;
|
|
33
73
|
plan?: string;
|
|
34
74
|
expires?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"licenseTypes.d.ts","sourceRoot":"","sources":["../../src/licensing/licenseTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"licenseTypes.d.ts","sourceRoot":"","sources":["../../src/licensing/licenseTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,aAAa,kBAA2C,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,eAAe;IAE9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,2EAA2E;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC;AAED,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAGnD,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B"}
|
package/dist/node.d.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @forgecharts/sdk — Node.js / server-side entrypoint.
|
|
3
|
+
*
|
|
4
|
+
* Identical to the public `index.ts` but omits React JSX components
|
|
5
|
+
* (GridChartContainer, LayoutTemplateSelector, GridSyncContext) so this
|
|
6
|
+
* file can be type-checked by TypeScript without `--jsx` configured.
|
|
7
|
+
*
|
|
8
|
+
* Use this via the runtime tsconfig path alias:
|
|
9
|
+
* "@forgecharts/sdk": ["../../packages/sdk/src/node.ts"]
|
|
10
|
+
*
|
|
11
|
+
* Do NOT import browser-only canvas/rendering APIs from this entrypoint —
|
|
12
|
+
* they will fail at runtime in Node.js.
|
|
13
|
+
*/
|
|
14
|
+
export { createChart } from './api/createChart';
|
|
15
|
+
export { TChart } from './api/TChart';
|
|
16
|
+
export { ReferenceAPI } from './api/ReferenceAPI';
|
|
17
|
+
export type { ReferenceAPIConfig } from './api/ReferenceAPI';
|
|
18
|
+
export { serverNow, exchangeNow, serverClockOffset, initServerClock } from './services/serverClock';
|
|
19
|
+
export { DatafeedConnector } from './datafeed/DatafeedConnector';
|
|
20
|
+
export type { ConnectorCallbacks } from './datafeed/DatafeedConnector';
|
|
21
|
+
export { computeSMA, computeEMA, computeRSI, computeMACD, computeVolume, extractField, computeSMAFromSeries, computeEMAFromSeries, computeWMAFromSeries, } from './core/IndicatorEngine';
|
|
22
|
+
export type { IndicatorPoint, MACDPoint } from './core/IndicatorEngine';
|
|
23
|
+
export { IndicatorDAG } from './api/IndicatorDAG';
|
|
24
|
+
export type { DAGResult, BbandsPoint, VwapPoint } from './api/IndicatorDAG';
|
|
25
|
+
export { ForgeScriptIndicator } from './forgescript/ForgeScriptIndicator';
|
|
26
|
+
export { Series as ForgeScriptSeries } from './forgescript/series';
|
|
27
|
+
export { ForgeScriptRuntime } from './forgescript/runtime';
|
|
28
|
+
export type { TValue, ScriptResult, TableEntry, TableCellEntry } from './forgescript/runtime';
|
|
29
|
+
export { detectLanguage, detectLanguageWithFallback, validateForgeScript, runSandbox, evaluateSaveGate, onConversionEvent, clearTelemetryListeners, } from './forgescript/conversion';
|
|
30
|
+
export type { SourceLanguage, Confidence, LanguageDetectionResult, ConversionWarning, ValidationIssue, ValidationResult, SandboxResult, SaveGateCheck, ConversionTelemetryEvent, } from './forgescript/conversion';
|
|
31
|
+
export { PaneManager } from './api/PaneManager';
|
|
32
|
+
export { CoordTransform } from './core/CoordTransform';
|
|
33
|
+
export type { PlotArea } from './core/CoordTransform';
|
|
34
|
+
export { CandleEngine } from './engine/CandleEngine';
|
|
35
|
+
export type { CandleBar, RawOHLCV, UpdateResult, GapInfo, CandleEngineOptions } from './engine/CandleEngine';
|
|
36
|
+
export { timeframeToMs, getBucketStart } from './engine/timeframeUtils';
|
|
37
|
+
export { getMissingBarCount, mergeBars } from './engine/mergeUtils';
|
|
38
|
+
export type { CandleInput, ChartOrder, ChartPosition, ExecutionFill, OrderRole, OrderSide, OrderStatus, PositionSide, PositionStatus, FillSide, } from './trading/tradingTypes';
|
|
39
|
+
export { TradingOverlayStore } from './trading/TradingOverlayStore';
|
|
40
|
+
export { UnmanagedIngestion } from './trading/UnmanagedIngestion';
|
|
41
|
+
export { ManagedTradingController } from './trading/managed/ManagedTradingController';
|
|
42
|
+
export type { IExecutionProvider, PlaceOrderInput, ModifyOrderInput, PlaceBracketOrderInput, OrderAck, BracketOrderAck, ManagedOrderType, TimeInForce, } from './trading/managed/managedTypes';
|
|
43
|
+
export { assertManagedMode, assertCanPlaceOrders, assertCanUseBrackets, assertCanUseDraggableOrders, assertCanUseManagedTrading, isManagedCapable, canPlaceOrders, canPlaceBrackets, canUseDraggable, canUseManagedTradingHook, } from './trading/managed/managedCapabilities';
|
|
44
|
+
export { LicenseManager } from './licensing/LicenseManager';
|
|
45
|
+
export type { LicenseMode, LicenseFeatures, LicensePayload } from './licensing/licenseTypes';
|
|
46
|
+
export { ChartRuntimeResolver } from './licensing/ChartRuntimeResolver';
|
|
47
|
+
export type { ChartCapabilities } from './licensing/ChartRuntimeResolver';
|
|
48
|
+
export { isManagedMode, isUnmanagedMode, canUseChartTypes, canUseDrawingTools, canUseExtendedDrawings, canUseIndicators, canUseMultiPane, canUseBarReplay, canUseCustomTimeframes, canRenderOverlays, canUseHistoricalData, canUseRealtimeData, canUseMultipleProviders, canUseDataExport, canUseOrderEntry, canUseManagedTrading, canUseDraggableOrders, canUseBracketOrders, canUseTrailingStops, canUsePositionsOverlay, canUseForgeScript, canUseCustomIndicators, canUseAiAgent, canUseSavedLayouts, canUseMultipleWorkspaces, canUseWatchlists, canUseAlerts, canUseMultiChartLayout, canUseExternalIngestion, hasFeature, getCapabilities, canRenderOrderEntry, canRenderBuySellButtons, canRenderOrderTicket, canRenderBracketControls, canRenderOrderModificationControls, canRenderManagedTradingControls, canRenderExternalOverlayOnlyMode, canRenderPositions, canRenderFills, canRenderCandles, canRenderIndicators, canRenderDrawings, } from './licensing/ChartRuntimeResolver';
|
|
49
|
+
export type { OHLCV, Bar, Timeframe, ChartOptions, SeriesOptions, SeriesType, ChartTheme, Viewport, TimeRange, PriceRange, Point, Rect, Drawing, DrawingType, DrawingToolType, PointerToolType, MagnetMode, DrawingPoint, IDatafeed, MarketType, SymbolInfo, HistoricalBarsResult, HitTestResult, ChartKeyAction, KeyModifiers, ChartInterval, ChartConfig, ChartLayout, ChartEventMap, IndicatorType, IndicatorParams, IndicatorConfig, IndicatorInstance, PriceField, PaneDescriptor, IPlugin, IPublicChart, RefMarket, RefExchange, RefSymbol, SymbolSearchFilters, SymbolSearchResult, LineStyle, LineStyleConfig, FillStyleConfig, IndicatorStyleConfig, GridTemplate, GridCellDescriptor, GridTemplateDescriptor, GridSyncOptions, GridPaneState, GridLayoutConfig, } from '@forgecharts/types';
|
|
50
|
+
export { resolveStyle, getDefaultStyle, getStyleSlots, lineStyleToDash } from './core/indicatorStyles';
|
|
51
|
+
export type { StyleSlotDef } from './core/indicatorStyles';
|
|
52
|
+
export { getGridTemplate, getGroupedTemplates, DEFAULT_SYNC_OPTIONS } from './react/workspace/GridTemplates';
|
|
53
|
+
export { cursorTool, CURSOR_LABEL, CURSOR_STYLE } from './api/drawing tools/pointers menu/cursor';
|
|
54
|
+
export { crosshairTool, CROSSHAIR_LABEL, CROSSHAIR_STYLE } from './api/drawing tools/pointers menu/crosshair';
|
|
55
|
+
export { dotTool, DOT_LABEL, DOT_STYLE, DOT_RADIUS, DOT_COLOR } from './api/drawing tools/pointers menu/dot';
|
|
56
|
+
export { demonstrationTool, DEMONSTRATION_LABEL, DEMONSTRATION_STYLE, DEMONSTRATION_RADIUS, DEMONSTRATION_FILL, DEMONSTRATION_STROKE, DEMONSTRATION_COLOR, } from './api/drawing tools/pointers menu/demonstration';
|
|
57
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,11 +12,25 @@ export declare class PixiCandlestickRenderer {
|
|
|
12
12
|
private readonly _gfx;
|
|
13
13
|
constructor(layer: Container);
|
|
14
14
|
draw(bars: readonly OHLCV[], transform: CoordTransform, opts?: SeriesOptions): void;
|
|
15
|
+
/** Memo for the Heikin-Ashi transform — rebuilding the full array on every
|
|
16
|
+
* dirty frame allocated thousands of objects per second for a computation
|
|
17
|
+
* whose inputs only change when the visible window or data changes. Keyed
|
|
18
|
+
* by window fingerprint (first/last time, length, last close) because the
|
|
19
|
+
* visible-slice array has a fresh identity every frame. */
|
|
20
|
+
private _haCache;
|
|
15
21
|
/**
|
|
16
22
|
* Converts OHLCV bars to Heikin-Ashi values before drawing.
|
|
17
23
|
*/
|
|
18
24
|
drawHeikinAshi(bars: readonly OHLCV[], transform: CoordTransform, opts?: SeriesOptions): void;
|
|
19
25
|
destroy(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Per-pixel-column min/max rendering for zoomed-out views (pitch < 1 px).
|
|
28
|
+
* Each integer pixel column gets a single vertical line spanning the merged
|
|
29
|
+
* high–low of every bar landing on it, coloured by the column's net
|
|
30
|
+
* direction (close of the latest bar vs open of the earliest). Path-op
|
|
31
|
+
* count is bounded by plot width regardless of dataset size.
|
|
32
|
+
*/
|
|
33
|
+
private _drawColumnLOD;
|
|
20
34
|
private _toHeikinAshi;
|
|
21
35
|
}
|
|
22
36
|
//# sourceMappingURL=PixiCandlestickRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PixiCandlestickRenderer.d.ts","sourceRoot":"","sources":["../../src/pixi/PixiCandlestickRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAe7D;;;;;;GAMG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;gBAEpB,KAAK,EAAE,SAAS;IAK5B,IAAI,CACF,IAAI,EAAE,SAAS,KAAK,EAAE,EACtB,SAAS,EAAE,cAAc,EACzB,IAAI,CAAC,EAAE,aAAa,GACnB,IAAI;
|
|
1
|
+
{"version":3,"file":"PixiCandlestickRenderer.d.ts","sourceRoot":"","sources":["../../src/pixi/PixiCandlestickRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAe7D;;;;;;GAMG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;gBAEpB,KAAK,EAAE,SAAS;IAK5B,IAAI,CACF,IAAI,EAAE,SAAS,KAAK,EAAE,EACtB,SAAS,EAAE,cAAc,EACzB,IAAI,CAAC,EAAE,aAAa,GACnB,IAAI;IAgKP;;;;gEAI4D;IAC5D,OAAO,CAAC,QAAQ,CAEA;IAEhB;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI;IAoB7F,OAAO,IAAI,IAAI;IAIf;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAuCtB,OAAO,CAAC,aAAa;CAkBtB"}
|
package/dist/pixi/PixiChart.d.ts
CHANGED
|
@@ -89,12 +89,20 @@ export declare class PixiChart implements ChartBackend {
|
|
|
89
89
|
private _onContextRestored;
|
|
90
90
|
/** Called whenever a drawing is committed. */
|
|
91
91
|
onDrawingCommitted: ((drawing: Drawing) => void) | undefined;
|
|
92
|
+
/** Fired when an EXISTING drawing is modified via drag (handle or body move). */
|
|
93
|
+
onDrawingEdited: ((drawing: Drawing) => void) | undefined;
|
|
94
|
+
private _drawingEditDirty;
|
|
95
|
+
/** Ctrl+Z / Ctrl+Y — drawing history is owned by TChart. */
|
|
96
|
+
onUndoRequest: (() => void) | undefined;
|
|
97
|
+
onRedoRequest: (() => void) | undefined;
|
|
92
98
|
/** Called whenever a drawing is deleted. */
|
|
93
99
|
onDrawingDeleted: ((id: string) => void) | undefined;
|
|
94
100
|
/** Called when the user clicks a position overlay label. */
|
|
95
101
|
onPositionClick: ((positionId: string) => void) | undefined;
|
|
96
102
|
/** Called when the user finishes dragging an SL/TP order line to a new price. */
|
|
97
103
|
onOrderDragEnd: ((orderId: string, newPrice: number) => void) | undefined;
|
|
104
|
+
/** Called when the user drags a TP/SL pill off the entry line to create a bracket leg. */
|
|
105
|
+
onTpSlCreate: ((entryOrderId: string, kind: 'tp' | 'sl', price: number) => void) | undefined;
|
|
98
106
|
/** Called when the user right-clicks a drawing. */
|
|
99
107
|
onDrawingContextMenu: ((id: string, x: number, y: number) => void) | undefined;
|
|
100
108
|
/** Called when the user double-clicks a drawing. */
|