@forgecharts/sdk 1.1.27 → 1.1.29

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 (356) hide show
  1. package/dist/__tests__/backwardCompatibility.test.d.ts +14 -0
  2. package/dist/__tests__/backwardCompatibility.test.d.ts.map +1 -0
  3. package/dist/__tests__/candleInvariant.test.d.ts +20 -0
  4. package/dist/__tests__/candleInvariant.test.d.ts.map +1 -0
  5. package/dist/__tests__/public-api-surface.d.ts +13 -0
  6. package/dist/__tests__/public-api-surface.d.ts.map +1 -0
  7. package/dist/__tests__/timeframeBoundary.test.d.ts +17 -0
  8. package/dist/__tests__/timeframeBoundary.test.d.ts.map +1 -0
  9. package/dist/api/DrawingManager.d.ts +20 -0
  10. package/dist/api/DrawingManager.d.ts.map +1 -0
  11. package/dist/api/EventBus.d.ts +19 -0
  12. package/dist/api/EventBus.d.ts.map +1 -0
  13. package/dist/api/IndicatorDAG.d.ts +85 -0
  14. package/dist/api/IndicatorDAG.d.ts.map +1 -0
  15. package/dist/api/IndicatorRegistry.d.ts +22 -0
  16. package/dist/api/IndicatorRegistry.d.ts.map +1 -0
  17. package/dist/api/LayoutManager.d.ts +30 -0
  18. package/dist/api/LayoutManager.d.ts.map +1 -0
  19. package/dist/api/PaneManager.d.ts +42 -0
  20. package/dist/api/PaneManager.d.ts.map +1 -0
  21. package/dist/api/ReferenceAPI.d.ts +78 -0
  22. package/dist/api/ReferenceAPI.d.ts.map +1 -0
  23. package/dist/api/TChart.d.ts +345 -0
  24. package/dist/api/TChart.d.ts.map +1 -0
  25. package/{src/api/createChart.ts → dist/api/createChart.d.ts} +2 -7
  26. package/dist/api/createChart.d.ts.map +1 -0
  27. package/dist/api/drawing tools/fib gann menu/fibRetracement.d.ts +4 -0
  28. package/dist/api/drawing tools/fib gann menu/fibRetracement.d.ts.map +1 -0
  29. package/dist/api/drawing tools/lines menu/crossLine.d.ts +4 -0
  30. package/dist/api/drawing tools/lines menu/crossLine.d.ts.map +1 -0
  31. package/dist/api/drawing tools/lines menu/disjointChannel.d.ts +17 -0
  32. package/dist/api/drawing tools/lines menu/disjointChannel.d.ts.map +1 -0
  33. package/dist/api/drawing tools/lines menu/extendedLine.d.ts +4 -0
  34. package/dist/api/drawing tools/lines menu/extendedLine.d.ts.map +1 -0
  35. package/dist/api/drawing tools/lines menu/flatTopBottom.d.ts +4 -0
  36. package/dist/api/drawing tools/lines menu/flatTopBottom.d.ts.map +1 -0
  37. package/dist/api/drawing tools/lines menu/horizontal.d.ts +4 -0
  38. package/dist/api/drawing tools/lines menu/horizontal.d.ts.map +1 -0
  39. package/dist/api/drawing tools/lines menu/horizontalRay.d.ts +4 -0
  40. package/dist/api/drawing tools/lines menu/horizontalRay.d.ts.map +1 -0
  41. package/dist/api/drawing tools/lines menu/infoLine.d.ts +4 -0
  42. package/dist/api/drawing tools/lines menu/infoLine.d.ts.map +1 -0
  43. package/dist/api/drawing tools/lines menu/insidePitchfork.d.ts +4 -0
  44. package/dist/api/drawing tools/lines menu/insidePitchfork.d.ts.map +1 -0
  45. package/dist/api/drawing tools/lines menu/modifiedSchiffPitchfork.d.ts +4 -0
  46. package/dist/api/drawing tools/lines menu/modifiedSchiffPitchfork.d.ts.map +1 -0
  47. package/dist/api/drawing tools/lines menu/parallelChannel.d.ts +4 -0
  48. package/dist/api/drawing tools/lines menu/parallelChannel.d.ts.map +1 -0
  49. package/dist/api/drawing tools/lines menu/pitchfork.d.ts +4 -0
  50. package/dist/api/drawing tools/lines menu/pitchfork.d.ts.map +1 -0
  51. package/dist/api/drawing tools/lines menu/ray.d.ts +4 -0
  52. package/dist/api/drawing tools/lines menu/ray.d.ts.map +1 -0
  53. package/dist/api/drawing tools/lines menu/regressionTrend.d.ts +4 -0
  54. package/dist/api/drawing tools/lines menu/regressionTrend.d.ts.map +1 -0
  55. package/dist/api/drawing tools/lines menu/schiffPitchfork.d.ts +4 -0
  56. package/dist/api/drawing tools/lines menu/schiffPitchfork.d.ts.map +1 -0
  57. package/dist/api/drawing tools/lines menu/trendAngle.d.ts +4 -0
  58. package/dist/api/drawing tools/lines menu/trendAngle.d.ts.map +1 -0
  59. package/dist/api/drawing tools/lines menu/trendline.d.ts +4 -0
  60. package/dist/api/drawing tools/lines menu/trendline.d.ts.map +1 -0
  61. package/dist/api/drawing tools/lines menu/vertical.d.ts +4 -0
  62. package/dist/api/drawing tools/lines menu/vertical.d.ts.map +1 -0
  63. package/{src/api/drawing tools/pointers menu/crosshair.ts → dist/api/drawing tools/pointers menu/crosshair.d.ts } +8 -9
  64. package/dist/api/drawing tools/pointers menu/crosshair.d.ts.map +1 -0
  65. package/dist/api/drawing tools/pointers menu/cursor.d.ts +15 -0
  66. package/dist/api/drawing tools/pointers menu/cursor.d.ts.map +1 -0
  67. package/{src/api/drawing tools/pointers menu/demonstration.ts → dist/api/drawing tools/pointers menu/demonstration.d.ts } +12 -17
  68. package/dist/api/drawing tools/pointers menu/demonstration.d.ts.map +1 -0
  69. package/{src/api/drawing tools/pointers menu/dot.ts → dist/api/drawing tools/pointers menu/dot.d.ts } +10 -13
  70. package/dist/api/drawing tools/pointers menu/dot.d.ts.map +1 -0
  71. package/dist/api/drawing tools/shapes menu/rectangle.d.ts +4 -0
  72. package/dist/api/drawing tools/shapes menu/rectangle.d.ts.map +1 -0
  73. package/dist/api/drawing tools/shapes menu/text.d.ts +4 -0
  74. package/dist/api/drawing tools/shapes menu/text.d.ts.map +1 -0
  75. package/dist/api/drawingUtils.d.ts +22 -0
  76. package/dist/api/drawingUtils.d.ts.map +1 -0
  77. package/dist/core/CanvasLayer.d.ts +26 -0
  78. package/dist/core/CanvasLayer.d.ts.map +1 -0
  79. package/dist/core/Chart.d.ts +164 -0
  80. package/dist/core/Chart.d.ts.map +1 -0
  81. package/dist/core/CoordTransform.d.ts +168 -0
  82. package/dist/core/CoordTransform.d.ts.map +1 -0
  83. package/dist/core/Crosshair.d.ts +30 -0
  84. package/dist/core/Crosshair.d.ts.map +1 -0
  85. package/dist/core/IndicatorEngine.d.ts +51 -0
  86. package/dist/core/IndicatorEngine.d.ts.map +1 -0
  87. package/dist/core/InteractionManager.d.ts +197 -0
  88. package/dist/core/InteractionManager.d.ts.map +1 -0
  89. package/dist/core/PriceScale.d.ts +27 -0
  90. package/dist/core/PriceScale.d.ts.map +1 -0
  91. package/dist/core/Series.d.ts +40 -0
  92. package/dist/core/Series.d.ts.map +1 -0
  93. package/dist/core/TimeScale.d.ts +43 -0
  94. package/dist/core/TimeScale.d.ts.map +1 -0
  95. package/dist/datafeed/DatafeedConnector.d.ts +89 -0
  96. package/dist/datafeed/DatafeedConnector.d.ts.map +1 -0
  97. package/dist/engine/CandleEngine.d.ts +207 -0
  98. package/dist/engine/CandleEngine.d.ts.map +1 -0
  99. package/dist/engine/__tests__/CandleEngine.test.d.ts +2 -0
  100. package/dist/engine/__tests__/CandleEngine.test.d.ts.map +1 -0
  101. package/dist/engine/candleInvariants.d.ts +66 -0
  102. package/dist/engine/candleInvariants.d.ts.map +1 -0
  103. package/{src/engine/mergeUtils.ts → dist/engine/mergeUtils.d.ts} +15 -52
  104. package/dist/engine/mergeUtils.d.ts.map +1 -0
  105. package/dist/engine/timeframeUtils.d.ts +80 -0
  106. package/dist/engine/timeframeUtils.d.ts.map +1 -0
  107. package/dist/index.d.ts +40 -0
  108. package/dist/index.d.ts.map +1 -0
  109. package/dist/index.js +8101 -0
  110. package/dist/index.js.map +1 -0
  111. package/{src/internal.ts → dist/internal.d.ts} +1 -13
  112. package/dist/internal.d.ts.map +1 -0
  113. package/dist/internal.js +8852 -0
  114. package/dist/internal.js.map +1 -0
  115. package/dist/licensing/ChartRuntimeResolver.d.ts +233 -0
  116. package/dist/licensing/ChartRuntimeResolver.d.ts.map +1 -0
  117. package/dist/licensing/LicenseManager.d.ts +55 -0
  118. package/dist/licensing/LicenseManager.d.ts.map +1 -0
  119. package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts +13 -0
  120. package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts.map +1 -0
  121. package/dist/licensing/__tests__/LicenseManager.test.d.ts +12 -0
  122. package/dist/licensing/__tests__/LicenseManager.test.d.ts.map +1 -0
  123. package/dist/licensing/licenseTypes.d.ts +18 -0
  124. package/dist/licensing/licenseTypes.d.ts.map +1 -0
  125. package/dist/pine/PineCompiler.d.ts +35 -0
  126. package/dist/pine/PineCompiler.d.ts.map +1 -0
  127. package/dist/pine/diagnostics.d.ts +20 -0
  128. package/dist/pine/diagnostics.d.ts.map +1 -0
  129. package/{src/pine/index.ts → dist/pine/index.d.ts} +4 -3
  130. package/dist/pine/index.d.ts.map +1 -0
  131. package/dist/pine/pine-ast.d.ts +142 -0
  132. package/dist/pine/pine-ast.d.ts.map +1 -0
  133. package/dist/pine/pine-lexer.d.ts +41 -0
  134. package/dist/pine/pine-lexer.d.ts.map +1 -0
  135. package/dist/pine/pine-parser.d.ts +51 -0
  136. package/dist/pine/pine-parser.d.ts.map +1 -0
  137. package/dist/pine/pine-transpiler.d.ts +33 -0
  138. package/dist/pine/pine-transpiler.d.ts.map +1 -0
  139. package/dist/pixi/LayerName.d.ts +18 -0
  140. package/dist/pixi/LayerName.d.ts.map +1 -0
  141. package/dist/pixi/PixiCandlestickRenderer.d.ts +23 -0
  142. package/dist/pixi/PixiCandlestickRenderer.d.ts.map +1 -0
  143. package/dist/pixi/PixiChart.d.ts +72 -0
  144. package/dist/pixi/PixiChart.d.ts.map +1 -0
  145. package/dist/pixi/PixiCrosshairRenderer.d.ts +29 -0
  146. package/dist/pixi/PixiCrosshairRenderer.d.ts.map +1 -0
  147. package/dist/pixi/PixiDrawingRenderer.d.ts +17 -0
  148. package/dist/pixi/PixiDrawingRenderer.d.ts.map +1 -0
  149. package/dist/pixi/PixiGridRenderer.d.ts +22 -0
  150. package/dist/pixi/PixiGridRenderer.d.ts.map +1 -0
  151. package/dist/pixi/PixiLayerManager.d.ts +56 -0
  152. package/dist/pixi/PixiLayerManager.d.ts.map +1 -0
  153. package/dist/react/canvas/ChartCanvas.d.ts +85 -0
  154. package/dist/react/canvas/ChartCanvas.d.ts.map +1 -0
  155. package/dist/react/canvas/ChartContextMenu.d.ts +18 -0
  156. package/dist/react/canvas/ChartContextMenu.d.ts.map +1 -0
  157. package/dist/react/canvas/ChartSettingsDialog.d.ts +25 -0
  158. package/dist/react/canvas/ChartSettingsDialog.d.ts.map +1 -0
  159. package/dist/react/canvas/IndicatorLabel.d.ts +21 -0
  160. package/dist/react/canvas/IndicatorLabel.d.ts.map +1 -0
  161. package/dist/react/canvas/IndicatorPane.d.ts +32 -0
  162. package/dist/react/canvas/IndicatorPane.d.ts.map +1 -0
  163. package/dist/react/canvas/PointerOverlay.d.ts +23 -0
  164. package/dist/react/canvas/PointerOverlay.d.ts.map +1 -0
  165. package/dist/react/canvas/toolbars/LeftToolbar.d.ts +19 -0
  166. package/dist/react/canvas/toolbars/LeftToolbar.d.ts.map +1 -0
  167. package/dist/react/hooks/useChartCapabilities.d.ts +21 -0
  168. package/dist/react/hooks/useChartCapabilities.d.ts.map +1 -0
  169. package/{src/react/index.ts → dist/react/index.d.ts} +2 -23
  170. package/dist/react/index.d.ts.map +1 -0
  171. package/dist/react/index.js +11559 -0
  172. package/dist/react/index.js.map +1 -0
  173. package/{src/react/internal.ts → dist/react/internal.d.ts} +2 -26
  174. package/dist/react/internal.d.ts.map +1 -0
  175. package/dist/react/internal.js +12148 -0
  176. package/dist/react/internal.js.map +1 -0
  177. package/dist/react/shell/ManagedAppShell.d.ts +91 -0
  178. package/dist/react/shell/ManagedAppShell.d.ts.map +1 -0
  179. package/dist/react/trading/TradingBridge.d.ts +86 -0
  180. package/dist/react/trading/TradingBridge.d.ts.map +1 -0
  181. package/dist/react/workspace/ChartWorkspace.d.ts +73 -0
  182. package/dist/react/workspace/ChartWorkspace.d.ts.map +1 -0
  183. package/dist/react/workspace/FloatingPanel.d.ts +18 -0
  184. package/dist/react/workspace/FloatingPanel.d.ts.map +1 -0
  185. package/dist/react/workspace/IndicatorsDialog.d.ts +8 -0
  186. package/dist/react/workspace/IndicatorsDialog.d.ts.map +1 -0
  187. package/dist/react/workspace/LayoutMenu.d.ts +33 -0
  188. package/dist/react/workspace/LayoutMenu.d.ts.map +1 -0
  189. package/dist/react/workspace/SymbolSearchDialog.d.ts +10 -0
  190. package/dist/react/workspace/SymbolSearchDialog.d.ts.map +1 -0
  191. package/dist/react/workspace/TabBar.d.ts +17 -0
  192. package/dist/react/workspace/TabBar.d.ts.map +1 -0
  193. package/dist/react/workspace/toolbars/BottomToolbar.d.ts +19 -0
  194. package/dist/react/workspace/toolbars/BottomToolbar.d.ts.map +1 -0
  195. package/dist/react/workspace/toolbars/RightToolbar.d.ts +8 -0
  196. package/dist/react/workspace/toolbars/RightToolbar.d.ts.map +1 -0
  197. package/dist/react/workspace/toolbars/TopToolbar.d.ts +41 -0
  198. package/dist/react/workspace/toolbars/TopToolbar.d.ts.map +1 -0
  199. package/dist/renderers/CandlestickRenderer.d.ts +13 -0
  200. package/dist/renderers/CandlestickRenderer.d.ts.map +1 -0
  201. package/dist/renderers/HistogramRenderer.d.ts +11 -0
  202. package/dist/renderers/HistogramRenderer.d.ts.map +1 -0
  203. package/dist/renderers/LineRenderer.d.ts +12 -0
  204. package/dist/renderers/LineRenderer.d.ts.map +1 -0
  205. package/dist/theme/colors.d.ts +4 -0
  206. package/dist/theme/colors.d.ts.map +1 -0
  207. package/dist/tools/barDivergenceCheck.d.ts +120 -0
  208. package/dist/tools/barDivergenceCheck.d.ts.map +1 -0
  209. package/dist/trading/TradingOverlayStore.d.ts +86 -0
  210. package/dist/trading/TradingOverlayStore.d.ts.map +1 -0
  211. package/dist/trading/UnmanagedIngestion.d.ts +91 -0
  212. package/dist/trading/UnmanagedIngestion.d.ts.map +1 -0
  213. package/dist/trading/__tests__/ManagedTradingController.test.d.ts +18 -0
  214. package/dist/trading/__tests__/ManagedTradingController.test.d.ts.map +1 -0
  215. package/dist/trading/__tests__/TradingOverlayStore.test.d.ts +16 -0
  216. package/dist/trading/__tests__/TradingOverlayStore.test.d.ts.map +1 -0
  217. package/dist/trading/__tests__/UnmanagedIngestion.test.d.ts +16 -0
  218. package/dist/trading/__tests__/UnmanagedIngestion.test.d.ts.map +1 -0
  219. package/dist/trading/managed/ManagedTradingController.d.ts +110 -0
  220. package/dist/trading/managed/ManagedTradingController.d.ts.map +1 -0
  221. package/dist/trading/managed/managedCapabilities.d.ts +45 -0
  222. package/dist/trading/managed/managedCapabilities.d.ts.map +1 -0
  223. package/dist/trading/managed/managedTypes.d.ts +122 -0
  224. package/dist/trading/managed/managedTypes.d.ts.map +1 -0
  225. package/dist/trading/tradingTypes.d.ts +89 -0
  226. package/dist/trading/tradingTypes.d.ts.map +1 -0
  227. package/dist/tscript/TScriptIndicator.d.ts +41 -0
  228. package/dist/tscript/TScriptIndicator.d.ts.map +1 -0
  229. package/dist/tscript/ast.d.ts +89 -0
  230. package/dist/tscript/ast.d.ts.map +1 -0
  231. package/dist/tscript/lexer.d.ts +36 -0
  232. package/dist/tscript/lexer.d.ts.map +1 -0
  233. package/dist/tscript/parser.d.ts +50 -0
  234. package/dist/tscript/parser.d.ts.map +1 -0
  235. package/dist/tscript/runtime.d.ts +123 -0
  236. package/dist/tscript/runtime.d.ts.map +1 -0
  237. package/dist/tscript/series.d.ts +49 -0
  238. package/dist/tscript/series.d.ts.map +1 -0
  239. package/dist/types/IChart.d.ts +48 -0
  240. package/dist/types/IChart.d.ts.map +1 -0
  241. package/{src/types/IRenderer.ts → dist/types/IRenderer.d.ts} +2 -8
  242. package/dist/types/IRenderer.d.ts.map +1 -0
  243. package/dist/types/ISeries.d.ts +26 -0
  244. package/dist/types/ISeries.d.ts.map +1 -0
  245. package/package.json +5 -1
  246. package/src/__tests__/backwardCompatibility.test.ts +0 -191
  247. package/src/__tests__/candleInvariant.test.ts +0 -500
  248. package/src/__tests__/public-api-surface.ts +0 -76
  249. package/src/__tests__/timeframeBoundary.test.ts +0 -583
  250. package/src/api/DrawingManager.ts +0 -188
  251. package/src/api/EventBus.ts +0 -53
  252. package/src/api/IndicatorDAG.ts +0 -389
  253. package/src/api/IndicatorRegistry.ts +0 -47
  254. package/src/api/LayoutManager.ts +0 -72
  255. package/src/api/PaneManager.ts +0 -129
  256. package/src/api/ReferenceAPI.ts +0 -195
  257. package/src/api/TChart.ts +0 -881
  258. package/src/api/drawing tools/fib gann menu/fibRetracement.ts +0 -27
  259. package/src/api/drawing tools/lines menu/crossLine.ts +0 -21
  260. package/src/api/drawing tools/lines menu/disjointChannel.ts +0 -74
  261. package/src/api/drawing tools/lines menu/extendedLine.ts +0 -22
  262. package/src/api/drawing tools/lines menu/flatTopBottom.ts +0 -45
  263. package/src/api/drawing tools/lines menu/horizontal.ts +0 -24
  264. package/src/api/drawing tools/lines menu/horizontalRay.ts +0 -25
  265. package/src/api/drawing tools/lines menu/infoLine.ts +0 -127
  266. package/src/api/drawing tools/lines menu/insidePitchfork.ts +0 -21
  267. package/src/api/drawing tools/lines menu/modifiedSchiffPitchfork.ts +0 -18
  268. package/src/api/drawing tools/lines menu/parallelChannel.ts +0 -47
  269. package/src/api/drawing tools/lines menu/pitchfork.ts +0 -15
  270. package/src/api/drawing tools/lines menu/ray.ts +0 -28
  271. package/src/api/drawing tools/lines menu/regressionTrend.ts +0 -157
  272. package/src/api/drawing tools/lines menu/schiffPitchfork.ts +0 -18
  273. package/src/api/drawing tools/lines menu/trendAngle.ts +0 -64
  274. package/src/api/drawing tools/lines menu/trendline.ts +0 -16
  275. package/src/api/drawing tools/lines menu/vertical.ts +0 -16
  276. package/src/api/drawing tools/pointers menu/cursor.ts +0 -16
  277. package/src/api/drawing tools/shapes menu/rectangle.ts +0 -24
  278. package/src/api/drawing tools/shapes menu/text.ts +0 -30
  279. package/src/api/drawingUtils.ts +0 -82
  280. package/src/core/CanvasLayer.ts +0 -77
  281. package/src/core/Chart.ts +0 -917
  282. package/src/core/CoordTransform.ts +0 -282
  283. package/src/core/Crosshair.ts +0 -207
  284. package/src/core/IndicatorEngine.ts +0 -216
  285. package/src/core/InteractionManager.ts +0 -899
  286. package/src/core/PriceScale.ts +0 -133
  287. package/src/core/Series.ts +0 -132
  288. package/src/core/TimeScale.ts +0 -175
  289. package/src/datafeed/DatafeedConnector.ts +0 -300
  290. package/src/engine/CandleEngine.ts +0 -458
  291. package/src/engine/__tests__/CandleEngine.test.ts +0 -402
  292. package/src/engine/candleInvariants.ts +0 -172
  293. package/src/engine/timeframeUtils.ts +0 -118
  294. package/src/index.ts +0 -190
  295. package/src/licensing/ChartRuntimeResolver.ts +0 -380
  296. package/src/licensing/LicenseManager.ts +0 -131
  297. package/src/licensing/__tests__/ChartRuntimeResolver.test.ts +0 -207
  298. package/src/licensing/__tests__/LicenseManager.test.ts +0 -180
  299. package/src/licensing/licenseTypes.ts +0 -19
  300. package/src/pine/PineCompiler.ts +0 -68
  301. package/src/pine/diagnostics.ts +0 -30
  302. package/src/pine/pine-ast.ts +0 -163
  303. package/src/pine/pine-lexer.ts +0 -265
  304. package/src/pine/pine-parser.ts +0 -439
  305. package/src/pine/pine-transpiler.ts +0 -301
  306. package/src/pixi/LayerName.ts +0 -35
  307. package/src/pixi/PixiCandlestickRenderer.ts +0 -125
  308. package/src/pixi/PixiChart.ts +0 -425
  309. package/src/pixi/PixiCrosshairRenderer.ts +0 -134
  310. package/src/pixi/PixiDrawingRenderer.ts +0 -121
  311. package/src/pixi/PixiGridRenderer.ts +0 -136
  312. package/src/pixi/PixiLayerManager.ts +0 -102
  313. package/src/react/canvas/ChartCanvas.tsx +0 -984
  314. package/src/react/canvas/ChartContextMenu.tsx +0 -60
  315. package/src/react/canvas/ChartSettingsDialog.tsx +0 -133
  316. package/src/react/canvas/IndicatorLabel.tsx +0 -347
  317. package/src/react/canvas/IndicatorPane.tsx +0 -503
  318. package/src/react/canvas/PointerOverlay.tsx +0 -126
  319. package/src/react/canvas/toolbars/LeftToolbar.tsx +0 -1096
  320. package/src/react/hooks/useChartCapabilities.ts +0 -76
  321. package/src/react/shell/ManagedAppShell.tsx +0 -699
  322. package/src/react/trading/TradingBridge.ts +0 -156
  323. package/src/react/workspace/ChartWorkspace.tsx +0 -228
  324. package/src/react/workspace/FloatingPanel.tsx +0 -131
  325. package/src/react/workspace/IndicatorsDialog.tsx +0 -246
  326. package/src/react/workspace/LayoutMenu.tsx +0 -345
  327. package/src/react/workspace/SymbolSearchDialog.tsx +0 -377
  328. package/src/react/workspace/TabBar.tsx +0 -87
  329. package/src/react/workspace/toolbars/BottomToolbar.tsx +0 -372
  330. package/src/react/workspace/toolbars/RightToolbar.tsx +0 -46
  331. package/src/react/workspace/toolbars/TopToolbar.tsx +0 -431
  332. package/src/renderers/CandlestickRenderer.ts +0 -130
  333. package/src/renderers/HistogramRenderer.ts +0 -63
  334. package/src/renderers/LineRenderer.ts +0 -77
  335. package/src/theme/colors.ts +0 -21
  336. package/src/tools/barDivergenceCheck.ts +0 -305
  337. package/src/trading/TradingOverlayStore.ts +0 -161
  338. package/src/trading/UnmanagedIngestion.ts +0 -156
  339. package/src/trading/__tests__/ManagedTradingController.test.ts +0 -338
  340. package/src/trading/__tests__/TradingOverlayStore.test.ts +0 -323
  341. package/src/trading/__tests__/UnmanagedIngestion.test.ts +0 -205
  342. package/src/trading/managed/ManagedTradingController.ts +0 -292
  343. package/src/trading/managed/managedCapabilities.ts +0 -98
  344. package/src/trading/managed/managedTypes.ts +0 -151
  345. package/src/trading/tradingTypes.ts +0 -135
  346. package/src/tscript/TScriptIndicator.ts +0 -54
  347. package/src/tscript/ast.ts +0 -105
  348. package/src/tscript/lexer.ts +0 -190
  349. package/src/tscript/parser.ts +0 -334
  350. package/src/tscript/runtime.ts +0 -525
  351. package/src/tscript/series.ts +0 -84
  352. package/src/types/IChart.ts +0 -56
  353. package/src/types/ISeries.ts +0 -30
  354. package/tsconfig.json +0 -23
  355. package/tsup.config.ts +0 -16
  356. package/vitest.config.ts +0 -25
