@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managedTypes.d.ts","sourceRoot":"","sources":["../../../src/trading/managed/managedTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD,+CAA+C;AAC/C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEhE,0BAA0B;AAC1B,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,YAAY,CAAC;AAEjF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE,SAAS,CAAC;IAEhB,IAAI,EAAE,gBAAgB,CAAC;IAEvB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,GAAG,EAAE,MAAM,CAAC;IAEZ,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAG,MAAM,CAAC;IACpB,GAAG,CAAC,EAAS,MAAM,CAAC;IACpB,KAAK,CAAC,EAAO,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,+EAA+E;IAC/E,KAAK,EAAE,eAAe,CAAC;IAEvB,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAQ,QAAQ,CAAC;IACtB,QAAQ,EAAK,QAAQ,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,6DAA6D;IAC7D,OAAO,EAAM,MAAM,CAAC;CACrB;AAID;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtD;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3E;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC5E"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Shared trading overlay types used by both unmanaged and managed modes.
3
+ *
4
+ * These are the canonical data shapes the overlay engine, ingestion layer,
5
+ * and future managed trading service all operate on.
6
+ */
7
+ /**
8
+ * Normalised candle data accepted by the unmanaged ingestion API.
9
+ * `time` may be Unix seconds or milliseconds — the engine auto-detects.
10
+ */
11
+ export interface CandleInput {
12
+ time: number;
13
+ open: number;
14
+ high: number;
15
+ low: number;
16
+ close: number;
17
+ volume?: number;
18
+ /** True when the candle is confirmed closed (next candle has opened). */
19
+ isClosed?: boolean;
20
+ }
21
+ /** Visual role of the order line on the chart. */
22
+ export type OrderRole = 'entry' | 'stop_loss' | 'take_profit' | 'limit' | 'stop' | 'other';
23
+ /** Order side. */
24
+ export type OrderSide = 'buy' | 'sell';
25
+ /** Lifecycle status of the order. */
26
+ export type OrderStatus = 'pending' | 'open' | 'filled' | 'partial' | 'cancelled' | 'rejected' | 'expired';
27
+ export interface ChartOrder {
28
+ /** Unique order identifier — used as the primary key for upsert / remove. */
29
+ id: string;
30
+ /** Visual role — drives line colour and label. */
31
+ role: OrderRole;
32
+ side: OrderSide;
33
+ status: OrderStatus;
34
+ /** Limit / trigger price in the chart's native price unit. */
35
+ price: number;
36
+ /** Order quantity in the instrument's native lot / contract unit. */
37
+ qty: number;
38
+ /**
39
+ * Optional group identifier.
40
+ * Orders sharing a `groupId` are visually associated (e.g. bracket legs).
41
+ * The SDK does NOT manage execution rules — grouping is visual only.
42
+ */
43
+ groupId?: string;
44
+ /** Human-readable label shown next to the order line. */
45
+ label?: string;
46
+ /** ISO-8601 string or Unix timestamp (ms) when the order was placed. */
47
+ timestamp?: number | string;
48
+ /** Arbitrary client metadata — not used by the renderer. */
49
+ meta?: Record<string, unknown>;
50
+ }
51
+ export type PositionSide = 'long' | 'short';
52
+ export type PositionStatus = 'open' | 'closed' | 'partial';
53
+ export interface ChartPosition {
54
+ /** Unique position identifier. */
55
+ id: string;
56
+ side: PositionSide;
57
+ status: PositionStatus;
58
+ /** Average entry price. */
59
+ entryPrice: number;
60
+ /** Net open quantity (absolute value; sign is encoded in `side`). */
61
+ qty: number;
62
+ /** Current mark / last price (used to compute unrealized P&L). */
63
+ markPrice?: number;
64
+ /** Unrealized P&L in the account's currency. */
65
+ unrealizedPnl?: number;
66
+ /** Optional: link associated order ids (e.g. stop-loss, take-profit). */
67
+ linkedOrderIds?: string[];
68
+ /** Human-readable label. */
69
+ label?: string;
70
+ /** Arbitrary client metadata. */
71
+ meta?: Record<string, unknown>;
72
+ }
73
+ export type FillSide = 'buy' | 'sell';
74
+ export interface ExecutionFill {
75
+ /** Unique fill / execution identifier. */
76
+ id: string;
77
+ /** ID of the parent order, if known. */
78
+ orderId?: string;
79
+ side: FillSide;
80
+ /** Execution price. */
81
+ price: number;
82
+ /** Filled quantity. */
83
+ qty: number;
84
+ /** Unix timestamp in milliseconds when the fill was reported. */
85
+ timestamp: number;
86
+ /** Arbitrary client metadata. */
87
+ meta?: Record<string, unknown>;
88
+ }
89
+ //# sourceMappingURL=tradingTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradingTypes.d.ts","sourceRoot":"","sources":["../../src/trading/tradingTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAK,MAAM,CAAC;IAChB,IAAI,EAAK,MAAM,CAAC;IAChB,IAAI,EAAK,MAAM,CAAC;IAChB,GAAG,EAAM,MAAM,CAAC;IAChB,KAAK,EAAI,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAID,kDAAkD;AAClD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3F,kBAAkB;AAClB,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvC,qCAAqC;AACrC,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,MAAM,GACN,QAAQ,GACR,SAAS,GACT,WAAW,GACX,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IAEX,kDAAkD;IAClD,IAAI,EAAE,SAAS,CAAC;IAEhB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IAEpB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IAEd,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAID,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IAEvB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IAEnB,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IAEZ,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAID,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IAEX,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,QAAQ,CAAC;IAEf,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IAEZ,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAElB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * TScriptIndicator — compiles and executes a TScript program, exposing its
3
+ * plot() outputs as IndicatorPoint arrays compatible with the DAG DAGResult format.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * const ind = new TScriptIndicator(`
8
+ * indicator("My SMA")
9
+ * length = input(14)
10
+ * value = sma(close, length)
11
+ * plot(value)
12
+ * `);
13
+ *
14
+ * const plots = ind.run(bars);
15
+ * // plots[0] → IndicatorPoint[] for the first plot() call
16
+ * ```
17
+ */
18
+ import type { OHLCV } from '@forgecharts/types';
19
+ import type { IndicatorPoint } from '../core/IndicatorEngine';
20
+ export declare class TScriptIndicator {
21
+ private readonly _runtime;
22
+ /** Title from the `indicator("...")` declaration, or `'Script'` if absent. */
23
+ readonly title: string;
24
+ constructor(src: string);
25
+ /**
26
+ * Execute the script over the full bar history.
27
+ *
28
+ * Each call resets internal state and replays every bar from scratch,
29
+ * ensuring the output is deterministic regardless of prior calls.
30
+ *
31
+ * @returns array of plot series — `plots[0]` corresponds to the first
32
+ * `plot()` call in source, `plots[1]` to the second, etc.
33
+ */
34
+ run(bars: readonly OHLCV[]): IndicatorPoint[][];
35
+ /**
36
+ * Reset all persistent series state (ring buffers) without re-parsing.
37
+ * Call when the chart symbol or timeframe changes.
38
+ */
39
+ reset(): void;
40
+ }
41
+ //# sourceMappingURL=TScriptIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TScriptIndicator.d.ts","sourceRoot":"","sources":["../../src/tscript/TScriptIndicator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAE1C,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,GAAG,EAAE,MAAM;IAKvB;;;;;;;;OAQG;IACH,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,EAAE,GAAG,cAAc,EAAE,EAAE;IAI/C;;;OAGG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * TScript Abstract Syntax Tree node types.
3
+ *
4
+ * Grammar (simplified):
5
+ * program → stmt*
6
+ * stmt → indicator_decl | assign | expr_stmt
7
+ * assign → IDENT '=' expr
8
+ * indicator → 'indicator' '(' STRING ')'
9
+ * expr → ternary
10
+ * ternary → or ('?' expr ':' expr)?
11
+ * or → and ('or' and)*
12
+ * and → not ('and' not)*
13
+ * not → 'not' comparison | comparison
14
+ * comparison → addition (('<'|'>'|'<='|'>='|'=='|'!=') addition)*
15
+ * addition → multiplication (('+' | '-') multiplication)*
16
+ * multiplication→ unary (('*' | '/' | '%') unary)*
17
+ * unary → '-' unary | primary
18
+ * primary → NUMBER | STRING | BOOL | IDENT ('[' expr ']')? | call | '(' expr ')'
19
+ * call → IDENT '(' args ')'
20
+ */
21
+ export type NumberLit = {
22
+ kind: 'NumberLit';
23
+ value: number;
24
+ };
25
+ export type StringLit = {
26
+ kind: 'StringLit';
27
+ value: string;
28
+ };
29
+ export type BoolLit = {
30
+ kind: 'BoolLit';
31
+ value: boolean;
32
+ };
33
+ export type Identifier = {
34
+ kind: 'Identifier';
35
+ name: string;
36
+ };
37
+ export type IndexExpr = {
38
+ kind: 'IndexExpr';
39
+ series: Expr;
40
+ index: Expr;
41
+ };
42
+ export type CallExpr = {
43
+ kind: 'CallExpr';
44
+ callee: string;
45
+ args: Expr[];
46
+ };
47
+ export type BinaryExpr = {
48
+ kind: 'BinaryExpr';
49
+ op: '+' | '-' | '*' | '/' | '%' | '<' | '>' | '<=' | '>=' | '==' | '!=';
50
+ left: Expr;
51
+ right: Expr;
52
+ };
53
+ export type UnaryExpr = {
54
+ kind: 'UnaryExpr';
55
+ op: '-' | 'not';
56
+ operand: Expr;
57
+ };
58
+ export type TernaryExpr = {
59
+ kind: 'TernaryExpr';
60
+ condition: Expr;
61
+ consequent: Expr;
62
+ alternate: Expr;
63
+ };
64
+ export type LogicalExpr = {
65
+ kind: 'LogicalExpr';
66
+ op: 'and' | 'or';
67
+ left: Expr;
68
+ right: Expr;
69
+ };
70
+ export type Expr = NumberLit | StringLit | BoolLit | Identifier | IndexExpr | CallExpr | BinaryExpr | UnaryExpr | TernaryExpr | LogicalExpr;
71
+ export type IndicatorDecl = {
72
+ kind: 'IndicatorDecl';
73
+ title: string;
74
+ };
75
+ export type AssignStmt = {
76
+ kind: 'AssignStmt';
77
+ name: string;
78
+ value: Expr;
79
+ };
80
+ export type ExprStmt = {
81
+ kind: 'ExprStmt';
82
+ expr: Expr;
83
+ };
84
+ export type Stmt = IndicatorDecl | AssignStmt | ExprStmt;
85
+ export type Program = {
86
+ kind: 'Program';
87
+ stmts: Stmt[];
88
+ };
89
+ //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/tscript/ast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,MAAM,MAAM,SAAS,GAAI;IAAE,IAAI,EAAE,WAAW,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/D,MAAM,MAAM,SAAS,GAAI;IAAE,IAAI,EAAE,WAAW,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/D,MAAM,MAAM,OAAO,GAAM;IAAE,IAAI,EAAE,SAAS,CAAC;IAAI,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAI9D,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAI,WAAW,CAAC;IACpB,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAG,IAAI,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAG,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAI,IAAI,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAG,YAAY,CAAC;IACpB,EAAE,EAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3E,IAAI,EAAG,IAAI,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAI,WAAW,CAAC;IACpB,EAAE,EAAM,GAAG,GAAG,KAAK,CAAC;IACpB,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAQ,aAAa,CAAC;IAC1B,SAAS,EAAG,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,SAAS,EAAG,IAAI,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAG,aAAa,CAAC;IACrB,EAAE,EAAK,KAAK,GAAG,IAAI,CAAC;IACpB,IAAI,EAAG,IAAI,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,IAAI,GACZ,SAAS,GACT,SAAS,GACT,OAAO,GACP,UAAU,GACV,SAAS,GACT,QAAQ,GACR,UAAU,GACV,SAAS,GACT,WAAW,GACX,WAAW,CAAC;AAIhB,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAG,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAG,YAAY,CAAC;IACpB,IAAI,EAAG,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEzD,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAG,SAAS,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * TScript Lexer — converts source text into a flat token stream.
3
+ *
4
+ * Token types:
5
+ * NUMBER — 42, 3.14, .5
6
+ * STRING — "hello" or 'hello'
7
+ * BOOL — true / false
8
+ * IDENT — identifier or keyword
9
+ * OP — single/double-char operator
10
+ * LPAREN, RPAREN, LBRACKET, RBRACKET, COMMA, EQ, NEWLINE
11
+ * EOF
12
+ */
13
+ export type TokenKind = 'NUMBER' | 'STRING' | 'BOOL' | 'IDENT' | 'PLUS' | 'MINUS' | 'STAR' | 'SLASH' | 'PERCENT' | 'LT' | 'GT' | 'LTE' | 'GTE' | 'EQEQ' | 'NEQ' | 'QMARK' | 'COLON' | 'LPAREN' | 'RPAREN' | 'LBRACKET' | 'RBRACKET' | 'COMMA' | 'EQ' | 'NEWLINE' | 'EOF';
14
+ export type Token = {
15
+ kind: TokenKind;
16
+ value: string;
17
+ line: number;
18
+ col: number;
19
+ };
20
+ export declare class Lexer {
21
+ private _src;
22
+ private _pos;
23
+ private _line;
24
+ private _col;
25
+ constructor(src: string);
26
+ tokenize(): Token[];
27
+ private _make;
28
+ private _peek;
29
+ private _isAlpha;
30
+ private _isAlphaNum;
31
+ private _skipWhitespaceAndComments;
32
+ private _readNumber;
33
+ private _readString;
34
+ private _readIdent;
35
+ }
36
+ //# sourceMappingURL=lexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../src/tscript/lexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,SAAS,GACjB,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GACtC,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAC/C,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAC5C,OAAO,GAAG,OAAO,GACjB,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAC7C,OAAO,GAAG,IAAI,GACd,SAAS,GAAG,KAAK,CAAC;AAEtB,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAI,SAAS,CAAC;IAClB,KAAK,EAAG,MAAM,CAAC;IACf,IAAI,EAAI,MAAM,CAAC;IACf,GAAG,EAAK,MAAM,CAAC;CAChB,CAAC;AAKF,qBAAa,KAAK;IAChB,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,IAAI,CAAc;gBAEd,GAAG,EAAE,MAAM;IAIvB,QAAQ,IAAI,KAAK,EAAE;IAmEnB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,0BAA0B;IAmBlC,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,UAAU;CAenB"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * TScript Parser — recursive-descent, produces a typed AST.
3
+ *
4
+ * Precedence (low → high):
5
+ * ternary ? :
6
+ * or
7
+ * and
8
+ * not
9
+ * comparison < > <= >= == !=
10
+ * addition + -
11
+ * multiply * / %
12
+ * unary - (prefix)
13
+ * primary literals, identifiers, index [], call()
14
+ */
15
+ import type { Program } from './ast';
16
+ export declare class Parser {
17
+ private _tokens;
18
+ private _pos;
19
+ constructor(src: string);
20
+ parse(): Program;
21
+ private _stmt;
22
+ private _indicatorDecl;
23
+ private _assign;
24
+ private _exprStmt;
25
+ private _expr;
26
+ private _ternary;
27
+ private _or;
28
+ private _and;
29
+ private _not;
30
+ private _comparison;
31
+ private _addition;
32
+ private _multiplication;
33
+ private _unary;
34
+ private _primary;
35
+ private _callExpr;
36
+ private _binop;
37
+ private _current;
38
+ private _advance;
39
+ private _check;
40
+ private _checkIdent;
41
+ private _peekKind;
42
+ private _match;
43
+ private _consume;
44
+ private _consumeIdent;
45
+ private _consumeNewlineOrEOF;
46
+ private _skipNewlines;
47
+ private _collapseNewlines;
48
+ private _isStatementBoundary;
49
+ }
50
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/tscript/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,OAAO,EAKR,MAAM,OAAO,CAAC;AAIf,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,IAAI,CAAa;gBAEb,GAAG,EAAE,MAAM;IAMvB,KAAK,IAAI,OAAO;IAYhB,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,GAAG;IAWX,OAAO,CAAC,IAAI;IAWZ,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,QAAQ;IAgEhB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,oBAAoB;CAC7B"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * TScript Runtime — tree-walking interpreter.
3
+ *
4
+ * Execution model
5
+ * ───────────────
6
+ * A TScript program is executed once per compiled bar in left-to-right,
7
+ * top-to-bottom statement order. The runtime keeps a persistent `Scope`
8
+ * so that `Series` variables accumulate history across bars.
9
+ *
10
+ * Built-in series (available in every script):
11
+ * open, high, low, close, volume, hl2, hlc3, ohlc4, bar_index
12
+ *
13
+ * Built-in TA functions:
14
+ * sma(src, length) — simple moving average
15
+ * ema(src, length) — exponential moving average
16
+ * wma(src, length) — weighted moving average
17
+ * rma(src, length) — Wilder's (RMA) moving average
18
+ * stdev(src, length) — rolling standard deviation
19
+ * highest(src, n) — rolling max over n bars
20
+ * lowest(src, n) — rolling min over n bars
21
+ * change(src, n?) — src - src[n] (default n=1)
22
+ * mom(src, length) — momentum = change(src, length)
23
+ * atr(length) — Average True Range
24
+ * crossover(a, b) — a crosses above b
25
+ * crossunder(a, b) — a crosses below b
26
+ * nz(x, y?) — replace NaN with y (default 0)
27
+ * na(x) — true if x is NaN
28
+ * abs(x) — Math.abs
29
+ * max(...) — Math.max over args
30
+ * min(...) — Math.min over args
31
+ * round(x) — Math.round
32
+ * floor(x) — Math.floor
33
+ * ceil(x) — Math.ceil
34
+ * sqrt(x) — Math.sqrt
35
+ * log(x) — Math.log
36
+ * pow(x, y) — Math.pow
37
+ * sign(x) — Math.sign
38
+ *
39
+ * Built-in utility functions:
40
+ * input(default, ...) — returns the default value (params resolved externally)
41
+ * plot(value, ...) — records a value for the current bar
42
+ * barssince(cond) — bars since condition was true
43
+ */
44
+ import type { OHLCV } from '@forgecharts/types';
45
+ import { Series } from './series';
46
+ import type { IndicatorPoint } from '../core/IndicatorEngine';
47
+ /** A TScript value is a number, boolean, string, or Series. */
48
+ export type TValue = number | boolean | string | Series;
49
+ /** Scope maps variable names to their TScript values. */
50
+ export type Scope = Map<string, TValue>;
51
+ /** Result produced by a single script execution run. */
52
+ export type ScriptResult = {
53
+ /** Title from indicator("...") declaration. */
54
+ title: string;
55
+ /** Collected plot() calls for this run, in declaration order. */
56
+ plots: IndicatorPoint[][];
57
+ };
58
+ export declare class TScriptRuntime {
59
+ private readonly _program;
60
+ private readonly _scope;
61
+ private readonly _plotSeries;
62
+ title: string;
63
+ constructor(src: string);
64
+ /**
65
+ * Execute one bar.
66
+ *
67
+ * Call this in chronological order for every OHLCV bar.
68
+ * The runtime updates all built-in series with the bar's OHLCV values,
69
+ * then re-executes the full program body.
70
+ *
71
+ * @returns the current values of all `plot()` series after this bar.
72
+ */
73
+ execBar(bar: OHLCV, barIndex: number): void;
74
+ /**
75
+ * Run the full bar history and return IndicatorPoint arrays indexed by
76
+ * plot() call order.
77
+ *
78
+ * @param bars chronologically ordered OHLCV array
79
+ */
80
+ run(bars: readonly OHLCV[]): IndicatorPoint[][];
81
+ /**
82
+ * Snapshot the current plot series as IndicatorPoint arrays.
83
+ * Must be called after `run()` or after the last `execBar()`.
84
+ * @param bars the same bar array passed to run() — used for timestamps.
85
+ */
86
+ getPlots(bars: readonly OHLCV[]): IndicatorPoint[][];
87
+ /** Reset all persistent series state (call on symbol/timeframe change). */
88
+ reset(): void;
89
+ private _execStmt;
90
+ private _execAssign;
91
+ private _evalExpr;
92
+ private _evalIdent;
93
+ private _evalIndex;
94
+ private _evalBinary;
95
+ private _evalUnary;
96
+ private _evalTernary;
97
+ private _evalLogical;
98
+ private _plotIdx;
99
+ private _evalCall;
100
+ /** Resolve a call argument as a Series (wrapping scalar if needed). */
101
+ private _argSeries;
102
+ private _argInt;
103
+ private _ta_sma;
104
+ private _ta_ema;
105
+ private _ta_wma;
106
+ private _ta_rma;
107
+ private _ta_stdev;
108
+ private _ta_rolling;
109
+ private _ta_change;
110
+ private _ta_atr;
111
+ private _ta_crossover;
112
+ private _ta_crossunder;
113
+ private _ta_barssince;
114
+ /** Persistent scalar state for stateful TA functions (EMA, RMA, ATR). */
115
+ private readonly _internalState;
116
+ private _getInternalNum;
117
+ private _setInternal;
118
+ /** Push a value into a named built-in Series, creating it if needed. */
119
+ private _pushBuiltin;
120
+ /** Compute a simple rolling average directly from a Series (no state). */
121
+ private _smaOfSeries;
122
+ }
123
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/tscript/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASlC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI9D,+DAA+D;AAC/D,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAExD,yDAAyD;AACzD,MAAM,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExC,wDAAwD;AACxD,MAAM,MAAM,YAAY,GAAG;IACzB,+CAA+C;IAC/C,KAAK,EAAG,MAAM,CAAC;IACf,iEAAiE;IACjE,KAAK,EAAG,cAAc,EAAE,EAAE,CAAC;CAC5B,CAAC;AAoBF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAG7C,KAAK,EAAE,MAAM,CAAY;gBAEb,GAAG,EAAE,MAAM;IAYvB;;;;;;;;OAQG;IACH,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAqB3C;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,EAAE,GAAG,cAAc,EAAE,EAAE;IAQ/C;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,KAAK,EAAE,GAAG,cAAc,EAAE,EAAE;IAapD,2EAA2E;IAC3E,KAAK,IAAI,IAAI;IAUb,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,QAAQ,CAAK;IAErB,OAAO,CAAC,SAAS;IA0EjB,uEAAuE;IACvE,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,OAAO;IAqBf,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,aAAa;IAUrB,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAE5D,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAIpB,wEAAwE;IACxE,OAAO,CAAC,YAAY;IASpB,0EAA0E;IAC1E,OAAO,CAAC,YAAY;CAKrB"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * TScript Series — fixed-capacity ring buffer for historical bar data.
3
+ *
4
+ * Access pattern mirrors Pine Script:
5
+ * series.value — current (bar 0) value
6
+ * series.get(0) — same as .value
7
+ * series.get(1) — 1 bar ago
8
+ * series.get(n) — n bars ago (returns NaN if out of range)
9
+ *
10
+ * Internally the ring buffer stores the `capacity` most recent values in a
11
+ * circular array, so `.push()` is O(1) with no allocation after warm-up.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const s = new Series(500);
16
+ * s.push(1); s.push(2); s.push(3);
17
+ * s.get(0); // 3 (current)
18
+ * s.get(1); // 2 (one bar ago)
19
+ * s.get(2); // 1 (two bars ago)
20
+ * ```
21
+ */
22
+ export declare class Series {
23
+ private readonly _buf;
24
+ private readonly _cap;
25
+ private _head;
26
+ private _len;
27
+ constructor(capacity?: number);
28
+ /** Append a new value at the current bar position. */
29
+ push(value: number): void;
30
+ /**
31
+ * Retrieve a historical value.
32
+ * @param lookback 0 = current bar, 1 = previous bar, etc.
33
+ */
34
+ get(lookback: number): number;
35
+ /** Alias for get(0). */
36
+ get value(): number;
37
+ /** Number of values stored (up to capacity). */
38
+ get length(): number;
39
+ /** Ring-buffer capacity. */
40
+ get capacity(): number;
41
+ /**
42
+ * Snapshot: returns all stored values in chronological order
43
+ * (oldest first, newest last).
44
+ */
45
+ toArray(): number[];
46
+ /** Reset the buffer (e.g. on symbol change). */
47
+ reset(): void;
48
+ }
49
+ //# sourceMappingURL=series.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"series.d.ts","sourceRoot":"","sources":["../../src/tscript/series.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,IAAI,CAAc;gBAEd,QAAQ,SAAO;IAK3B,sDAAsD;IACtD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMzB;;;OAGG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAO7B,wBAAwB;IACxB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,gDAAgD;IAChD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,4BAA4B;IAC5B,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;OAGG;IACH,OAAO,IAAI,MAAM,EAAE;IAQnB,gDAAgD;IAChD,KAAK,IAAI,IAAI;CAKd"}
@@ -0,0 +1,48 @@
1
+ import type { SeriesOptions } from '@forgecharts/types';
2
+ import type { ISeries } from './ISeries';
3
+ import type { CoordTransform } from '../core/CoordTransform';
4
+ export interface IChart {
5
+ /**
6
+ * Adds a new series to the chart and returns a handle for data management.
7
+ */
8
+ addSeries(options: SeriesOptions): ISeries;
9
+ /**
10
+ * Removes a previously added series.
11
+ */
12
+ removeSeries(series: ISeries): void;
13
+ /**
14
+ * Registers a plugin that participates in the render loop.
15
+ */
16
+ addPlugin(plugin: IChartPlugin): void;
17
+ /**
18
+ * Deregisters a plugin.
19
+ */
20
+ removePlugin(plugin: IChartPlugin): void;
21
+ /**
22
+ * Applies partial chart options at runtime (theme, scale options, etc.).
23
+ */
24
+ applyOptions(options: import('@forgecharts/types').ChartOptions): void;
25
+ /**
26
+ * Manually sets the canvas dimensions. Usually called from ResizeObserver.
27
+ */
28
+ resize(width: number, height: number): void;
29
+ /**
30
+ * Tears down all resources and removes canvas elements from the DOM.
31
+ */
32
+ destroy(): void;
33
+ /**
34
+ * Returns the coordinate transform for pixel ↔ data conversions.
35
+ * The returned instance is kept up-to-date across resizes; callers may
36
+ * hold a stable reference.
37
+ */
38
+ transform(): CoordTransform;
39
+ }
40
+ export interface IChartPlugin {
41
+ /** Called once when the plugin is added to a chart. */
42
+ onAttach(chart: IChart): void;
43
+ /** Called once when the plugin is removed from a chart. */
44
+ onDetach(): void;
45
+ /** Called every animation frame after series are rendered. */
46
+ onRender(): void;
47
+ }
48
+ //# sourceMappingURL=IChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IChart.d.ts","sourceRoot":"","sources":["../../src/types/IChart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;IAE3C;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAEzC;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,oBAAoB,EAAE,YAAY,GAAG,IAAI,CAAC;IAEvE;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5C;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAEhB;;;;OAIG;IACH,SAAS,IAAI,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,2DAA2D;IAC3D,QAAQ,IAAI,IAAI,CAAC;IACjB,8DAA8D;IAC9D,QAAQ,IAAI,IAAI,CAAC;CAClB"}
@@ -1,16 +1,10 @@
1
1
  import type { OHLCV, SeriesOptions, Viewport, Rect } from '@forgecharts/types';
