@forgecharts/sdk 1.1.36 → 1.2.3

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 (235) hide show
  1. package/dist/api/DrawingManager.d.ts +1 -1
  2. package/dist/api/DrawingManager.d.ts.map +1 -1
  3. package/dist/api/LayoutManager.d.ts +2 -1
  4. package/dist/api/LayoutManager.d.ts.map +1 -1
  5. package/dist/api/ReferenceAPI.d.ts +5 -0
  6. package/dist/api/ReferenceAPI.d.ts.map +1 -1
  7. package/dist/api/TChart.d.ts +40 -0
  8. package/dist/api/TChart.d.ts.map +1 -1
  9. package/dist/api/drawing tools/fib gann menu/fibChannel.d.ts +4 -0
  10. package/dist/api/drawing tools/fib gann menu/fibChannel.d.ts.map +1 -0
  11. package/dist/api/drawing tools/fib gann menu/fibCircles.d.ts +4 -0
  12. package/dist/api/drawing tools/fib gann menu/fibCircles.d.ts.map +1 -0
  13. package/dist/api/drawing tools/fib gann menu/fibRetracement.d.ts.map +1 -1
  14. package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceArcs.d.ts +4 -0
  15. package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceArcs.d.ts.map +1 -0
  16. package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceFan.d.ts +4 -0
  17. package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceFan.d.ts.map +1 -0
  18. package/dist/api/drawing tools/fib gann menu/fibSpiral.d.ts +4 -0
  19. package/dist/api/drawing tools/fib gann menu/fibSpiral.d.ts.map +1 -0
  20. package/dist/api/drawing tools/fib gann menu/fibTimeZone.d.ts +4 -0
  21. package/dist/api/drawing tools/fib gann menu/fibTimeZone.d.ts.map +1 -0
  22. package/dist/api/drawing tools/fib gann menu/fibWedge.d.ts +4 -0
  23. package/dist/api/drawing tools/fib gann menu/fibWedge.d.ts.map +1 -0
  24. package/dist/api/drawing tools/fib gann menu/gannBox.d.ts +4 -0
  25. package/dist/api/drawing tools/fib gann menu/gannBox.d.ts.map +1 -0
  26. package/dist/api/drawing tools/fib gann menu/gannFan.d.ts +4 -0
  27. package/dist/api/drawing tools/fib gann menu/gannFan.d.ts.map +1 -0
  28. package/dist/api/drawing tools/fib gann menu/gannSquare.d.ts +4 -0
  29. package/dist/api/drawing tools/fib gann menu/gannSquare.d.ts.map +1 -0
  30. package/dist/api/drawing tools/fib gann menu/gannSquareFixed.d.ts +4 -0
  31. package/dist/api/drawing tools/fib gann menu/gannSquareFixed.d.ts.map +1 -0
  32. package/dist/api/drawing tools/fib gann menu/pitchfan.d.ts +4 -0
  33. package/dist/api/drawing tools/fib gann menu/pitchfan.d.ts.map +1 -0
  34. package/dist/api/drawing tools/fib gann menu/trendBasedFibExtension.d.ts +4 -0
  35. package/dist/api/drawing tools/fib gann menu/trendBasedFibExtension.d.ts.map +1 -0
  36. package/dist/api/drawing tools/fib gann menu/trendBasedFibTime.d.ts +4 -0
  37. package/dist/api/drawing tools/fib gann menu/trendBasedFibTime.d.ts.map +1 -0
  38. package/dist/api/drawing tools/shapes menu/anchoredText.d.ts +7 -0
  39. package/dist/api/drawing tools/shapes menu/anchoredText.d.ts.map +1 -0
  40. package/dist/api/drawing tools/shapes menu/arc.d.ts +8 -0
  41. package/dist/api/drawing tools/shapes menu/arc.d.ts.map +1 -0
  42. package/dist/api/drawing tools/shapes menu/arrow.d.ts +4 -0
  43. package/dist/api/drawing tools/shapes menu/arrow.d.ts.map +1 -0
  44. package/dist/api/drawing tools/shapes menu/arrowDown.d.ts +7 -0
  45. package/dist/api/drawing tools/shapes menu/arrowDown.d.ts.map +1 -0
  46. package/dist/api/drawing tools/shapes menu/arrowUp.d.ts +7 -0
  47. package/dist/api/drawing tools/shapes menu/arrowUp.d.ts.map +1 -0
  48. package/dist/api/drawing tools/shapes menu/callout.d.ts +7 -0
  49. package/dist/api/drawing tools/shapes menu/callout.d.ts.map +1 -0
  50. package/dist/api/drawing tools/shapes menu/dateRange.d.ts +4 -0
  51. package/dist/api/drawing tools/shapes menu/dateRange.d.ts.map +1 -0
  52. package/dist/api/drawing tools/shapes menu/ellipse.d.ts +4 -0
  53. package/dist/api/drawing tools/shapes menu/ellipse.d.ts.map +1 -0
  54. package/dist/api/drawing tools/shapes menu/longPosition.d.ts +4 -0
  55. package/dist/api/drawing tools/shapes menu/longPosition.d.ts.map +1 -0
  56. package/dist/api/drawing tools/shapes menu/priceLabel.d.ts +7 -0
  57. package/dist/api/drawing tools/shapes menu/priceLabel.d.ts.map +1 -0
  58. package/dist/api/drawing tools/shapes menu/priceRange.d.ts +4 -0
  59. package/dist/api/drawing tools/shapes menu/priceRange.d.ts.map +1 -0
  60. package/dist/api/drawing tools/shapes menu/shortPosition.d.ts +4 -0
  61. package/dist/api/drawing tools/shapes menu/shortPosition.d.ts.map +1 -0
  62. package/dist/api/drawing tools/shapes menu/triangle.d.ts +4 -0
  63. package/dist/api/drawing tools/shapes menu/triangle.d.ts.map +1 -0
  64. package/dist/core/Chart.d.ts +21 -2
  65. package/dist/core/Chart.d.ts.map +1 -1
  66. package/dist/core/CoordTransform.d.ts.map +1 -1
  67. package/dist/core/Crosshair.d.ts +2 -0
  68. package/dist/core/Crosshair.d.ts.map +1 -1
  69. package/dist/core/InteractionManager.d.ts +36 -2
  70. package/dist/core/InteractionManager.d.ts.map +1 -1
  71. package/dist/core/PriceScale.d.ts +2 -0
  72. package/dist/core/PriceScale.d.ts.map +1 -1
  73. package/dist/core/TimeScale.d.ts +52 -1
  74. package/dist/core/TimeScale.d.ts.map +1 -1
  75. package/dist/datafeed/DatafeedConnector.d.ts +4 -0
  76. package/dist/datafeed/DatafeedConnector.d.ts.map +1 -1
  77. package/dist/forgecharts.css +1938 -111
  78. package/dist/forgescript/ast.d.ts +71 -4
  79. package/dist/forgescript/ast.d.ts.map +1 -1
  80. package/dist/forgescript/builtins/collections.d.ts +56 -0
  81. package/dist/forgescript/builtins/collections.d.ts.map +1 -0
  82. package/dist/forgescript/builtins/drawing.d.ts +57 -0
  83. package/dist/forgescript/builtins/drawing.d.ts.map +1 -0
  84. package/dist/forgescript/builtins/udt.d.ts +30 -0
  85. package/dist/forgescript/builtins/udt.d.ts.map +1 -0
  86. package/dist/forgescript/conversion/index.d.ts +16 -9
  87. package/dist/forgescript/conversion/index.d.ts.map +1 -1
  88. package/dist/forgescript/conversion/types.d.ts +10 -54
  89. package/dist/forgescript/conversion/types.d.ts.map +1 -1
  90. package/dist/forgescript/conversion/validation.d.ts.map +1 -1
  91. package/dist/forgescript/datasets/DatasetStore.d.ts +65 -0
  92. package/dist/forgescript/datasets/DatasetStore.d.ts.map +1 -0
  93. package/dist/forgescript/datasets/parseDataset.d.ts +32 -0
  94. package/dist/forgescript/datasets/parseDataset.d.ts.map +1 -0
  95. package/dist/forgescript/parser.d.ts +19 -1
  96. package/dist/forgescript/parser.d.ts.map +1 -1
  97. package/dist/forgescript/runtime.d.ts +119 -104
  98. package/dist/forgescript/runtime.d.ts.map +1 -1
  99. package/dist/index.d.ts +3 -5
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +12034 -6683
  102. package/dist/index.js.map +1 -1
  103. package/dist/internal.d.ts +2 -0
  104. package/dist/internal.d.ts.map +1 -1
  105. package/dist/internal.js +13494 -8884
  106. package/dist/internal.js.map +1 -1
  107. package/dist/licensing/licenseTypes.d.ts +1 -0
  108. package/dist/licensing/licenseTypes.d.ts.map +1 -1
  109. package/dist/pixi/PixiBenchmark.d.ts +56 -0
  110. package/dist/pixi/PixiBenchmark.d.ts.map +1 -0
  111. package/dist/pixi/PixiCandlestickRenderer.d.ts +5 -6
  112. package/dist/pixi/PixiCandlestickRenderer.d.ts.map +1 -1
  113. package/dist/pixi/PixiChart.d.ts +100 -2
  114. package/dist/pixi/PixiChart.d.ts.map +1 -1
  115. package/dist/pixi/PixiCrosshairRenderer.d.ts +10 -0
  116. package/dist/pixi/PixiCrosshairRenderer.d.ts.map +1 -1
  117. package/dist/pixi/PixiDrawingRenderer.d.ts +17 -5
  118. package/dist/pixi/PixiDrawingRenderer.d.ts.map +1 -1
  119. package/dist/pixi/PixiGridRenderer.d.ts +16 -2
  120. package/dist/pixi/PixiGridRenderer.d.ts.map +1 -1
  121. package/dist/pixi/PixiHistogramRenderer.d.ts +17 -0
  122. package/dist/pixi/PixiHistogramRenderer.d.ts.map +1 -0
  123. package/dist/pixi/PixiIndicatorRenderer.d.ts +31 -0
  124. package/dist/pixi/PixiIndicatorRenderer.d.ts.map +1 -0
  125. package/dist/pixi/PixiLastPriceRenderer.d.ts +33 -0
  126. package/dist/pixi/PixiLastPriceRenderer.d.ts.map +1 -0
  127. package/dist/pixi/PixiLayerManager.d.ts.map +1 -1
  128. package/dist/pixi/PixiLineRenderer.d.ts +19 -0
  129. package/dist/pixi/PixiLineRenderer.d.ts.map +1 -0
  130. package/dist/pixi/PixiTradingRenderer.d.ts +46 -0
  131. package/dist/pixi/PixiTradingRenderer.d.ts.map +1 -0
  132. package/dist/react/agent/AgentFAB.d.ts +20 -0
  133. package/dist/react/agent/AgentFAB.d.ts.map +1 -0
  134. package/dist/react/agent/AgentProvider.d.ts +15 -0
  135. package/dist/react/agent/AgentProvider.d.ts.map +1 -0
  136. package/dist/react/agent/AgentUIBus.d.ts +111 -0
  137. package/dist/react/agent/AgentUIBus.d.ts.map +1 -0
  138. package/dist/react/agent/AssistantPanel.d.ts +12 -0
  139. package/dist/react/agent/AssistantPanel.d.ts.map +1 -0
  140. package/dist/react/agent/CommandDispatcher.d.ts +77 -0
  141. package/dist/react/agent/CommandDispatcher.d.ts.map +1 -0
  142. package/dist/react/agent/VoiceInput.d.ts +36 -0
  143. package/dist/react/agent/VoiceInput.d.ts.map +1 -0
  144. package/dist/react/agent/index.d.ts +18 -0
  145. package/dist/react/agent/index.d.ts.map +1 -0
  146. package/dist/react/agent/useAgent.d.ts +81 -0
  147. package/dist/react/agent/useAgent.d.ts.map +1 -0
  148. package/dist/react/canvas/ChartCanvas.d.ts +45 -0
  149. package/dist/react/canvas/ChartCanvas.d.ts.map +1 -1
  150. package/dist/react/canvas/ChartSettingsDialog.d.ts +80 -2
  151. package/dist/react/canvas/ChartSettingsDialog.d.ts.map +1 -1
  152. package/dist/react/canvas/ContractSwitchDialog.d.ts +22 -0
  153. package/dist/react/canvas/ContractSwitchDialog.d.ts.map +1 -0
  154. package/dist/react/canvas/DrawingPropertiesDialog.d.ts +23 -0
  155. package/dist/react/canvas/DrawingPropertiesDialog.d.ts.map +1 -0
  156. package/dist/react/canvas/IndicatorPane.d.ts.map +1 -1
  157. package/dist/react/canvas/PointerOverlay.d.ts +6 -3
  158. package/dist/react/canvas/PointerOverlay.d.ts.map +1 -1
  159. package/dist/react/canvas/PositionPropertiesDialog.d.ts +22 -0
  160. package/dist/react/canvas/PositionPropertiesDialog.d.ts.map +1 -0
  161. package/dist/react/canvas/toolbars/LeftToolbar.d.ts +6 -1
  162. package/dist/react/canvas/toolbars/LeftToolbar.d.ts.map +1 -1
  163. package/dist/react/hooks/useBrokerEvents.d.ts +9 -0
  164. package/dist/react/hooks/useBrokerEvents.d.ts.map +1 -1
  165. package/dist/react/hooks/usePanelDrag.d.ts +2 -0
  166. package/dist/react/hooks/usePanelDrag.d.ts.map +1 -0
  167. package/dist/react/index.d.ts +3 -0
  168. package/dist/react/index.d.ts.map +1 -1
  169. package/dist/react/index.js +16158 -4468
  170. package/dist/react/index.js.map +1 -1
  171. package/dist/react/internal.js +23373 -10757
  172. package/dist/react/internal.js.map +1 -1
  173. package/dist/react/shell/DatasetImportPanel.d.ts +2 -0
  174. package/dist/react/shell/DatasetImportPanel.d.ts.map +1 -0
  175. package/dist/react/shell/DatasetManagerDrawer.d.ts +10 -0
  176. package/dist/react/shell/DatasetManagerDrawer.d.ts.map +1 -0
  177. package/dist/react/shell/DocsEditor.d.ts +10 -0
  178. package/dist/react/shell/DocsEditor.d.ts.map +1 -0
  179. package/dist/react/shell/ManagedAppShell.d.ts +27 -0
  180. package/dist/react/shell/ManagedAppShell.d.ts.map +1 -1
  181. package/dist/react/shell/OrderEntryPanel.d.ts +6 -1
  182. package/dist/react/shell/OrderEntryPanel.d.ts.map +1 -1
  183. package/dist/react/shell/ScriptDrawer.d.ts.map +1 -1
  184. package/dist/react/shell/ScriptSettings.d.ts +20 -0
  185. package/dist/react/shell/ScriptSettings.d.ts.map +1 -0
  186. package/dist/react/shell/TradeDrawer.d.ts.map +1 -1
  187. package/dist/react/shell/WatchlistDrawer.d.ts.map +1 -1
  188. package/dist/react/workspace/BottomTradingPanel.d.ts +75 -0
  189. package/dist/react/workspace/BottomTradingPanel.d.ts.map +1 -0
  190. package/dist/react/workspace/ChartWorkspace.d.ts +35 -1
  191. package/dist/react/workspace/ChartWorkspace.d.ts.map +1 -1
  192. package/dist/react/workspace/IndicatorsDialog.d.ts +5 -1
  193. package/dist/react/workspace/IndicatorsDialog.d.ts.map +1 -1
  194. package/dist/react/workspace/SymbolSearchDialog.d.ts.map +1 -1
  195. package/dist/react/workspace/toolbars/BottomToolbar.d.ts +3 -1
  196. package/dist/react/workspace/toolbars/BottomToolbar.d.ts.map +1 -1
  197. package/dist/react/workspace/toolbars/RightToolbar.d.ts +5 -1
  198. package/dist/react/workspace/toolbars/RightToolbar.d.ts.map +1 -1
  199. package/dist/react/workspace/toolbars/TopToolbar.d.ts +20 -1
  200. package/dist/react/workspace/toolbars/TopToolbar.d.ts.map +1 -1
  201. package/dist/renderers/CandlestickRenderer.d.ts.map +1 -1
  202. package/dist/theme/colors.d.ts.map +1 -1
  203. package/dist/trading/UnmanagedIngestion.d.ts +39 -12
  204. package/dist/trading/UnmanagedIngestion.d.ts.map +1 -1
  205. package/dist/trading/tradingTypes.d.ts +11 -2
  206. package/dist/trading/tradingTypes.d.ts.map +1 -1
  207. package/dist/types/ChartBackend.d.ts +61 -0
  208. package/dist/types/ChartBackend.d.ts.map +1 -0
  209. package/package.json +2 -2
  210. package/dist/forgescript/__tests__/ai-response-parser.test.d.ts +0 -2
  211. package/dist/forgescript/__tests__/ai-response-parser.test.d.ts.map +0 -1
  212. package/dist/forgescript/__tests__/orchestrator.test.d.ts +0 -2
  213. package/dist/forgescript/__tests__/orchestrator.test.d.ts.map +0 -1
  214. package/dist/forgescript/__tests__/pine-transpiler.test.d.ts +0 -2
  215. package/dist/forgescript/__tests__/pine-transpiler.test.d.ts.map +0 -1
  216. package/dist/forgescript/conversion/ai-conversion-agent.d.ts +0 -41
  217. package/dist/forgescript/conversion/ai-conversion-agent.d.ts.map +0 -1
  218. package/dist/forgescript/conversion/conversion-orchestrator.d.ts +0 -44
  219. package/dist/forgescript/conversion/conversion-orchestrator.d.ts.map +0 -1
  220. package/dist/forgescript/conversion/prompts/index.d.ts +0 -17
  221. package/dist/forgescript/conversion/prompts/index.d.ts.map +0 -1
  222. package/dist/forgescript/pine/PineCompiler.d.ts +0 -38
  223. package/dist/forgescript/pine/PineCompiler.d.ts.map +0 -1
  224. package/dist/forgescript/pine/diagnostics.d.ts +0 -20
  225. package/dist/forgescript/pine/diagnostics.d.ts.map +0 -1
  226. package/dist/forgescript/pine/index.d.ts +0 -8
  227. package/dist/forgescript/pine/index.d.ts.map +0 -1
  228. package/dist/forgescript/pine/pine-ast.d.ts +0 -190
  229. package/dist/forgescript/pine/pine-ast.d.ts.map +0 -1
  230. package/dist/forgescript/pine/pine-lexer.d.ts +0 -41
  231. package/dist/forgescript/pine/pine-lexer.d.ts.map +0 -1
  232. package/dist/forgescript/pine/pine-parser.d.ts +0 -108
  233. package/dist/forgescript/pine/pine-parser.d.ts.map +0 -1
  234. package/dist/forgescript/pine/pine-transpiler.d.ts +0 -40
  235. package/dist/forgescript/pine/pine-transpiler.d.ts.map +0 -1
