@forgecharts/sdk 1.2.1 → 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.
Files changed (293) hide show
  1. package/dist/Omne-YBWT34SS.png +0 -0
  2. package/dist/Rithmic-CDB4YQEZ.png +0 -0
  3. package/dist/api/DrawingManager.d.ts +1 -1
  4. package/dist/api/DrawingManager.d.ts.map +1 -1
  5. package/dist/api/IndicatorDAG.d.ts +22 -0
  6. package/dist/api/IndicatorDAG.d.ts.map +1 -1
  7. package/dist/api/IndicatorRegistry.d.ts +6 -0
  8. package/dist/api/IndicatorRegistry.d.ts.map +1 -1
  9. package/dist/api/LayoutManager.d.ts +3 -1
  10. package/dist/api/LayoutManager.d.ts.map +1 -1
  11. package/dist/api/ReferenceAPI.d.ts +5 -0
  12. package/dist/api/ReferenceAPI.d.ts.map +1 -1
  13. package/dist/api/TChart.d.ts +69 -0
  14. package/dist/api/TChart.d.ts.map +1 -1
  15. package/dist/api/drawing tools/fib gann menu/fibChannel.d.ts +4 -0
  16. package/dist/api/drawing tools/fib gann menu/fibChannel.d.ts.map +1 -0
  17. package/dist/api/drawing tools/fib gann menu/fibCircles.d.ts +4 -0
  18. package/dist/api/drawing tools/fib gann menu/fibCircles.d.ts.map +1 -0
  19. package/dist/api/drawing tools/fib gann menu/fibRetracement.d.ts.map +1 -1
  20. package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceArcs.d.ts +4 -0
  21. package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceArcs.d.ts.map +1 -0
  22. package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceFan.d.ts +4 -0
  23. package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceFan.d.ts.map +1 -0
  24. package/dist/api/drawing tools/fib gann menu/fibSpiral.d.ts +4 -0
  25. package/dist/api/drawing tools/fib gann menu/fibSpiral.d.ts.map +1 -0
  26. package/dist/api/drawing tools/fib gann menu/fibTimeZone.d.ts +4 -0
  27. package/dist/api/drawing tools/fib gann menu/fibTimeZone.d.ts.map +1 -0
  28. package/dist/api/drawing tools/fib gann menu/fibWedge.d.ts +4 -0
  29. package/dist/api/drawing tools/fib gann menu/fibWedge.d.ts.map +1 -0
  30. package/dist/api/drawing tools/fib gann menu/gannBox.d.ts +4 -0
  31. package/dist/api/drawing tools/fib gann menu/gannBox.d.ts.map +1 -0
  32. package/dist/api/drawing tools/fib gann menu/gannFan.d.ts +4 -0
  33. package/dist/api/drawing tools/fib gann menu/gannFan.d.ts.map +1 -0
  34. package/dist/api/drawing tools/fib gann menu/gannSquare.d.ts +4 -0
  35. package/dist/api/drawing tools/fib gann menu/gannSquare.d.ts.map +1 -0
  36. package/dist/api/drawing tools/fib gann menu/gannSquareFixed.d.ts +4 -0
  37. package/dist/api/drawing tools/fib gann menu/gannSquareFixed.d.ts.map +1 -0
  38. package/dist/api/drawing tools/fib gann menu/pitchfan.d.ts +4 -0
  39. package/dist/api/drawing tools/fib gann menu/pitchfan.d.ts.map +1 -0
  40. package/dist/api/drawing tools/fib gann menu/trendBasedFibExtension.d.ts +4 -0
  41. package/dist/api/drawing tools/fib gann menu/trendBasedFibExtension.d.ts.map +1 -0
  42. package/dist/api/drawing tools/fib gann menu/trendBasedFibTime.d.ts +4 -0
  43. package/dist/api/drawing tools/fib gann menu/trendBasedFibTime.d.ts.map +1 -0
  44. package/dist/api/drawing tools/shapes menu/anchoredText.d.ts +7 -0
  45. package/dist/api/drawing tools/shapes menu/anchoredText.d.ts.map +1 -0
  46. package/dist/api/drawing tools/shapes menu/arc.d.ts +8 -0
  47. package/dist/api/drawing tools/shapes menu/arc.d.ts.map +1 -0
  48. package/dist/api/drawing tools/shapes menu/arrow.d.ts +4 -0
  49. package/dist/api/drawing tools/shapes menu/arrow.d.ts.map +1 -0
  50. package/dist/api/drawing tools/shapes menu/arrowDown.d.ts +7 -0
  51. package/dist/api/drawing tools/shapes menu/arrowDown.d.ts.map +1 -0
  52. package/dist/api/drawing tools/shapes menu/arrowUp.d.ts +7 -0
  53. package/dist/api/drawing tools/shapes menu/arrowUp.d.ts.map +1 -0
  54. package/dist/api/drawing tools/shapes menu/callout.d.ts +7 -0
  55. package/dist/api/drawing tools/shapes menu/callout.d.ts.map +1 -0
  56. package/dist/api/drawing tools/shapes menu/dateRange.d.ts +4 -0
  57. package/dist/api/drawing tools/shapes menu/dateRange.d.ts.map +1 -0
  58. package/dist/api/drawing tools/shapes menu/ellipse.d.ts +4 -0
  59. package/dist/api/drawing tools/shapes menu/ellipse.d.ts.map +1 -0
  60. package/dist/api/drawing tools/shapes menu/longPosition.d.ts +4 -0
  61. package/dist/api/drawing tools/shapes menu/longPosition.d.ts.map +1 -0
  62. package/dist/api/drawing tools/shapes menu/priceLabel.d.ts +7 -0
  63. package/dist/api/drawing tools/shapes menu/priceLabel.d.ts.map +1 -0
  64. package/dist/api/drawing tools/shapes menu/priceRange.d.ts +4 -0
  65. package/dist/api/drawing tools/shapes menu/priceRange.d.ts.map +1 -0
  66. package/dist/api/drawing tools/shapes menu/shortPosition.d.ts +4 -0
  67. package/dist/api/drawing tools/shapes menu/shortPosition.d.ts.map +1 -0
  68. package/dist/api/drawing tools/shapes menu/triangle.d.ts +4 -0
  69. package/dist/api/drawing tools/shapes menu/triangle.d.ts.map +1 -0
  70. package/dist/core/Chart.d.ts +29 -2
  71. package/dist/core/Chart.d.ts.map +1 -1
  72. package/dist/core/CoordTransform.d.ts.map +1 -1
  73. package/dist/core/Crosshair.d.ts +2 -0
  74. package/dist/core/Crosshair.d.ts.map +1 -1
  75. package/dist/core/IndicatorEngine.d.ts +15 -0
  76. package/dist/core/IndicatorEngine.d.ts.map +1 -1
  77. package/dist/core/InteractionManager.d.ts +55 -2
  78. package/dist/core/InteractionManager.d.ts.map +1 -1
  79. package/dist/core/PriceScale.d.ts +2 -0
  80. package/dist/core/PriceScale.d.ts.map +1 -1
  81. package/dist/core/Series.d.ts.map +1 -1
  82. package/dist/core/TimeScale.d.ts +52 -1
  83. package/dist/core/TimeScale.d.ts.map +1 -1
  84. package/dist/core/indicatorStyles.d.ts +37 -0
  85. package/dist/core/indicatorStyles.d.ts.map +1 -0
  86. package/dist/datafeed/DatafeedConnector.d.ts +27 -0
  87. package/dist/datafeed/DatafeedConnector.d.ts.map +1 -1
  88. package/dist/engine/CandleEngine.d.ts +2 -0
  89. package/dist/engine/CandleEngine.d.ts.map +1 -1
  90. package/dist/forgecharts.css +2029 -132
  91. package/dist/forgescript/ast.d.ts +71 -4
  92. package/dist/forgescript/ast.d.ts.map +1 -1
  93. package/dist/forgescript/builtins/collections.d.ts +56 -0
  94. package/dist/forgescript/builtins/collections.d.ts.map +1 -0
  95. package/dist/forgescript/builtins/drawing.d.ts +57 -0
  96. package/dist/forgescript/builtins/drawing.d.ts.map +1 -0
  97. package/dist/forgescript/builtins/udt.d.ts +30 -0
  98. package/dist/forgescript/builtins/udt.d.ts.map +1 -0
  99. package/dist/forgescript/conversion/index.d.ts +16 -9
  100. package/dist/forgescript/conversion/index.d.ts.map +1 -1
  101. package/dist/forgescript/conversion/types.d.ts +10 -54
  102. package/dist/forgescript/conversion/types.d.ts.map +1 -1
  103. package/dist/forgescript/conversion/validation.d.ts.map +1 -1
  104. package/dist/forgescript/datasets/DatasetStore.d.ts +65 -0
  105. package/dist/forgescript/datasets/DatasetStore.d.ts.map +1 -0
  106. package/dist/forgescript/datasets/parseDataset.d.ts +32 -0
  107. package/dist/forgescript/datasets/parseDataset.d.ts.map +1 -0
  108. package/dist/forgescript/parser.d.ts +19 -1
  109. package/dist/forgescript/parser.d.ts.map +1 -1
  110. package/dist/forgescript/runtime.d.ts +125 -104
  111. package/dist/forgescript/runtime.d.ts.map +1 -1
  112. package/dist/index.d.ts +14 -7
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +21487 -8016
  115. package/dist/index.js.map +1 -1
  116. package/dist/internal.d.ts +2 -0
  117. package/dist/internal.d.ts.map +1 -1
  118. package/dist/internal.js +19599 -6869
  119. package/dist/internal.js.map +1 -1
  120. package/dist/licensing/ChartRuntimeResolver.d.ts +134 -124
  121. package/dist/licensing/ChartRuntimeResolver.d.ts.map +1 -1
  122. package/dist/licensing/LicenseManager.d.ts.map +1 -1
  123. package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts +2 -0
  124. package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts.map +1 -1
  125. package/dist/licensing/licenseTypes.d.ts +56 -15
  126. package/dist/licensing/licenseTypes.d.ts.map +1 -1
  127. package/dist/node.d.ts +57 -0
  128. package/dist/node.d.ts.map +1 -0
  129. package/dist/pixi/PixiBenchmark.d.ts +56 -0
  130. package/dist/pixi/PixiBenchmark.d.ts.map +1 -0
  131. package/dist/pixi/PixiCandlestickRenderer.d.ts +19 -6
  132. package/dist/pixi/PixiCandlestickRenderer.d.ts.map +1 -1
  133. package/dist/pixi/PixiChart.d.ts +108 -2
  134. package/dist/pixi/PixiChart.d.ts.map +1 -1
  135. package/dist/pixi/PixiCrosshairRenderer.d.ts +10 -0
  136. package/dist/pixi/PixiCrosshairRenderer.d.ts.map +1 -1
  137. package/dist/pixi/PixiDrawingRenderer.d.ts +17 -5
  138. package/dist/pixi/PixiDrawingRenderer.d.ts.map +1 -1
  139. package/dist/pixi/PixiGridRenderer.d.ts +18 -2
  140. package/dist/pixi/PixiGridRenderer.d.ts.map +1 -1
  141. package/dist/pixi/PixiHistogramRenderer.d.ts +17 -0
  142. package/dist/pixi/PixiHistogramRenderer.d.ts.map +1 -0
  143. package/dist/pixi/PixiIndicatorRenderer.d.ts +35 -0
  144. package/dist/pixi/PixiIndicatorRenderer.d.ts.map +1 -0
  145. package/dist/pixi/PixiLastPriceRenderer.d.ts +33 -0
  146. package/dist/pixi/PixiLastPriceRenderer.d.ts.map +1 -0
  147. package/dist/pixi/PixiLayerManager.d.ts.map +1 -1
  148. package/dist/pixi/PixiLineRenderer.d.ts +19 -0
  149. package/dist/pixi/PixiLineRenderer.d.ts.map +1 -0
  150. package/dist/pixi/PixiTradingRenderer.d.ts +100 -0
  151. package/dist/pixi/PixiTradingRenderer.d.ts.map +1 -0
  152. package/dist/pixi/snap.d.ts +38 -0
  153. package/dist/pixi/snap.d.ts.map +1 -0
  154. package/dist/react/agent/AgentFAB.d.ts +21 -0
  155. package/dist/react/agent/AgentFAB.d.ts.map +1 -0
  156. package/dist/react/agent/AgentProvider.d.ts +15 -0
  157. package/dist/react/agent/AgentProvider.d.ts.map +1 -0
  158. package/dist/react/agent/AgentUIBus.d.ts +118 -0
  159. package/dist/react/agent/AgentUIBus.d.ts.map +1 -0
  160. package/dist/react/agent/AssistantPanel.d.ts +13 -0
  161. package/dist/react/agent/AssistantPanel.d.ts.map +1 -0
  162. package/dist/react/agent/CommandDispatcher.d.ts +81 -0
  163. package/dist/react/agent/CommandDispatcher.d.ts.map +1 -0
  164. package/dist/react/agent/VoiceInput.d.ts +36 -0
  165. package/dist/react/agent/VoiceInput.d.ts.map +1 -0
  166. package/dist/react/agent/contractUtils.d.ts +31 -0
  167. package/dist/react/agent/contractUtils.d.ts.map +1 -0
  168. package/dist/react/agent/index.d.ts +18 -0
  169. package/dist/react/agent/index.d.ts.map +1 -0
  170. package/dist/react/agent/useAgent.d.ts +81 -0
  171. package/dist/react/agent/useAgent.d.ts.map +1 -0
  172. package/dist/react/canvas/ChartCanvas.d.ts +55 -0
  173. package/dist/react/canvas/ChartCanvas.d.ts.map +1 -1
  174. package/dist/react/canvas/ChartContextMenu.d.ts +1 -1
  175. package/dist/react/canvas/ChartContextMenu.d.ts.map +1 -1
  176. package/dist/react/canvas/ChartSettingsDialog.d.ts +80 -2
  177. package/dist/react/canvas/ChartSettingsDialog.d.ts.map +1 -1
  178. package/dist/react/canvas/ContractSwitchDialog.d.ts +22 -0
  179. package/dist/react/canvas/ContractSwitchDialog.d.ts.map +1 -0
  180. package/dist/react/canvas/DrawingPropertiesDialog.d.ts +23 -0
  181. package/dist/react/canvas/DrawingPropertiesDialog.d.ts.map +1 -0
  182. package/dist/react/canvas/IndicatorLabel.d.ts +11 -3
  183. package/dist/react/canvas/IndicatorLabel.d.ts.map +1 -1
  184. package/dist/react/canvas/IndicatorPane.d.ts +1 -1
  185. package/dist/react/canvas/IndicatorPane.d.ts.map +1 -1
  186. package/dist/react/canvas/PointerOverlay.d.ts +6 -3
  187. package/dist/react/canvas/PointerOverlay.d.ts.map +1 -1
  188. package/dist/react/canvas/PositionPropertiesDialog.d.ts +22 -0
  189. package/dist/react/canvas/PositionPropertiesDialog.d.ts.map +1 -0
  190. package/dist/react/canvas/TableOverlay.d.ts +1 -1
  191. package/dist/react/canvas/TableOverlay.d.ts.map +1 -1
  192. package/dist/react/canvas/toolbars/LeftToolbar.d.ts +9 -2
  193. package/dist/react/canvas/toolbars/LeftToolbar.d.ts.map +1 -1
  194. package/dist/react/hooks/useBrokerEvents.d.ts +9 -0
  195. package/dist/react/hooks/useBrokerEvents.d.ts.map +1 -1
  196. package/dist/react/hooks/useChartCapabilities.d.ts.map +1 -1
  197. package/dist/react/hooks/usePanelDrag.d.ts +2 -0
  198. package/dist/react/hooks/usePanelDrag.d.ts.map +1 -0
  199. package/dist/react/index.d.ts +3 -0
  200. package/dist/react/index.d.ts.map +1 -1
  201. package/dist/react/index.js +25769 -10541
  202. package/dist/react/index.js.map +1 -1
  203. package/dist/react/internal.js +32838 -15641
  204. package/dist/react/internal.js.map +1 -1
  205. package/dist/react/shell/DatasetImportPanel.d.ts +14 -0
  206. package/dist/react/shell/DatasetImportPanel.d.ts.map +1 -0
  207. package/dist/react/shell/DatasetManagerDrawer.d.ts +20 -0
  208. package/dist/react/shell/DatasetManagerDrawer.d.ts.map +1 -0
  209. package/dist/react/shell/DepthOfMarketPanel.d.ts +18 -0
  210. package/dist/react/shell/DepthOfMarketPanel.d.ts.map +1 -0
  211. package/dist/react/shell/DocsEditor.d.ts +17 -0
  212. package/dist/react/shell/DocsEditor.d.ts.map +1 -0
  213. package/dist/react/shell/ManagedAppShell.d.ts +27 -0
  214. package/dist/react/shell/ManagedAppShell.d.ts.map +1 -1
  215. package/dist/react/shell/OrderEntryPanel.d.ts +21 -1
  216. package/dist/react/shell/OrderEntryPanel.d.ts.map +1 -1
  217. package/dist/react/shell/ScriptDrawer.d.ts +7 -1
  218. package/dist/react/shell/ScriptDrawer.d.ts.map +1 -1
  219. package/dist/react/shell/ScriptSettings.d.ts +26 -0
  220. package/dist/react/shell/ScriptSettings.d.ts.map +1 -0
  221. package/dist/react/shell/TradeDrawer.d.ts +8 -1
  222. package/dist/react/shell/TradeDrawer.d.ts.map +1 -1
  223. package/dist/react/shell/WatchlistDrawer.d.ts +2 -1
  224. package/dist/react/shell/WatchlistDrawer.d.ts.map +1 -1
  225. package/dist/react/shell/useDepthSubscription.d.ts +12 -0
  226. package/dist/react/shell/useDepthSubscription.d.ts.map +1 -0
  227. package/dist/react/shell/useWatchlistQuotes.d.ts +6 -0
  228. package/dist/react/shell/useWatchlistQuotes.d.ts.map +1 -1
  229. package/dist/react/workspace/BottomTradingPanel.d.ts +78 -0
  230. package/dist/react/workspace/BottomTradingPanel.d.ts.map +1 -0
  231. package/dist/react/workspace/ChartWorkspace.d.ts +64 -1
  232. package/dist/react/workspace/ChartWorkspace.d.ts.map +1 -1
  233. package/dist/react/workspace/FloatingPanel.d.ts +1 -1
  234. package/dist/react/workspace/FloatingPanel.d.ts.map +1 -1
  235. package/dist/react/workspace/GridChartContainer.d.ts +40 -0
  236. package/dist/react/workspace/GridChartContainer.d.ts.map +1 -0
  237. package/dist/react/workspace/GridSyncContext.d.ts +32 -0
  238. package/dist/react/workspace/GridSyncContext.d.ts.map +1 -0
  239. package/dist/react/workspace/GridTemplates.d.ts +16 -0
  240. package/dist/react/workspace/GridTemplates.d.ts.map +1 -0
  241. package/dist/react/workspace/IndicatorsDialog.d.ts +5 -1
  242. package/dist/react/workspace/IndicatorsDialog.d.ts.map +1 -1
  243. package/dist/react/workspace/LayoutMenu.d.ts +1 -1
  244. package/dist/react/workspace/LayoutMenu.d.ts.map +1 -1
  245. package/dist/react/workspace/LayoutTemplateSelector.d.ts +16 -0
  246. package/dist/react/workspace/LayoutTemplateSelector.d.ts.map +1 -0
  247. package/dist/react/workspace/SymbolSearchDialog.d.ts +1 -1
  248. package/dist/react/workspace/SymbolSearchDialog.d.ts.map +1 -1
  249. package/dist/react/workspace/TabBar.d.ts +4 -1
  250. package/dist/react/workspace/TabBar.d.ts.map +1 -1
  251. package/dist/react/workspace/toolbars/BottomToolbar.d.ts +7 -1
  252. package/dist/react/workspace/toolbars/BottomToolbar.d.ts.map +1 -1
  253. package/dist/react/workspace/toolbars/RightToolbar.d.ts +10 -1
  254. package/dist/react/workspace/toolbars/RightToolbar.d.ts.map +1 -1
  255. package/dist/react/workspace/toolbars/TopToolbar.d.ts +36 -2
  256. package/dist/react/workspace/toolbars/TopToolbar.d.ts.map +1 -1
  257. package/dist/renderers/CandlestickRenderer.d.ts.map +1 -1
  258. package/dist/services/BarPrefetchCache.d.ts +39 -0
  259. package/dist/services/BarPrefetchCache.d.ts.map +1 -0
  260. package/dist/theme/colors.d.ts.map +1 -1
  261. package/dist/trading/UnmanagedIngestion.d.ts +39 -12
  262. package/dist/trading/UnmanagedIngestion.d.ts.map +1 -1
  263. package/dist/trading/tradingTypes.d.ts +11 -2
  264. package/dist/trading/tradingTypes.d.ts.map +1 -1
  265. package/dist/types/ChartBackend.d.ts +67 -0
  266. package/dist/types/ChartBackend.d.ts.map +1 -0
  267. package/package.json +2 -2
  268. package/dist/forgescript/__tests__/ai-response-parser.test.d.ts +0 -2
  269. package/dist/forgescript/__tests__/ai-response-parser.test.d.ts.map +0 -1
  270. package/dist/forgescript/__tests__/orchestrator.test.d.ts +0 -2
  271. package/dist/forgescript/__tests__/orchestrator.test.d.ts.map +0 -1
  272. package/dist/forgescript/__tests__/pine-transpiler.test.d.ts +0 -2
  273. package/dist/forgescript/__tests__/pine-transpiler.test.d.ts.map +0 -1
  274. package/dist/forgescript/conversion/ai-conversion-agent.d.ts +0 -41
  275. package/dist/forgescript/conversion/ai-conversion-agent.d.ts.map +0 -1
  276. package/dist/forgescript/conversion/conversion-orchestrator.d.ts +0 -44
  277. package/dist/forgescript/conversion/conversion-orchestrator.d.ts.map +0 -1
  278. package/dist/forgescript/conversion/prompts/index.d.ts +0 -17
  279. package/dist/forgescript/conversion/prompts/index.d.ts.map +0 -1
  280. package/dist/forgescript/pine/PineCompiler.d.ts +0 -38
  281. package/dist/forgescript/pine/PineCompiler.d.ts.map +0 -1
  282. package/dist/forgescript/pine/diagnostics.d.ts +0 -20
  283. package/dist/forgescript/pine/diagnostics.d.ts.map +0 -1
  284. package/dist/forgescript/pine/index.d.ts +0 -8
  285. package/dist/forgescript/pine/index.d.ts.map +0 -1
  286. package/dist/forgescript/pine/pine-ast.d.ts +0 -190
  287. package/dist/forgescript/pine/pine-ast.d.ts.map +0 -1
  288. package/dist/forgescript/pine/pine-lexer.d.ts +0 -41
  289. package/dist/forgescript/pine/pine-lexer.d.ts.map +0 -1
  290. package/dist/forgescript/pine/pine-parser.d.ts +0 -108
  291. package/dist/forgescript/pine/pine-parser.d.ts.map +0 -1
  292. package/dist/forgescript/pine/pine-transpiler.d.ts +0 -40
  293. package/dist/forgescript/pine/pine-transpiler.d.ts.map +0 -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.isManagedMode() // true when a managed license is active