@@ -1,72 +0,0 @@
1
- import type {
2
- ChartLayout,
3
- ChartInterval,
4
- ChartTheme,
5
- IndicatorInstance,
6
- Drawing,
7
- Viewport,
8
- PaneDescriptor,
9
- } from '@forgecharts/types';
10
-
11
- /**
12
- * LayoutManager — pure serialisation / deserialisation of chart state.
13
- * No side effects; state mutations are the caller's responsibility.
14
- */
15
- export class LayoutManager {
16
- /**
17
- * Produces a serialisable snapshot of the current chart state.
18
- */
19
- static save(params: {
20
- symbol: string;
21
- interval: ChartInterval;
22
- theme: ChartTheme;
23
- indicators: readonly IndicatorInstance[];
24
- drawings: readonly Drawing[];
25
- viewport?: Viewport;
26
- panes?: readonly PaneDescriptor[];
27
- }): ChartLayout {
28
- return {
29
- symbol: params.symbol,
30
- interval: params.interval,
31
- theme: params.theme,
32
- indicators: [...params.indicators],
33
- drawings: [...params.drawings],
34
- ...(params.viewport !== undefined ? { viewport: params.viewport } : {}),
35
- ...(params.panes !== undefined && params.panes.length > 0 ? { panes: [...params.panes] } : {}),
36
- savedAt: Date.now(),
37
- };
38
- }
39
-
40
- /**
41
- * Serialises a layout to a JSON string safe for `localStorage` / remote persistence.
42
- */
43
- static toJSON(layout: ChartLayout): string {
44
- return JSON.stringify(layout);
45
- }
46
-
47
- /**
48
- * Parses a JSON string back into a ChartLayout.
49
- * Throws if the string is malformed.
50
- */
51
- static fromJSON(raw: string): ChartLayout {
52
- const parsed: unknown = JSON.parse(raw);
53
- if (!LayoutManager._isLayout(parsed)) {
54
- throw new Error('[ForgeCharts] LayoutManager.fromJSON: invalid layout schema');
55
- }
56
- return parsed;
57
- }
58
-
59
- private static _isLayout(v: unknown): v is ChartLayout {
60
- if (typeof v !== 'object' || v === null) return false;
61
- const l = v as Record<string, unknown>;
62
- return (
63
- typeof l['symbol'] === 'string' &&
64
- typeof l['interval'] === 'string' &&
65
- typeof l['theme'] === 'string' &&
66
- Array.isArray(l['indicators']) &&
67
- Array.isArray(l['drawings']) &&
68
- typeof l['savedAt'] === 'number' &&
69
- (l['panes'] === undefined || Array.isArray(l['panes']))
70
- );
71
- }
72
- }
@@ -1,129 +0,0 @@
1
- import type { PaneDescriptor } from '@forgecharts/types';
2
-
3
- let _paneId = 0;
4
- function _nextId(): string {
5
- return `pane-${(++_paneId).toString()}`;
6
- }
7
-
8
- /**
9
- * PaneManager — manages the collection of sub-pane (indicator panel) descriptors.
10
- *
11
- * Each `PaneDescriptor` carries:
12
- * - a stable `id`
13
- * - a `heightFraction` (0–1, all panes sum to 1)
14
- * - the `indicatorIds` assigned to that pane
15
- *
16
- * Height redistribution is proportional: when a pane is added/removed/resized,
17
- * the remaining panes absorb or donate height proportionally to their current sizes.
18
- */
19
- export class PaneManager {
20
- private _panes: PaneDescriptor[] = [];
21
-
22
- getPanes(): readonly PaneDescriptor[] {
23
- return this._panes;
24
- }
25
-
26
- /**
27
- * Creates a new pane, distributing total height evenly across all panes.
28
- * @returns The new pane's id.
29
- */
30
- createPane(label?: string): string {
31
- const id = _nextId();
32
- const newFraction = 1 / (this._panes.length + 1);
33
- // Shrink existing panes proportionally
34
- this._panes = this._panes.map((p) => ({
35
- ...p,
36
- heightFraction: p.heightFraction * (1 - newFraction),
37
- }));
38
- this._panes.push({
39
- id,
40
- heightFraction: newFraction,
41
- indicatorIds: [],
42
- ...(label !== undefined ? { label } : {}),
43
- });
44
- return id;
45
- }
46
-
47
- /**
48
- * Removes a pane and redistributes its height fraction to remaining panes.
49
- */
50
- removePane(id: string): void {
51
- const idx = this._panes.findIndex((p) => p.id === id);
52
- if (idx === -1) return;
53
- const freed = this._panes[idx]!.heightFraction;
54
- this._panes.splice(idx, 1);
55
- if (this._panes.length > 0) {
56
- const total = this._panes.reduce((s, p) => s + p.heightFraction, 0);
57
- if (total > 0) {
58
- this._panes = this._panes.map((p) => ({
59
- ...p,
60
- heightFraction: p.heightFraction + freed * (p.heightFraction / total),
61
- }));
62
- } else {
63
- const even = 1 / this._panes.length;
64
- this._panes = this._panes.map((p) => ({ ...p, heightFraction: even }));
65
- }
66
- }
67
- }
68
-
69
- /**
70
- * Assigns an indicator to a pane, removing it from any previous pane first.
71
- */
72
- assignIndicator(indicatorId: string, paneId: string): void {
73
- // Remove from every pane first (mutual exclusion)
74
- this._panes = this._panes.map((p) => ({
75
- ...p,
76
- indicatorIds: p.indicatorIds.filter((iid) => iid !== indicatorId),
77
- }));
78
- const idx = this._panes.findIndex((p) => p.id === paneId);
79
- if (idx === -1) return;
80
- const pane = this._panes[idx]!;
81
- this._panes[idx] = { ...pane, indicatorIds: [...pane.indicatorIds, indicatorId] };
82
- }
83
-
84
- /**
85
- * Unassigns an indicator from whichever pane currently holds it.
86
- */
87
- unassignIndicator(indicatorId: string): void {
88
- this._panes = this._panes.map((p) => ({
89
- ...p,
90
- indicatorIds: p.indicatorIds.filter((iid) => iid !== indicatorId),
91
- }));
92
- }
93
-
94
- /**
95
- * Resizes a pane by setting its `heightFraction`, clamped to [0.05, 0.9].
96
- * Remaining panes absorb the difference proportionally.
97
- */
98
- resizePane(id: string, newFraction: number): void {
99
- const clamped = Math.min(Math.max(newFraction, 0.05), 0.9);
100
- const idx = this._panes.findIndex((p) => p.id === id);
101
- if (idx === -1) return;
102
- const old = this._panes[idx]!.heightFraction;
103
- const delta = clamped - old;
104
- const othersTotal = this._panes.reduce(
105
- (s, p, i) => (i !== idx ? s + p.heightFraction : s),
106
- 0,
107
- );
108
- this._panes = this._panes.map((p, i) => {
109
- if (i === idx) return { ...p, heightFraction: clamped };
110
- const share =
111
- othersTotal > 0
112
- ? p.heightFraction / othersTotal
113
- : 1 / Math.max(1, this._panes.length - 1);
114
- return { ...p, heightFraction: Math.max(0.05, p.heightFraction - delta * share) };
115
- });
116
- }
117
-
118
- serialize(): readonly PaneDescriptor[] {
119
- return [...this._panes];
120
- }
121
-
122
- restore(panes: readonly PaneDescriptor[]): void {
123
- this._panes = [...panes];
124
- }
125
-
126
- clear(): void {
127
- this._panes = [];
128
- }
129
- }
@@ -1,195 +0,0 @@
1
- import type {
2
- RefMarket,
3
- RefExchange,
4
- RefSymbol,
5
- SymbolSearchFilters,
6
- SymbolSearchResult,
7
- } from '@forgecharts/types';
8
-
9
- export type ReferenceAPIConfig = {
10
- /** Base URL of the ForgeCharts API server (e.g. "https://charts.myapp.com"). Defaults to current origin. */
11
- apiUrl?: string;
12
- /** Called to retrieve a Bearer token for authenticated endpoints. Falls back to localStorage['forgecharts-token']. */
13
- getAuthToken?: () => string | Promise<string>;
14
- };
15
-
16
- type ProviderMapping = {
17
- providerCode: string;
18
- providerSymbol: string;
19
- providerExchange: string | null;
20
- metadata: unknown;
21
- };
22
-
23
- /**
24
- * ReferenceAPI — headless SDK client for the Global Reference Data Platform.
25
- *
26
- * Provides symbol lookup, search, market/exchange browsing,
27
- * provider mapping resolution, plus per-user favorites and recents.
28
- *
29
- * @example
30
- * ```ts
31
- * const ref = new ReferenceAPI();
32
- * const { symbols } = await ref.searchSymbols('BTC');
33
- * const popular = await ref.getPopularSymbols('crypto', 10);
34
- * ```
35
- */
36
- export class ReferenceAPI {
37
- private readonly _base: string;
38
- private readonly _getToken: (() => string | Promise<string>) | undefined;
39
-
40
- constructor(config: ReferenceAPIConfig = {}) {
41
- this._base = (config.apiUrl ?? '').replace(/\/$/, '') + '/api/reference';
42
- this._getToken = config.getAuthToken;
43
- }
44
-
45
- // ── Internals ──────────────────────────────────────────────────────────────
46
-
47
- private async _authHeaders(): Promise<Record<string, string>> {
48
- const h: Record<string, string> = { 'Content-Type': 'application/json' };
49
- let token: string | null = null;
50
-
51
- if (this._getToken) {
52
- token = await this._getToken();
53
- } else if (typeof localStorage !== 'undefined') {
54
- token = localStorage.getItem('forgecharts-token');
55
- }
56
-
57
- if (token) h['Authorization'] = `Bearer ${token}`;
58
- return h;
59
- }
60
-
61
- private async _get<T>(path: string, params?: Record<string, string | number | undefined>): Promise<T> {
62
- let url = this._base + path;
63
- if (params) {
64
- const qs = new URLSearchParams();
65
- for (const [k, v] of Object.entries(params)) {
66
- if (v !== undefined) qs.set(k, String(v));
67
- }
68
- const str = qs.toString();
69
- if (str) url += '?' + str;
70
- }
71
- const res = await fetch(url, { headers: await this._authHeaders() });
72
- if (!res.ok) throw new Error(`ReferenceAPI GET ${path} → HTTP ${res.status}`);
73
- return res.json() as Promise<T>;
74
- }
75
-
76
- private async _post(path: string, body: unknown): Promise<void> {
77
- const res = await fetch(this._base + path, {
78
- method: 'POST',
79
- headers: await this._authHeaders(),
80
- body: JSON.stringify(body),
81
- });
82
- if (!res.ok && res.status !== 204) {
83
- throw new Error(`ReferenceAPI POST ${path} → HTTP ${res.status}`);
84
- }
85
- }
86
-
87
- private async _delete(path: string): Promise<void> {
88
- const res = await fetch(this._base + path, {
89
- method: 'DELETE',
90
- headers: await this._authHeaders(),
91
- });
92
- if (!res.ok && res.status !== 204) {
93
- throw new Error(`ReferenceAPI DELETE ${path} → HTTP ${res.status}`);
94
- }
95
- }
96
-
97
- // ── Markets & Exchanges ────────────────────────────────────────────────────
98
-
99
- /** Returns all active market categories (crypto, stocks, forex, …). */
100
- async getMarkets(): Promise<RefMarket[]> {
101
- return this._get<RefMarket[]>('/markets');
102
- }
103
-
104
- /** Returns all active exchanges / venues. */
105
- async getExchanges(): Promise<RefExchange[]> {
106
- return this._get<RefExchange[]>('/exchanges');
107
- }
108
-
109
- // ── Symbol catalogue ───────────────────────────────────────────────────────
110
-
111
- /**
112
- * Full-text search across symbol tickers, names, and aliases.
113
- * @param query Search term (minimum 1 character).
114
- * @param filters Optional market / exchange / limit / offset filters.
115
- */
116
- async searchSymbols(query: string, filters?: SymbolSearchFilters): Promise<SymbolSearchResult> {
117
- return this._get<SymbolSearchResult>('/symbols/search', {
118
- q: query,
119
- market: filters?.market,
120
- exchange: filters?.exchange,
121
- limit: filters?.limit,
122
- offset: filters?.offset,
123
- });
124
- }
125
-
126
- /**
127
- * Browse the symbol catalogue with optional filters.
128
- * Returns symbols ordered alphabetically.
129
- */
130
- async getSymbols(filters?: SymbolSearchFilters): Promise<SymbolSearchResult> {
131
- return this._get<SymbolSearchResult>('/symbols', {
132
- market: filters?.market,
133
- exchange: filters?.exchange,
134
- assetType: (filters as Record<string, unknown>)?.['assetType'] as string | undefined,
135
- limit: filters?.limit,
136
- offset: filters?.offset,
137
- });
138
- }
139
-
140
- /**
141
- * Returns the most popular / trending symbols.
142
- * @param market Optional market code to restrict results (e.g. "crypto").
143
- * @param limit Maximum results to return. Defaults to 20.
144
- */
145
- async getPopularSymbols(market?: string, limit = 20): Promise<RefSymbol[]> {
146
- return this._get<RefSymbol[]>('/symbols/popular', { market, limit });
147
- }
148
-
149
- /**
150
- * Fetches full metadata for a single symbol by its global symbol key.
151
- * @param symbolKey e.g. "CRYPTO:BINANCE:BTCUSDT"
152
- */
153
- async getSymbol(symbolKey: string): Promise<RefSymbol> {
154
- return this._get<RefSymbol>(`/symbols/${encodeURIComponent(symbolKey)}`);
155
- }
156
-
157
- /**
158
- * Returns all provider-specific mappings for a symbol.
159
- * Useful for resolving the correct datafeed symbol string at runtime.
160
- */
161
- async getProviderMapping(symbolKey: string): Promise<ProviderMapping[]> {
162
- return this._get<ProviderMapping[]>(
163
- `/symbols/${encodeURIComponent(symbolKey)}/provider-mapping`,
164
- );
165
- }
166
-
167
- // ── User: Recents (requires auth) ─────────────────────────────────────────
168
-
169
- /** Returns the authenticated user's recently viewed symbols (newest first). */
170
- async getRecentSymbols(): Promise<RefSymbol[]> {
171
- return this._get<RefSymbol[]>('/me/recents');
172
- }
173
-
174
- /** Records a symbol as recently viewed for the authenticated user. */
175
- async recordRecentSymbol(symbolKey: string): Promise<void> {
176
- return this._post('/me/recents', { symbolKey });
177
- }
178
-
179
- // ── User: Favorites (requires auth) ───────────────────────────────────────
180
-
181
- /** Returns the authenticated user's favorite symbols. */
182
- async getFavoriteSymbols(): Promise<RefSymbol[]> {
183
- return this._get<RefSymbol[]>('/me/favorites');
184
- }
185
-
186
- /** Adds a symbol to the authenticated user's favorites. */
187
- async addFavoriteSymbol(symbolKey: string): Promise<void> {
188
- return this._post('/me/favorites', { symbolKey });
189
- }
190
-
191
- /** Removes a symbol from the authenticated user's favorites. */
192
- async removeFavoriteSymbol(symbolKey: string): Promise<void> {
193
- return this._delete(`/me/favorites/${encodeURIComponent(symbolKey)}`);
194
- }
195
- }