@@ -0,0 +1,2 @@
1
+ export declare function DatasetImportPanel(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=DatasetImportPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatasetImportPanel.d.ts","sourceRoot":"","sources":["../../../src/react/shell/DatasetImportPanel.tsx"],"names":[],"mappings":"AAyBA,wBAAgB,kBAAkB,4CA6NjC"}
@@ -0,0 +1,10 @@
1
+ type Props = {
2
+ scriptId: string | null;
3
+ isOwner: boolean;
4
+ apiBase: string;
5
+ authToken?: string;
6
+ getAuthToken?: () => string | Promise<string>;
7
+ };
8
+ export declare function DatasetManagerDrawer({ scriptId, isOwner, apiBase, authToken: staticToken, getAuthToken }: Props): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=DatasetManagerDrawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatasetManagerDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/DatasetManagerDrawer.tsx"],"names":[],"mappings":"AA4CA,KAAK,KAAK,GAAG;IACX,QAAQ,EAAO,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAQ,OAAO,CAAC;IACvB,OAAO,EAAQ,MAAM,CAAC;IACtB,SAAS,CAAC,EAAK,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C,CAAC;AAIF,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,KAAK,2CA+I/G"}
@@ -0,0 +1,10 @@
1
+ type Props = {
2
+ scriptId: string | null;
3
+ isOwner: boolean;
4
+ apiBase: string;
5
+ authToken?: string;
6
+ getAuthToken?: () => string | Promise<string>;
7
+ };
8
+ export declare function DocsEditor({ scriptId, isOwner, apiBase, authToken: staticToken, getAuthToken }: Props): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=DocsEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocsEditor.d.ts","sourceRoot":"","sources":["../../../src/react/shell/DocsEditor.tsx"],"names":[],"mappings":"AAQA,KAAK,KAAK,GAAG;IACX,QAAQ,EAAO,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAQ,OAAO,CAAC;IACvB,OAAO,EAAQ,MAAM,CAAC;IACtB,SAAS,CAAC,EAAK,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C,CAAC;AA+BF,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,KAAK,2CAmIrG"}
@@ -111,6 +111,33 @@ export type ManagedAppShellProps = {
111
111
  * If omitted, custom timeframes are stored only in workspace preferences.
112
112
  */
113
113
  timeframesApi?: TimeframesAPI;
114
+ /**
115
+ * Provider-specific timeframe groups appended after the standard groups
116
+ * in the timeframe dropdown. Pass Rithmic tick/volume/range groups here
117
+ * when Rithmic is the active data provider:
118
+ * ```ts
119
+ * extraTfGroups={[
120
+ * { label: 'Seconds', items: ['1s', '5s', '10s', '30s'] },
121
+ * { label: 'Tick', items: ['100t', '250t', '500t', '1000t'] },
122
+ * { label: 'Volume', items: ['500v', '1000v', '5000v'] },
123
+ * { label: 'Range', items: ['1r', '2r', '4r'] },
124
+ * ]}
125
+ * ```
126
+ */
127
+ extraTfGroups?: {
128
+ label: string;
129
+ items: string[];
130
+ }[];
131
+ /**
132
+ * Called when the active market-data provider changes due to a broker session
133
+ * connecting or disconnecting. Receives the provider code (e.g. `'rithmic'`,
134
+ * `'databento'`) when a session activates, or `null` when the session ends and
135
+ * the runtime reverts to its default provider.
136
+ *
137
+ * Use this to conditionally set `extraTfGroups` — e.g. pass Rithmic
138
+ * tick/volume/range groups only when `code === 'rithmic'`.
139
+ */
140
+ onDataProviderChange?: (code: string | null) => void;
114
141
  };
115
142
  export type ManagedAppShellHandle = {
116
143
  getActiveChartHandle: () => ChartCanvasHandle | null;
@@ -1 +1 @@
1
- {"version":3,"file":"ManagedAppShell.d.ts","sourceRoot":"","sources":["../../../src/react/shell/ManagedAppShell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ManagedAppShell.d.ts","sourceRoot":"","sources":["../../../src/react/shell/ManagedAppShell.tsx"],"names":[],"mappings":"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"}
@@ -37,6 +37,9 @@ export type OrderEntryPanelProps = {
37
37
  onReverse?: (opts: {
38
38
  symbol: string;
39
39
  accountId: string;
40
+ bracketOn?: boolean;
41
+ tpTicks?: number;
42
+ slTicks?: number;
40
43
  }) => void | Promise<void>;
41
44
  onFlattenAll?: (opts: {
42
45
  accountId: string;
@@ -65,6 +68,8 @@ export type OrderEntryPanelProps = {
65
68
  takeProfitTicks: number;
66
69
  stopLossTicks: number;
67
70
  }) => Promise<void>;
71
+ onToggleTradingPanel?: () => void;
72
+ tradingPanelOpen?: boolean;
68
73
  onDisconnect?: () => void; /** Called when the user clicks "Connect" after a previous disconnect. */
69
74
  onConnect?: () => void;
70
75
  /** When true the panel shows a disconnected state with a Connect button. */
@@ -91,6 +96,6 @@ export type OrderPreset = {
91
96
  tpTicks?: string;
92
97
  slTicks?: string;
93
98
  };
94
- export declare function OrderEntryPanel({ sessionId, brokerSlug, accounts, selectedAccountId, defaultSymbol, apiUrl, getAuthToken, connecting, connectionError, onRetryConnect, onChangeAccount, onClose, presets, onSavePreset, onLoadPreset, onClosePosition, onCancelOrders, onReverse, onFlattenAll, onPlaceOrder, onPlaceBracketOrder, onDisconnect, onConnect, disconnected, symbolResolver, onSymbolChange, }: OrderEntryPanelProps): import("react/jsx-runtime").JSX.Element;
99
+ export declare function OrderEntryPanel({ sessionId, brokerSlug, accounts, selectedAccountId, defaultSymbol, apiUrl, getAuthToken, connecting, connectionError, onRetryConnect, onChangeAccount, onClose, presets, onSavePreset, onLoadPreset, onClosePosition, onCancelOrders, onReverse, onFlattenAll, onPlaceOrder, onPlaceBracketOrder, onDisconnect, onConnect, disconnected, symbolResolver, onSymbolChange, onToggleTradingPanel, tradingPanelOpen, }: OrderEntryPanelProps): import("react/jsx-runtime").JSX.Element;
95
100
  export {};
96
101
  //# sourceMappingURL=OrderEntryPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrderEntryPanel.d.ts","sourceRoot":"","sources":["../../../src/react/shell/OrderEntryPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderEntryPanel.d.ts","sourceRoot":"","sources":["../../../src/react/shell/OrderEntryPanel.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/ScriptDrawer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA8L1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C,CAAC;AAIF,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,iBAAiB,2CAq0BhG"}
1
+ {"version":3,"file":"ScriptDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/ScriptDrawer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAoL1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C,CAAC;AAIF,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,iBAAiB,2CAqjBhG"}
@@ -0,0 +1,20 @@
1
+ type Visibility = 'private' | 'public' | 'for_sale';
2
+ type ScriptMeta = {
3
+ id: string;
4
+ name: string;
5
+ visibility: Visibility;
6
+ sale_price: string | null;
7
+ sale_currency: string;
8
+ preview_pct: number;
9
+ };
10
+ type Props = {
11
+ scriptId: string | null;
12
+ isOwner: boolean;
13
+ apiBase: string;
14
+ authToken?: string;
15
+ getAuthToken?: () => string | Promise<string>;
16
+ onUpdated?: (meta: ScriptMeta) => void;
17
+ };
18
+ export declare function ScriptSettings({ scriptId, isOwner, apiBase, authToken: staticToken, getAuthToken, onUpdated }: Props): import("react/jsx-runtime").JSX.Element;
19
+ export {};
20
+ //# sourceMappingURL=ScriptSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScriptSettings.d.ts","sourceRoot":"","sources":["../../../src/react/shell/ScriptSettings.tsx"],"names":[],"mappings":"AAOA,KAAK,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEpD,KAAK,UAAU,GAAG;IAChB,EAAE,EAAa,MAAM,CAAC;IACtB,IAAI,EAAW,MAAM,CAAC;IACtB,UAAU,EAAK,UAAU,CAAC;IAC1B,UAAU,EAAK,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAI,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,QAAQ,EAAO,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAQ,OAAO,CAAC;IACvB,OAAO,EAAQ,MAAM,CAAC;IACtB,SAAS,CAAC,EAAK,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,SAAS,CAAC,EAAK,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CAC3C,CAAC;AAoBF,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,KAAK,2CAiMpH"}
@@ -1 +1 @@
1
- {"version":3,"file":"TradeDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/TradeDrawer.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,yEAAyE;IACzE,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAW,MAAM,CAAC;IACpB,MAAM,EAAO,MAAM,CAAC;IACpB,QAAQ,EAAK,MAAM,CAAC;IACpB,QAAQ,EAAK,MAAM,CAAC;IACpB,SAAS,EAAI,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAI,MAAM,CAAC;IACpB,SAAS,CAAC,EAAG,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAI,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAI,OAAO,CAAC;CACvB,CAAC;AA+fF,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,gBAAqB,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,EAAE,gBAAgB,2CAgElJ"}
1
+ {"version":3,"file":"TradeDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/TradeDrawer.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,yEAAyE;IACzE,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAW,MAAM,CAAC;IACpB,MAAM,EAAO,MAAM,CAAC;IACpB,QAAQ,EAAK,MAAM,CAAC;IACpB,QAAQ,EAAK,MAAM,CAAC;IACpB,SAAS,EAAI,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAI,MAAM,CAAC;IACpB,SAAS,CAAC,EAAG,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAI,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAI,OAAO,CAAC;CACvB,CAAC;AA2gBF,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,gBAAqB,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,EAAE,gBAAgB,2CAgElJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"WatchlistDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/WatchlistDrawer.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAa1D,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC;AAuIF,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,oBAAoB,2CAkfhG"}
1
+ {"version":3,"file":"WatchlistDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/WatchlistDrawer.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAc1D,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC;AAyIF,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,oBAAoB,2CA0fhG"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * BottomTradingPanel — tabbed panel showing Orders, Positions, and Trade History.
3
+ *
4
+ * Sits between the chart area and BottomToolbar in ChartWorkspace.
5
+ * Data is fetched from the REST API (/api/broker/trading/*) and
6
+ * auto-refreshes on broker events via the optional `refreshTick` prop.
7
+ */
8
+ export interface OrderRow {
9
+ id: string;
10
+ client_ref: string;
11
+ broker_order_id: string | null;
12
+ symbol: string;
13
+ side: 'buy' | 'sell';
14
+ order_type: string;
15
+ qty: number;
16
+ filled_qty: number;
17
+ avg_fill_price: number | null;
18
+ limit_price: number | null;
19
+ stop_price: number | null;
20
+ status: string;
21
+ reject_reason: string | null;
22
+ account_id: string | null;
23
+ parent_order_id: string | null;
24
+ created_at: string;
25
+ updated_at: string;
26
+ }
27
+ export interface ExecutionRow {
28
+ id: string;
29
+ order_id: string | null;
30
+ broker_order_id: string | null;
31
+ symbol: string;
32
+ side: 'buy' | 'sell';
33
+ fill_qty: number;
34
+ fill_price: number;
35
+ commission: number | null;
36
+ executed_at: string;
37
+ }
38
+ export interface PositionRow {
39
+ id: string;
40
+ symbol: string;
41
+ side: 'long' | 'short';
42
+ qty: number;
43
+ entry_price: number;
44
+ exit_price: number | null;
45
+ realized_pnl: number | null;
46
+ status: 'open' | 'closed';
47
+ account_id: string | null;
48
+ opened_at: string;
49
+ closed_at: string | null;
50
+ }
51
+ export type BottomTradingPanelProps = {
52
+ apiUrl: string;
53
+ authToken: string;
54
+ /** Bump this counter to trigger a data refresh (e.g. after broker events). */
55
+ refreshTick?: number;
56
+ /** Whether panel is visible. */
57
+ visible: boolean;
58
+ onToggle: () => void;
59
+ /** Map of symbol → last price, used for unrealized P&L calculation. */
60
+ lastPrices?: Record<string, number>;
61
+ /** Close an open position for a symbol. */
62
+ onClosePosition?: (args: {
63
+ symbol: string;
64
+ accountId: string;
65
+ }) => void;
66
+ /** Cancel all open orders for a symbol (used for bracket leg cancellation). */
67
+ onCancelOrders?: (args: {
68
+ symbol: string;
69
+ accountId: string;
70
+ }) => void;
71
+ /** Modify an order's price (e.g. adjust SL/TP). */
72
+ onModifyOrder?: (brokerOrderId: string, newPrice: number, role?: 'stop_loss' | 'take_profit', symbol?: string) => void;
73
+ };
74
+ export declare function BottomTradingPanel({ apiUrl, authToken, refreshTick, visible, onToggle, lastPrices, onClosePosition, onCancelOrders, onModifyOrder, }: BottomTradingPanelProps): import("react/jsx-runtime").JSX.Element | null;
75
+ //# sourceMappingURL=BottomTradingPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomTradingPanel.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/BottomTradingPanel.tsx"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import React from 'react';
10
10
  import type { TabItem } from './TabBar';
11
+ import type { RollRule } from './toolbars/TopToolbar';
11
12
  import type { TradingSession } from './toolbars/BottomToolbar';
12
13
  import type { LayoutRecord } from './LayoutMenu';
13
14
  import type { ChartTheme, IndicatorConfig, ISymbolResolver } from '@forgecharts/types';
@@ -34,6 +35,10 @@ export type ChartWorkspaceProps = {
34
35
  onRemoveCustomTimeframe: (tf: string) => void;
35
36
  onFavoriteTfsChange: (favs: string[]) => void;
36
37
  onAddIndicator: (config: IndicatorConfig) => void;
38
+ /** Max indicators per chart for the current user's package. null = unlimited. */
39
+ maxIndicators?: number | null | undefined;
40
+ indicatorsOpen?: boolean;
41
+ onToggleIndicators?: () => void;
37
42
  onToggleTheme: () => void;
38
43
  onCopyScreenshot: () => void;
39
44
  onDownloadScreenshot: () => void;
@@ -52,11 +57,21 @@ export type ChartWorkspaceProps = {
52
57
  symbolResolver: ISymbolResolver;
53
58
  onDeleteLayout: (id: string) => Promise<void>;
54
59
  onOpenLayoutInNewTab: (id: string) => Promise<void>;
60
+ rollRule?: RollRule | undefined;
61
+ onRollRuleChange?: ((r: RollRule) => void) | undefined;
62
+ /** Provider-specific timeframe groups (e.g. Rithmic tick/volume/range bars). */
63
+ extraTfGroups?: {
64
+ label: string;
65
+ items: string[];
66
+ }[];
55
67
  watchlistOpen: boolean;
56
68
  onToggleWatchlist: () => void;
57
69
  orderEntryOpen?: boolean;
58
70
  onToggleOrderEntry?: () => void;
59
71
  showOrderEntry?: boolean;
72
+ showAgent?: boolean;
73
+ agentOpen?: boolean;
74
+ onToggleAgent?: () => void;
60
75
  activeSymbol: string;
61
76
  timezone: string;
62
77
  onTimezoneChange: (tz: string) => void;
@@ -70,11 +85,30 @@ export type ChartWorkspaceProps = {
70
85
  chartSlots: React.ReactNode;
71
86
  isLicensed: boolean;
72
87
  wsLoaded: boolean;
88
+ tradingPanel?: {
89
+ apiUrl: string;
90
+ authToken: string;
91
+ lastPrices?: Record<string, number>;
92
+ onClosePosition?: (args: {
93
+ symbol: string;
94
+ accountId: string;
95
+ }) => void;
96
+ onCancelOrders?: (args: {
97
+ symbol: string;
98
+ accountId: string;
99
+ }) => void;
100
+ onModifyOrder?: (brokerOrderId: string, newPrice: number, role?: 'stop_loss' | 'take_profit', symbol?: string) => void;
101
+ };
102
+ tradingPanelOpen?: boolean;
103
+ onToggleTradingPanel?: () => void;
104
+ tradingPanelRefreshTick?: number;
73
105
  /** Drawers that appear to the LEFT of the RightToolbar (OrderEntry, Script). */
74
106
  leftDrawers?: React.ReactNode;
75
107
  /** Drawers that appear to the RIGHT of the RightToolbar (Trade, Watchlist). */
76
108
  drawers?: React.ReactNode;
109
+ /** Resolver for a Bearer token — forwarded to IndicatorsDialog for Store/Community fetches. */
110
+ getAuthToken?: () => string | Promise<string>;
77
111
  };
78
112
  export type { TabItem };
79
- export declare function ChartWorkspace({ tabs, activeTabId, onSelectTab, onAddTab, onCloseTab, onRenameTab, symbol, timeframe, theme, customTimeframes, favoriteTfs, onSymbolChange, onTimeframeChange, onAddCustomTimeframe, onRemoveCustomTimeframe, onFavoriteTfsChange, onAddIndicator, onToggleTheme, onCopyScreenshot, onDownloadScreenshot, onFullscreen, isFullscreen, currentLayoutName, currentLayoutId, autoSave, onFetchLayouts, onSaveLayout, onLoadLayout, onRenameLayout, onCopyLayout, onToggleAutoSave, onDeleteLayout, onOpenLayoutInNewTab, showTradeButton, tradeDrawerOpen, onToggleTradeDrawer, symbolResolver, watchlistOpen, onToggleWatchlist, orderEntryOpen, onToggleOrderEntry, showOrderEntry, activeSymbol, timezone, onTimezoneChange, session, onSessionChange, scriptDrawerOpen, onToggleScriptDrawer, chartSlots, isLicensed, wsLoaded, leftDrawers, drawers, }: ChartWorkspaceProps): import("react/jsx-runtime").JSX.Element;
113
+ export declare function ChartWorkspace({ tabs, activeTabId, onSelectTab, onAddTab, onCloseTab, onRenameTab, symbol, timeframe, theme, customTimeframes, favoriteTfs, onSymbolChange, onTimeframeChange, onAddCustomTimeframe, onRemoveCustomTimeframe, onFavoriteTfsChange, onAddIndicator, maxIndicators, indicatorsOpen, onToggleIndicators, onToggleTheme, onCopyScreenshot, onDownloadScreenshot, onFullscreen, isFullscreen, currentLayoutName, currentLayoutId, autoSave, onFetchLayouts, onSaveLayout, onLoadLayout, onRenameLayout, onCopyLayout, onToggleAutoSave, onDeleteLayout, onOpenLayoutInNewTab, showTradeButton, tradeDrawerOpen, onToggleTradeDrawer, symbolResolver, rollRule, onRollRuleChange, extraTfGroups, watchlistOpen, onToggleWatchlist, orderEntryOpen, onToggleOrderEntry, showOrderEntry, showAgent, agentOpen, onToggleAgent, activeSymbol, timezone, onTimezoneChange, session, onSessionChange, scriptDrawerOpen, onToggleScriptDrawer, tradingPanel, tradingPanelOpen, onToggleTradingPanel, tradingPanelRefreshTick, chartSlots, isLicensed, wsLoaded, leftDrawers, drawers, getAuthToken, }: ChartWorkspaceProps): import("react/jsx-runtime").JSX.Element;
80
114
  //# sourceMappingURL=ChartWorkspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartWorkspace.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/ChartWorkspace.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAIxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEvF,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,MAAM,mBAAmB,GAAG;IAEhC,IAAI,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,uBAAuB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9C,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,iDAAiD;IACjD,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGpD,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IAEjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEjC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B,UAAU,EAAE,OAAO,CAAC;IAEpB,QAAQ,EAAE,OAAO,CAAC;IAElB,gFAAgF;IAChF,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAGF,YAAY,EAAE,OAAO,EAAE,CAAC;AAExB,wBAAgB,cAAc,CAAC,EAE7B,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAEjE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EACvD,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,mBAAmB,EACrG,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EACrE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,QAAQ,EACxE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EACxE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EACtD,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAErE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAEpF,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAClE,gBAAgB,EAAE,oBAAoB,EAEtC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,GACvD,EAAE,mBAAmB,2CAiIrB"}
1
+ {"version":3,"file":"ChartWorkspace.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/ChartWorkspace.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,11 @@ import type { IndicatorConfig } from '@forgecharts/types';
2
2
  type Props = {
3
3
  onAdd: (config: IndicatorConfig) => void;
4
4
  onClose: () => void;
5
+ /** Max indicators allowed by the user's subscription package. null = unlimited. */
6
+ maxIndicators?: number | null | undefined;
7
+ /** Resolver for a Bearer token to authenticate /api/scripts requests. */
8
+ getAuthToken?: () => string | Promise<string>;
5
9
  };
6
- export declare function IndicatorsDialog({ onAdd, onClose }: Props): import("react/jsx-runtime").JSX.Element;
10
+ export declare function IndicatorsDialog({ onAdd, onClose, maxIndicators, getAuthToken }: Props): import("react/jsx-runtime").JSX.Element;
7
11
  export {};
8
12
  //# sourceMappingURL=IndicatorsDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IndicatorsDialog.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/IndicatorsDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAsG1D,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACzC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,2CAuIzD"}
1
+ {"version":3,"file":"IndicatorsDialog.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/IndicatorsDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA2H1D,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACzC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,KAAK,2CA8XtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"SymbolSearchDialog.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/SymbolSearchDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AAmEzF,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,KAAK,2CAkTvF"}
1
+ {"version":3,"file":"SymbolSearchDialog.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/SymbolSearchDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AA6KzF,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,KAAK,2CAiZvF"}
@@ -13,7 +13,9 @@ type Props = {
13
13
  onSessionChange: (s: TradingSession) => void;
14
14
  onToggleScriptDrawer: () => void;
15
15
  scriptDrawerOpen: boolean;
16
+ tradingPanelOpen?: boolean;
17
+ onToggleTradingPanel?: () => void;
16
18
  };
17
- export declare function BottomToolbar({ symbol, timezone, onTimezoneChange, session, onSessionChange, onToggleScriptDrawer, scriptDrawerOpen }: Props): import("react/jsx-runtime").JSX.Element;
19
+ export declare function BottomToolbar({ symbol, timezone, onTimezoneChange, session, onSessionChange, onToggleScriptDrawer, scriptDrawerOpen, tradingPanelOpen, onToggleTradingPanel }: Props): import("react/jsx-runtime").JSX.Element;
18
20
  export {};
19
21
  //# sourceMappingURL=BottomToolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomToolbar.d.ts","sourceRoot":"","sources":["../../../../src/react/workspace/toolbars/BottomToolbar.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAqH5C,CAAC;AAoCF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,CAAC;AAwBpD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AA8CF,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,EAAE,KAAK,2CA4I5I"}
1
+ {"version":3,"file":"BottomToolbar.d.ts","sourceRoot":"","sources":["../../../../src/react/workspace/toolbars/BottomToolbar.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAqH5C,CAAC;AAoCF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,CAAC;AAwBpD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAE1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AA8CF,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,EAAE,KAAK,2CA6JpL"}
@@ -5,7 +5,11 @@ type Props = {
5
5
  orderEntryOpen: boolean;
6
6
  onToggleOrderEntry: () => void;
7
7
  showOrderEntry?: boolean | undefined;
8
+ /** Show the AI agent button (only when agent feature is enabled). */
9
+ showAgent?: boolean | undefined;
10
+ agentOpen?: boolean | undefined;
11
+ onToggleAgent?: (() => void) | undefined;
8
12
  };
9
- export declare function RightToolbar({ watchlistOpen, onToggleWatchlist, orderEntryOpen, onToggleOrderEntry, showOrderEntry }: Props): React.ReactElement;
13
+ export declare function RightToolbar({ watchlistOpen, onToggleWatchlist, orderEntryOpen, onToggleOrderEntry, showOrderEntry, showAgent, agentOpen, onToggleAgent, }: Props): React.ReactElement;
10
14
  export {};
11
15
  //# sourceMappingURL=RightToolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RightToolbar.d.ts","sourceRoot":"","sources":["../../../../src/react/workspace/toolbars/RightToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,KAAK,KAAK,GAAG;IACX,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC,CAAC;AAIF,wBAAgB,YAAY,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAkChJ"}
1
+ {"version":3,"file":"RightToolbar.d.ts","sourceRoot":"","sources":["../../../../src/react/workspace/toolbars/RightToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAiC1B,KAAK,KAAK,GAAG;IACX,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC1C,CAAC;AAIF,wBAAgB,YAAY,CAAC,EAC3B,aAAa,EAAE,iBAAiB,EAChC,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAClD,SAAS,EAAE,SAAS,EAAE,aAAa,GACpC,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CA4C5B"}
@@ -1,6 +1,7 @@
1
1
  import type { ChartTheme, IndicatorConfig } from '@forgecharts/types';
2
2
  import type { ISymbolResolver } from '@forgecharts/types';
3
3
  export declare const DEFAULT_FAVORITES: string[];
4
+ export type RollRule = 'v' | 'c' | 'n';
4
5
  type Props = {
5
6
  symbol: string;
6
7
  timeframe: string;
@@ -13,11 +14,17 @@ type Props = {
13
14
  onRemoveCustomTimeframe: (tf: string) => void;
14
15
  onFavoritesChange: (favs: string[]) => void;
15
16
  onAddIndicator: (config: IndicatorConfig) => void;
17
+ maxIndicators?: number | null | undefined;
18
+ indicatorsOpen?: boolean;
19
+ onToggleIndicators?: () => void;
16
20
  onToggleTheme: () => void;
17
21
  onCopyScreenshot: () => void;
18
22
  onDownloadScreenshot: () => void;
19
23
  onFullscreen: () => void;
20
24
  isFullscreen: boolean;
25
+ /** Continuous contract roll rule. */
26
+ rollRule?: RollRule | undefined;
27
+ onRollRuleChange?: ((r: RollRule) => void) | undefined;
21
28
  currentLayoutName?: string | undefined;
22
29
  currentLayoutId?: string | undefined;
23
30
  autoSave: boolean;
@@ -36,7 +43,19 @@ type Props = {
36
43
  showTradeButton?: boolean;
37
44
  tradeDrawerOpen?: boolean;
38
45
  onToggleTradeDrawer?: () => void;
46
+ /**
47
+ * Provider-specific timeframe groups appended after the standard groups
48
+ * in the timeframe dropdown. Use this to surface Rithmic tick/volume/range
49
+ * bar types (or any other provider-specific intervals) only when that
50
+ * provider is active.
51
+ */
52
+ extraTfGroups?: {
53
+ label: string;
54
+ items: string[];
55
+ }[];
56
+ /** Resolver for a Bearer token — forwarded to IndicatorsDialog for Store/Community fetches. */
57
+ getAuthToken?: () => string | Promise<string>;
39
58
  };
40
- export declare function TopToolbar({ symbol, timeframe, theme, customTimeframes, favorites, onSymbolChange, onTimeframeChange, onAddCustomTimeframe, onRemoveCustomTimeframe, onFavoritesChange, onAddIndicator, onToggleTheme, onCopyScreenshot, onDownloadScreenshot, onFullscreen, isFullscreen, currentLayoutName, currentLayoutId, autoSave, onSaveLayout, onLoadLayout, onRenameLayout, onCopyLayout, onToggleAutoSave, onDeleteLayout, onOpenLayoutInNewTab, onFetchLayouts, symbolResolver, showTradeButton, tradeDrawerOpen, onToggleTradeDrawer, }: Props): import("react/jsx-runtime").JSX.Element;
59
+ export declare function TopToolbar({ symbol, timeframe, theme, customTimeframes, favorites, onSymbolChange, onTimeframeChange, onAddCustomTimeframe, onRemoveCustomTimeframe, onFavoritesChange, onAddIndicator, maxIndicators, indicatorsOpen, onToggleIndicators, onToggleTheme, onCopyScreenshot, onDownloadScreenshot, onFullscreen, isFullscreen, rollRule, onRollRuleChange, currentLayoutName, currentLayoutId, autoSave, onSaveLayout, onLoadLayout, onRenameLayout, onCopyLayout, onToggleAutoSave, onDeleteLayout, onOpenLayoutInNewTab, onFetchLayouts, symbolResolver, showTradeButton, tradeDrawerOpen, onToggleTradeDrawer, extraTfGroups, getAuthToken, }: Props): import("react/jsx-runtime").JSX.Element;
41
60
  export {};
42
61
  //# sourceMappingURL=TopToolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TopToolbar.d.ts","sourceRoot":"","sources":["../../../../src/react/workspace/toolbars/TopToolbar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAK1D,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAAuD,CAAC;AA2J9F,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,uBAAuB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,2EAA2E;IAC3E,cAAc,EAAE,MAAM,OAAO,CAAC,OAAO,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;IACtE,iDAAiD;IACjD,cAAc,EAAE,eAAe,CAAC;IAChC,qDAAqD;IACrD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACzB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EACrD,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,iBAAiB,EACnG,cAAc,EACd,aAAa,EACb,gBAAgB,EAAE,oBAAoB,EAAE,YAAY,EAAE,YAAY,EAClE,iBAAiB,EAAE,eAAe,EAAE,QAAQ,EAC5C,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAC1E,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EACpE,eAAe,EAAE,eAAe,EAAE,mBAAmB,GACtD,EAAE,KAAK,2CAwNP"}
1
+ {"version":3,"file":"TopToolbar.d.ts","sourceRoot":"","sources":["../../../../src/react/workspace/toolbars/TopToolbar.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CandlestickRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/CandlestickRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,SAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,MAAM,EAAE,WAAW;IAI/B,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;IA2FP,OAAO,CAAC,aAAa;CAatB"}
1
+ {"version":3,"file":"CandlestickRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/CandlestickRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,SAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,MAAM,EAAE,WAAW;IAI/B,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;IAuGP,OAAO,CAAC,aAAa;CAatB"}
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/theme/colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,eAAO,MAAM,WAAW,EAAE,WAQzB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAQ1B,CAAC"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/theme/colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,eAAO,MAAM,WAAW,EAAE,WAUzB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAU1B,CAAC"}
@@ -1,20 +1,36 @@
1
1
  /**
2
- * UnmanagedIngestion
2
+ * **Stable public API — semver-guaranteed from 1.1.0.**
3
3
  *
4
- * External candle data ingestion for unmanaged mode.
4
+ * `UnmanagedIngestion` is the low-level entry point for **unmanaged embedding**:
5
+ * a mode where the host application owns the data pipeline entirely and pushes
6
+ * normalised OHLCV candles directly to the chart engine rather than using
7
+ * ForgeCharts' built-in runtime service.
5
8
  *
6
- * In unmanaged mode the client owns their data pipeline. They pass
7
- * normalised candle data to us; this layer validates the license gate,
8
- * delegates to the existing CandleEngine for bucket management, and
9
- * notifies callers via callbacks mirroring the CandleEngine contract.
9
+ * Use this class when you have your own WebSocket feed, broker SDK, or any
10
+ * other data source and want ForgeCharts to handle only the rendering and
11
+ * indicator layers.
10
12
  *
11
- * Critical constraint: the default RapidAPI-backed datafeed is completely
12
- * untouched. UnmanagedIngestion is an additive, opt-in path.
13
+ * ### Typical lifecycle
14
+ * ```
15
+ * 1. new UnmanagedIngestion(timeframe, opts)
16
+ * 2. setHistory(historicalBars) ← load snapshot on symbol/TF change
17
+ * 3. pushCandle(bar) ← called repeatedly from your live feed
18
+ * 4. reset() / setTimeframe() ← when the user switches symbol or interval
19
+ * ```
20
+ *
21
+ * ### Candle merging rules
22
+ * The underlying `CandleEngine` merges ticks by bucket time:
23
+ * - **same bucket** — updates open/high/low/close/volume of the current bar
24
+ * - **new bucket** — finalises the previous bar and opens a new one
25
+ * - **older bucket** — silently ignored (logged when `debug: true`)
13
26
  *
14
- * Candle rules (matches CandleEngine behaviour):
15
- * same timeMs → update current candle
16
- * newer timeMs → append / new bucket
17
- * older timeMs → silently ignored (logged in debug mode)
27
+ * `time` may be supplied in either Unix seconds or milliseconds — the engine
28
+ * auto-detects based on magnitude.
29
+ *
30
+ * ### Backwards-compatibility guarantees
31
+ * Constructor signature, all public methods, and `UnmanagedIngestionOptions`
32
+ * are frozen until the next major version. New **optional** callbacks may be
33
+ * added to `UnmanagedIngestionOptions` in minor releases.
18
34
  *
19
35
  * @example
20
36
  * ```ts
@@ -29,10 +45,21 @@
29
45
  * // Then stream live ticks
30
46
  * ingestion.pushCandle(latestBar);
31
47
  * ```
48
+ *
49
+ * @public
50
+ * @since 1.1.0
32
51
  */
33
52
  import type { CandleBar, UpdateResult, GapInfo } from '../engine/CandleEngine';
34
53
  import type { CandleInput } from './tradingTypes';
35
54
  import type { Timeframe } from '@forgecharts/types';
55
+ /**
56
+ * Callbacks and options for {@link UnmanagedIngestion}.
57
+ *
58
+ * All callbacks are optional — omit any you don't need.
59
+ *
60
+ * @public
61
+ * @since 1.1.0
62
+ */
36
63
  export interface UnmanagedIngestionOptions {
37
64
  /** Enable debug logging on the underlying CandleEngine. */
38
65
  debug?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"UnmanagedIngestion.d.ts","sourceRoot":"","sources":["../../src/trading/UnmanagedIngestion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,yBAAyB;IACxC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAE9D;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,KAAK,IAAI,CAAC;IAEhD,yCAAyC;IACzC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IAEvC,wEAAwE;IACxE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;IAClD,OAAO,CAAC,UAAU,CAAY;gBAElB,SAAS,EAAE,SAAS,EAAE,IAAI,GAAE,yBAA8B;IAgBtE,OAAO,CAAC,gBAAgB;IAWxB;;;;;;;;;OASG;IACH,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI;IAYrC;;;;;;;;;OASG;IACH,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY;IAO1C,gEAAgE;IAChE,OAAO,IAAI,SAAS,SAAS,EAAE;IAI/B,qEAAqE;IACrE,YAAY,IAAI,SAAS,GAAG,IAAI;IAKhC,4DAA4D;IAC5D,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAMxC,+EAA+E;IAC/E,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"UnmanagedIngestion.d.ts","sourceRoot":"","sources":["../../src/trading/UnmanagedIngestion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAE9D;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,KAAK,IAAI,CAAC;IAEhD,yCAAyC;IACzC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IAEvC,wEAAwE;IACxE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;IAClD,OAAO,CAAC,UAAU,CAAY;gBAElB,SAAS,EAAE,SAAS,EAAE,IAAI,GAAE,yBAA8B;IAgBtE,OAAO,CAAC,gBAAgB;IAWxB;;;;;;;;;OASG;IACH,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI;IAYrC;;;;;;;;;OASG;IACH,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY;IAO1C,gEAAgE;IAChE,OAAO,IAAI,SAAS,SAAS,EAAE;IAI/B,qEAAqE;IACrE,YAAY,IAAI,SAAS,GAAG,IAAI;IAKhC,4DAA4D;IAC5D,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAMxC,+EAA+E;IAC/E,KAAK,IAAI,IAAI;CAGd"}
@@ -5,8 +5,17 @@
5
5
  * and future managed trading service all operate on.
6
6
  */
7
7
  /**
8
- * Normalised candle data accepted by the unmanaged ingestion API.
9
- * `time` may be Unix seconds or milliseconds — the engine auto-detects.
8
+ * Normalised candle data accepted by {@link UnmanagedIngestion.pushCandle}
9
+ * and {@link UnmanagedIngestion.setHistory}.
10
+ *
11
+ * `time` may be supplied as Unix **seconds** or **milliseconds** — the engine
12
+ * auto-detects based on magnitude (values > 1e10 are treated as ms).
13
+ *
14
+ * `volume` and `isClosed` are optional; omit them if your feed doesn't
15
+ * provide them and the engine will fill sensible defaults.
16
+ *
17
+ * @public
18
+ * @since 1.1.0
10
19
  */
11
20
  export interface CandleInput {
12
21
  time: number;