14
- * resolver.isUnmanagedMode() // true when no license or unmanaged license
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
- * External data ingestion APIs (e.g. pushing tick data from an external broker).
53
- * Available in unmanaged mode only — in managed mode the built-in feed owns data.
54
- * Override via `unmanagedIngestion` feature flag on a managed license if needed.
55
- */
56
- canUseExternalIngestion(): boolean;
57
- /**
58
- * Overlay rendering from external state (price levels, zones, signals).
59
- * Enabled in both modes by default; can be restricted via feature flag.
60
- */
61
- canRenderOverlays(): boolean;
62
- /**
63
- * Indicator panel / computations.
64
- * Enabled in both modes by default; can be restricted via feature flag.
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 AND the `orderEntry` feature flag (or no flag restriction).
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 AND the `managedTrading` feature flag (or no flag restriction).
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 AND the `draggableOrders` feature flag (or no flag restriction).
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 AND the `bracketOrders` feature flag (or no flag restriction).
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
- * Whether to render the order entry tool in the toolbar.
93
- * Hidden in unmanaged mode — requires managed license with order entry.
94
- */
95
- canRenderOrderEntry(): boolean;
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
- * Whether to render Buy / Sell action buttons on the chart or toolbar.
98
- * Hidden in unmanaged mode — order placement requires managed license.
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
- externalIngestion: boolean;
162
- overlays: boolean;
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 always available regardless of license mode. */
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
- /** External data ingestion APIs (unmanaged mode only by default). */
198
- export declare const canUseExternalIngestion: () => boolean;
199
- /** Overlay rendering enabled in both modes. */
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
- /** Built-in order entry UI managed mode only. */
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
- /** Full capability snapshot as a plain object. */
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":"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"}
1
+ {"version":3,"file":"ChartRuntimeResolver.d.ts","sourceRoot":"","sources":["../../src/licensing/ChartRuntimeResolver.ts"],"names":[],"mappings":"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"}
@@ -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;IAqC9E,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"}
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;;;;;;;;;;GAUG"}
1
+ {"version":3,"file":"ChartRuntimeResolver.test.d.ts","sourceRoot":"","sources":["../../../src/licensing/__tests__/ChartRuntimeResolver.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
@@ -1,33 +1,74 @@
1
1
  export type LicenseMode = 'managed' | 'unmanaged';
2
2
  /**
3
- * Product tier controls which capability set is available (axis 2, architecture G5).
4
- * Independent of `mode` (which axis is deployment embedding).
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
- /** Trading tiers — shorthand for tier checks inside the resolver. */
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
- orderEntry?: boolean;
20
- overlays?: boolean;
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;
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;
26
62
  }
63
+ /** Trading feature keys — the subset gated to managed mode by default. */
64
+ export declare const TRADING_FEATURE_KEYS: ReadonlySet<string>;
27
65
  export interface LicensePayload {
28
66
  licenseKey: string;
29
67
  mode: LicenseMode;
30
- /** Product tier — see LicenseTier. Optional for backward compatibility. */
68
+ /**
69
+ * @deprecated Tier is no longer used for capability resolution.
70
+ * Kept for backward compatibility with cached payloads.
71
+ */
31
72
  tier?: LicenseTier;
32
73
  plan?: string;
33
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;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AAE7D,qEAAqE;AACrE,QAAA,MAAM,aAAa,kBAA2C,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B"}
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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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * PixiBenchmark — lightweight performance measurement utility for PixiJS chart.
3
+ *
4
+ * Hooks into a PixiJS `Ticker` and collects FPS, frame time, and memory stats.
5
+ * Call `start()` to begin sampling and `stop()` to get a {@link BenchmarkReport}.
6
+ *
7
+ * Usage:
8
+ * ```ts
9
+ * const bench = new PixiBenchmark(pixiChart.app.ticker);
10
+ * bench.start();
11
+ * // … render 60 s worth of frames …
12
+ * const report = bench.stop();
13
+ * console.table(report);
14
+ * ```
15
+ */
16
+ import type { Ticker } from 'pixi.js';
17
+ export interface BenchmarkReport {
18
+ /** Total frames sampled. */
19
+ frames: number;
20
+ /** Wall-clock duration of the sample window (ms). */
21
+ durationMs: number;
22
+ /** Average FPS. */
23
+ avgFps: number;
24
+ /** Minimum instantaneous FPS during the window. */
25
+ minFps: number;
26
+ /** Maximum instantaneous FPS during the window. */
27
+ maxFps: number;
28
+ /** Average frame time in milliseconds. */
29
+ avgFrameMs: number;
30
+ /** 99th-percentile frame time (ms). */
31
+ p99FrameMs: number;
32
+ /** 95th-percentile frame time (ms). */
33
+ p95FrameMs: number;
34
+ /** Percentage of frames that exceeded 16.67 ms (missed 60 fps target). */
35
+ droppedFramePct: number;
36
+ /** JS heap size at end of sample (bytes, Chrome only — 0 elsewhere). */
37
+ jsHeapUsed: number;
38
+ /** JS heap limit (bytes, Chrome only — 0 elsewhere). */
39
+ jsHeapLimit: number;
40
+ }
41
+ export declare class PixiBenchmark {
42
+ private readonly _ticker;
43
+ private _frameTimes;
44
+ private _startMs;
45
+ private _running;
46
+ private _tickerFn;
47
+ private _lastMs;
48
+ constructor(ticker: Ticker);
49
+ /** Begin sampling frame times. Any previous data is discarded. */
50
+ start(): void;
51
+ /** Stop sampling and return the collected report. */
52
+ stop(): BenchmarkReport;
53
+ /** Whether the benchmark is currently sampling. */
54
+ get running(): boolean;
55
+ }
56
+ //# sourceMappingURL=PixiBenchmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PixiBenchmark.d.ts","sourceRoot":"","sources":["../../src/pixi/PixiBenchmark.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,OAAO,CAAK;gBAER,MAAM,EAAE,MAAM;IAI1B,kEAAkE;IAClE,KAAK,IAAI,IAAI;IAeb,qDAAqD;IACrD,IAAI,IAAI,eAAe;IAkDvB,mDAAmD;IACnD,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}