2
-
3
2
  /**
4
3
  * IRenderer — contract for all series drawing strategies.
5
4
  * Each renderer receives only what it needs: bars, viewport, and target rect.
6
5
  * No DOM or Chart references — pure canvas drawing.
7
6
  */
8
7
  export interface IRenderer {
9
- draw(
10
- ctx: CanvasRenderingContext2D,
11
- bars: readonly OHLCV[],
12
- viewport: Viewport,
13
- rect: Rect,
14
- options: SeriesOptions,
15
- ): void;
8
+ draw(ctx: CanvasRenderingContext2D, bars: readonly OHLCV[], viewport: Viewport, rect: Rect, options: SeriesOptions): void;
16
9
  }
10
+ //# sourceMappingURL=IRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRenderer.d.ts","sourceRoot":"","sources":["../../src/types/IRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/E;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,CACF,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,SAAS,KAAK,EAAE,EACtB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,GACrB,IAAI,CAAC;CACT"}
@@ -0,0 +1,26 @@
1
+ import type { OHLCV, SeriesOptions } from '@forgecharts/types';
2
+ export interface ISeries {
3
+ /**
4
+ * Replaces the entire dataset. Data need not be pre-sorted.
5
+ */
6
+ setData(data: readonly OHLCV[]): void;
7
+ /**
8
+ * Appends or updates the last bar.
9
+ * If bar.time === last bar's time, the bar is updated (real-time tick).
10
+ * Otherwise, the bar is appended.
11
+ */
12
+ update(bar: OHLCV): void;
13
+ /**
14
+ * Returns the current dataset (sorted ascending by time).
15
+ */
16
+ data(): readonly OHLCV[];
17
+ /**
18
+ * Merges partial options into the series configuration.
19
+ */
20
+ applyOptions(options: Partial<SeriesOptions>): void;
21
+ /**
22
+ * Returns the current fully-resolved series options.
23
+ */
24
+ options(): SeriesOptions;
25
+ }
26
+ //# sourceMappingURL=ISeries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISeries.d.ts","sourceRoot":"","sources":["../../src/types/ISeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,KAAK,EAAE,GAAG,IAAI,CAAC;IAEtC;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,IAAI,IAAI,SAAS,KAAK,EAAE,CAAC;IAEzB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAEpD;;OAEG;IACH,OAAO,IAAI,aAAa,CAAC;CAC1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgecharts/sdk",
3
- "version": "1.1.27",
3
+ "version": "1.1.29",
4
4
  "description": "ForgeCharts SDK — canvas-based charting engine, no third-party chart libraries",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,6 +35,10 @@
35
35
  "require": "./dist/react/internal.js"
36
36
  }
37
37
  },
38
+ "files": [
39
+ "dist",
40
+ "README.md"
41
+ ],
38
42
  "sideEffects": false,
39
43
  "scripts": {
40
44
  "build": "tsup --no-dts && tsc --build --force tsconfig.json",