@forgecharts/sdk 1.2.1 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/dist/Omne-YBWT34SS.png +0 -0
  2. package/dist/Rithmic-CDB4YQEZ.png +0 -0
  3. package/dist/api/DrawingManager.d.ts +1 -1
  4. package/dist/api/DrawingManager.d.ts.map +1 -1
  5. package/dist/api/IndicatorDAG.d.ts +22 -0
  6. package/dist/api/IndicatorDAG.d.ts.map +1 -1
  7. package/dist/api/IndicatorRegistry.d.ts +6 -0
  8. package/dist/api/IndicatorRegistry.d.ts.map +1 -1
  9. package/dist/api/LayoutManager.d.ts +3 -1
  10. package/dist/api/LayoutManager.d.ts.map +1 -1
  11. package/dist/api/ReferenceAPI.d.ts +5 -0
  12. package/dist/api/ReferenceAPI.d.ts.map +1 -1
  13. package/dist/api/TChart.d.ts +69 -0
  14. package/dist/api/TChart.d.ts.map +1 -1
  15. package/dist/api/drawing tools/fib gann menu/fibChannel.d.ts +4 -0
  16. package/dist/api/drawing tools/fib gann menu/fibChannel.d.ts.map +1 -0
  17. package/dist/api/drawing tools/fib gann menu/fibCircles.d.ts +4 -0
  18. package/dist/api/drawing tools/fib gann menu/fibCircles.d.ts.map +1 -0
  19. package/dist/api/drawing tools/fib gann menu/fibRetracement.d.ts.map +1 -1
  20. package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceArcs.d.ts +4 -0
  21. package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceArcs.d.ts.map +1 -0
  22. package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceFan.d.ts +4 -0
  23. package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceFan.d.ts.map +1 -0
  24. package/dist/api/drawing tools/fib gann menu/fibSpiral.d.ts +4 -0
  25. package/dist/api/drawing tools/fib gann menu/fibSpiral.d.ts.map +1 -0
  26. package/dist/api/drawing tools/fib gann menu/fibTimeZone.d.ts +4 -0
  27. package/dist/api/drawing tools/fib gann menu/fibTimeZone.d.ts.map +1 -0
  28. package/dist/api/drawing tools/fib gann menu/fibWedge.d.ts +4 -0
  29. package/dist/api/drawing tools/fib gann menu/fibWedge.d.ts.map +1 -0
  30. package/dist/api/drawing tools/fib gann menu/gannBox.d.ts +4 -0
  31. package/dist/api/drawing tools/fib gann menu/gannBox.d.ts.map +1 -0
  32. package/dist/api/drawing tools/fib gann menu/gannFan.d.ts +4 -0
  33. package/dist/api/drawing tools/fib gann menu/gannFan.d.ts.map +1 -0
  34. package/dist/api/drawing tools/fib gann menu/gannSquare.d.ts +4 -0
  35. package/dist/api/drawing tools/fib gann menu/gannSquare.d.ts.map +1 -0
  36. package/dist/api/drawing tools/fib gann menu/gannSquareFixed.d.ts +4 -0
  37. package/dist/api/drawing tools/fib gann menu/gannSquareFixed.d.ts.map +1 -0
  38. package/dist/api/drawing tools/fib gann menu/pitchfan.d.ts +4 -0
  39. package/dist/api/drawing tools/fib gann menu/pitchfan.d.ts.map +1 -0
  40. package/dist/api/drawing tools/fib gann menu/trendBasedFibExtension.d.ts +4 -0
  41. package/dist/api/drawing tools/fib gann menu/trendBasedFibExtension.d.ts.map +1 -0
  42. package/dist/api/drawing tools/fib gann menu/trendBasedFibTime.d.ts +4 -0
  43. package/dist/api/drawing tools/fib gann menu/trendBasedFibTime.d.ts.map +1 -0
  44. package/dist/api/drawing tools/shapes menu/anchoredText.d.ts +7 -0
  45. package/dist/api/drawing tools/shapes menu/anchoredText.d.ts.map +1 -0
  46. package/dist/api/drawing tools/shapes menu/arc.d.ts +8 -0
  47. package/dist/api/drawing tools/shapes menu/arc.d.ts.map +1 -0
  48. package/dist/api/drawing tools/shapes menu/arrow.d.ts +4 -0
  49. package/dist/api/drawing tools/shapes menu/arrow.d.ts.map +1 -0
  50. package/dist/api/drawing tools/shapes menu/arrowDown.d.ts +7 -0
  51. package/dist/api/drawing tools/shapes menu/arrowDown.d.ts.map +1 -0
  52. package/dist/api/drawing tools/shapes menu/arrowUp.d.ts +7 -0
  53. package/dist/api/drawing tools/shapes menu/arrowUp.d.ts.map +1 -0
  54. package/dist/api/drawing tools/shapes menu/callout.d.ts +7 -0
  55. package/dist/api/drawing tools/shapes menu/callout.d.ts.map +1 -0
  56. package/dist/api/drawing tools/shapes menu/dateRange.d.ts +4 -0
  57. package/dist/api/drawing tools/shapes menu/dateRange.d.ts.map +1 -0
  58. package/dist/api/drawing tools/shapes menu/ellipse.d.ts +4 -0
  59. package/dist/api/drawing tools/shapes menu/ellipse.d.ts.map +1 -0
  60. package/dist/api/drawing tools/shapes menu/longPosition.d.ts +4 -0
  61. package/dist/api/drawing tools/shapes menu/longPosition.d.ts.map +1 -0
  62. package/dist/api/drawing tools/shapes menu/priceLabel.d.ts +7 -0
  63. package/dist/api/drawing tools/shapes menu/priceLabel.d.ts.map +1 -0
  64. package/dist/api/drawing tools/shapes menu/priceRange.d.ts +4 -0
  65. package/dist/api/drawing tools/shapes menu/priceRange.d.ts.map +1 -0
  66. package/dist/api/drawing tools/shapes menu/shortPosition.d.ts +4 -0
  67. package/dist/api/drawing tools/shapes menu/shortPosition.d.ts.map +1 -0
  68. package/dist/api/drawing tools/shapes menu/triangle.d.ts +4 -0
  69. package/dist/api/drawing tools/shapes menu/triangle.d.ts.map +1 -0
  70. package/dist/core/Chart.d.ts +29 -2
  71. package/dist/core/Chart.d.ts.map +1 -1
  72. package/dist/core/CoordTransform.d.ts.map +1 -1
  73. package/dist/core/Crosshair.d.ts +2 -0
  74. package/dist/core/Crosshair.d.ts.map +1 -1
  75. package/dist/core/IndicatorEngine.d.ts +15 -0
  76. package/dist/core/IndicatorEngine.d.ts.map +1 -1
  77. package/dist/core/InteractionManager.d.ts +55 -2
  78. package/dist/core/InteractionManager.d.ts.map +1 -1
  79. package/dist/core/PriceScale.d.ts +2 -0
  80. package/dist/core/PriceScale.d.ts.map +1 -1
  81. package/dist/core/Series.d.ts.map +1 -1
  82. package/dist/core/TimeScale.d.ts +52 -1
  83. package/dist/core/TimeScale.d.ts.map +1 -1
  84. package/dist/core/indicatorStyles.d.ts +37 -0
  85. package/dist/core/indicatorStyles.d.ts.map +1 -0
  86. package/dist/datafeed/DatafeedConnector.d.ts +27 -0
  87. package/dist/datafeed/DatafeedConnector.d.ts.map +1 -1
  88. package/dist/engine/CandleEngine.d.ts +2 -0
  89. package/dist/engine/CandleEngine.d.ts.map +1 -1
  90. package/dist/forgecharts.css +2029 -132
  91. package/dist/forgescript/ast.d.ts +71 -4
  92. package/dist/forgescript/ast.d.ts.map +1 -1
  93. package/dist/forgescript/builtins/collections.d.ts +56 -0
  94. package/dist/forgescript/builtins/collections.d.ts.map +1 -0
  95. package/dist/forgescript/builtins/drawing.d.ts +57 -0
  96. package/dist/forgescript/builtins/drawing.d.ts.map +1 -0
  97. package/dist/forgescript/builtins/udt.d.ts +30 -0
  98. package/dist/forgescript/builtins/udt.d.ts.map +1 -0
  99. package/dist/forgescript/conversion/index.d.ts +16 -9
  100. package/dist/forgescript/conversion/index.d.ts.map +1 -1
  101. package/dist/forgescript/conversion/types.d.ts +10 -54
  102. package/dist/forgescript/conversion/types.d.ts.map +1 -1
  103. package/dist/forgescript/conversion/validation.d.ts.map +1 -1
  104. package/dist/forgescript/datasets/DatasetStore.d.ts +65 -0
  105. package/dist/forgescript/datasets/DatasetStore.d.ts.map +1 -0
  106. package/dist/forgescript/datasets/parseDataset.d.ts +32 -0
  107. package/dist/forgescript/datasets/parseDataset.d.ts.map +1 -0
  108. package/dist/forgescript/parser.d.ts +19 -1
  109. package/dist/forgescript/parser.d.ts.map +1 -1
  110. package/dist/forgescript/runtime.d.ts +125 -104
  111. package/dist/forgescript/runtime.d.ts.map +1 -1
  112. package/dist/index.d.ts +14 -7
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +21487 -8016
  115. package/dist/index.js.map +1 -1
  116. package/dist/internal.d.ts +2 -0
  117. package/dist/internal.d.ts.map +1 -1
  118. package/dist/internal.js +19599 -6869
  119. package/dist/internal.js.map +1 -1
  120. package/dist/licensing/ChartRuntimeResolver.d.ts +134 -124
  121. package/dist/licensing/ChartRuntimeResolver.d.ts.map +1 -1
  122. package/dist/licensing/LicenseManager.d.ts.map +1 -1
  123. package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts +2 -0
  124. package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts.map +1 -1
  125. package/dist/licensing/licenseTypes.d.ts +56 -15
  126. package/dist/licensing/licenseTypes.d.ts.map +1 -1
  127. package/dist/node.d.ts +57 -0
  128. package/dist/node.d.ts.map +1 -0
  129. package/dist/pixi/PixiBenchmark.d.ts +56 -0
  130. package/dist/pixi/PixiBenchmark.d.ts.map +1 -0
  131. package/dist/pixi/PixiCandlestickRenderer.d.ts +19 -6
  132. package/dist/pixi/PixiCandlestickRenderer.d.ts.map +1 -1
  133. package/dist/pixi/PixiChart.d.ts +108 -2
  134. package/dist/pixi/PixiChart.d.ts.map +1 -1
  135. package/dist/pixi/PixiCrosshairRenderer.d.ts +10 -0
  136. package/dist/pixi/PixiCrosshairRenderer.d.ts.map +1 -1
  137. package/dist/pixi/PixiDrawingRenderer.d.ts +17 -5
  138. package/dist/pixi/PixiDrawingRenderer.d.ts.map +1 -1
  139. package/dist/pixi/PixiGridRenderer.d.ts +18 -2
  140. package/dist/pixi/PixiGridRenderer.d.ts.map +1 -1
  141. package/dist/pixi/PixiHistogramRenderer.d.ts +17 -0
  142. package/dist/pixi/PixiHistogramRenderer.d.ts.map +1 -0
  143. package/dist/pixi/PixiIndicatorRenderer.d.ts +35 -0
  144. package/dist/pixi/PixiIndicatorRenderer.d.ts.map +1 -0
  145. package/dist/pixi/PixiLastPriceRenderer.d.ts +33 -0
  146. package/dist/pixi/PixiLastPriceRenderer.d.ts.map +1 -0
  147. package/dist/pixi/PixiLayerManager.d.ts.map +1 -1
  148. package/dist/pixi/PixiLineRenderer.d.ts +19 -0
  149. package/dist/pixi/PixiLineRenderer.d.ts.map +1 -0
  150. package/dist/pixi/PixiTradingRenderer.d.ts +100 -0
  151. package/dist/pixi/PixiTradingRenderer.d.ts.map +1 -0
  152. package/dist/pixi/snap.d.ts +38 -0
  153. package/dist/pixi/snap.d.ts.map +1 -0
  154. package/dist/react/agent/AgentFAB.d.ts +21 -0
  155. package/dist/react/agent/AgentFAB.d.ts.map +1 -0
  156. package/dist/react/agent/AgentProvider.d.ts +15 -0
  157. package/dist/react/agent/AgentProvider.d.ts.map +1 -0
  158. package/dist/react/agent/AgentUIBus.d.ts +118 -0
  159. package/dist/react/agent/AgentUIBus.d.ts.map +1 -0
  160. package/dist/react/agent/AssistantPanel.d.ts +13 -0
  161. package/dist/react/agent/AssistantPanel.d.ts.map +1 -0
  162. package/dist/react/agent/CommandDispatcher.d.ts +81 -0
  163. package/dist/react/agent/CommandDispatcher.d.ts.map +1 -0
  164. package/dist/react/agent/VoiceInput.d.ts +36 -0
  165. package/dist/react/agent/VoiceInput.d.ts.map +1 -0
  166. package/dist/react/agent/contractUtils.d.ts +31 -0
  167. package/dist/react/agent/contractUtils.d.ts.map +1 -0
  168. package/dist/react/agent/index.d.ts +18 -0
  169. package/dist/react/agent/index.d.ts.map +1 -0
  170. package/dist/react/agent/useAgent.d.ts +81 -0
  171. package/dist/react/agent/useAgent.d.ts.map +1 -0
  172. package/dist/react/canvas/ChartCanvas.d.ts +55 -0
  173. package/dist/react/canvas/ChartCanvas.d.ts.map +1 -1
  174. package/dist/react/canvas/ChartContextMenu.d.ts +1 -1
  175. package/dist/react/canvas/ChartContextMenu.d.ts.map +1 -1
  176. package/dist/react/canvas/ChartSettingsDialog.d.ts +80 -2
  177. package/dist/react/canvas/ChartSettingsDialog.d.ts.map +1 -1
  178. package/dist/react/canvas/ContractSwitchDialog.d.ts +22 -0
  179. package/dist/react/canvas/ContractSwitchDialog.d.ts.map +1 -0
  180. package/dist/react/canvas/DrawingPropertiesDialog.d.ts +23 -0
  181. package/dist/react/canvas/DrawingPropertiesDialog.d.ts.map +1 -0
  182. package/dist/react/canvas/IndicatorLabel.d.ts +11 -3
  183. package/dist/react/canvas/IndicatorLabel.d.ts.map +1 -1
  184. package/dist/react/canvas/IndicatorPane.d.ts +1 -1
  185. package/dist/react/canvas/IndicatorPane.d.ts.map +1 -1
  186. package/dist/react/canvas/PointerOverlay.d.ts +6 -3
  187. package/dist/react/canvas/PointerOverlay.d.ts.map +1 -1
  188. package/dist/react/canvas/PositionPropertiesDialog.d.ts +22 -0
  189. package/dist/react/canvas/PositionPropertiesDialog.d.ts.map +1 -0
  190. package/dist/react/canvas/TableOverlay.d.ts +1 -1
  191. package/dist/react/canvas/TableOverlay.d.ts.map +1 -1
  192. package/dist/react/canvas/toolbars/LeftToolbar.d.ts +9 -2
  193. package/dist/react/canvas/toolbars/LeftToolbar.d.ts.map +1 -1
  194. package/dist/react/hooks/useBrokerEvents.d.ts +9 -0
  195. package/dist/react/hooks/useBrokerEvents.d.ts.map +1 -1
  196. package/dist/react/hooks/useChartCapabilities.d.ts.map +1 -1
  197. package/dist/react/hooks/usePanelDrag.d.ts +2 -0
  198. package/dist/react/hooks/usePanelDrag.d.ts.map +1 -0
  199. package/dist/react/index.d.ts +3 -0
  200. package/dist/react/index.d.ts.map +1 -1
  201. package/dist/react/index.js +25769 -10541
  202. package/dist/react/index.js.map +1 -1
  203. package/dist/react/internal.js +32838 -15641
  204. package/dist/react/internal.js.map +1 -1
  205. package/dist/react/shell/DatasetImportPanel.d.ts +14 -0
  206. package/dist/react/shell/DatasetImportPanel.d.ts.map +1 -0
  207. package/dist/react/shell/DatasetManagerDrawer.d.ts +20 -0
  208. package/dist/react/shell/DatasetManagerDrawer.d.ts.map +1 -0
  209. package/dist/react/shell/DepthOfMarketPanel.d.ts +18 -0
  210. package/dist/react/shell/DepthOfMarketPanel.d.ts.map +1 -0
  211. package/dist/react/shell/DocsEditor.d.ts +17 -0
  212. package/dist/react/shell/DocsEditor.d.ts.map +1 -0
  213. package/dist/react/shell/ManagedAppShell.d.ts +27 -0
  214. package/dist/react/shell/ManagedAppShell.d.ts.map +1 -1
  215. package/dist/react/shell/OrderEntryPanel.d.ts +21 -1
  216. package/dist/react/shell/OrderEntryPanel.d.ts.map +1 -1
  217. package/dist/react/shell/ScriptDrawer.d.ts +7 -1
  218. package/dist/react/shell/ScriptDrawer.d.ts.map +1 -1
  219. package/dist/react/shell/ScriptSettings.d.ts +26 -0
  220. package/dist/react/shell/ScriptSettings.d.ts.map +1 -0
  221. package/dist/react/shell/TradeDrawer.d.ts +8 -1
  222. package/dist/react/shell/TradeDrawer.d.ts.map +1 -1
  223. package/dist/react/shell/WatchlistDrawer.d.ts +2 -1
  224. package/dist/react/shell/WatchlistDrawer.d.ts.map +1 -1
  225. package/dist/react/shell/useDepthSubscription.d.ts +12 -0
  226. package/dist/react/shell/useDepthSubscription.d.ts.map +1 -0
  227. package/dist/react/shell/useWatchlistQuotes.d.ts +6 -0
  228. package/dist/react/shell/useWatchlistQuotes.d.ts.map +1 -1
  229. package/dist/react/workspace/BottomTradingPanel.d.ts +78 -0
  230. package/dist/react/workspace/BottomTradingPanel.d.ts.map +1 -0
  231. package/dist/react/workspace/ChartWorkspace.d.ts +64 -1
  232. package/dist/react/workspace/ChartWorkspace.d.ts.map +1 -1
  233. package/dist/react/workspace/FloatingPanel.d.ts +1 -1
  234. package/dist/react/workspace/FloatingPanel.d.ts.map +1 -1
  235. package/dist/react/workspace/GridChartContainer.d.ts +40 -0
  236. package/dist/react/workspace/GridChartContainer.d.ts.map +1 -0
  237. package/dist/react/workspace/GridSyncContext.d.ts +32 -0
  238. package/dist/react/workspace/GridSyncContext.d.ts.map +1 -0
  239. package/dist/react/workspace/GridTemplates.d.ts +16 -0
  240. package/dist/react/workspace/GridTemplates.d.ts.map +1 -0
  241. package/dist/react/workspace/IndicatorsDialog.d.ts +5 -1
  242. package/dist/react/workspace/IndicatorsDialog.d.ts.map +1 -1
  243. package/dist/react/workspace/LayoutMenu.d.ts +1 -1
  244. package/dist/react/workspace/LayoutMenu.d.ts.map +1 -1
  245. package/dist/react/workspace/LayoutTemplateSelector.d.ts +16 -0
  246. package/dist/react/workspace/LayoutTemplateSelector.d.ts.map +1 -0
  247. package/dist/react/workspace/SymbolSearchDialog.d.ts +1 -1
  248. package/dist/react/workspace/SymbolSearchDialog.d.ts.map +1 -1
  249. package/dist/react/workspace/TabBar.d.ts +4 -1
  250. package/dist/react/workspace/TabBar.d.ts.map +1 -1
  251. package/dist/react/workspace/toolbars/BottomToolbar.d.ts +7 -1
  252. package/dist/react/workspace/toolbars/BottomToolbar.d.ts.map +1 -1
  253. package/dist/react/workspace/toolbars/RightToolbar.d.ts +10 -1
  254. package/dist/react/workspace/toolbars/RightToolbar.d.ts.map +1 -1
  255. package/dist/react/workspace/toolbars/TopToolbar.d.ts +36 -2
  256. package/dist/react/workspace/toolbars/TopToolbar.d.ts.map +1 -1
  257. package/dist/renderers/CandlestickRenderer.d.ts.map +1 -1
  258. package/dist/services/BarPrefetchCache.d.ts +39 -0
  259. package/dist/services/BarPrefetchCache.d.ts.map +1 -0
  260. package/dist/theme/colors.d.ts.map +1 -1
  261. package/dist/trading/UnmanagedIngestion.d.ts +39 -12
  262. package/dist/trading/UnmanagedIngestion.d.ts.map +1 -1
  263. package/dist/trading/tradingTypes.d.ts +11 -2
  264. package/dist/trading/tradingTypes.d.ts.map +1 -1
  265. package/dist/types/ChartBackend.d.ts +67 -0
  266. package/dist/types/ChartBackend.d.ts.map +1 -0
  267. package/package.json +2 -2
  268. package/dist/forgescript/__tests__/ai-response-parser.test.d.ts +0 -2
  269. package/dist/forgescript/__tests__/ai-response-parser.test.d.ts.map +0 -1
  270. package/dist/forgescript/__tests__/orchestrator.test.d.ts +0 -2
  271. package/dist/forgescript/__tests__/orchestrator.test.d.ts.map +0 -1
  272. package/dist/forgescript/__tests__/pine-transpiler.test.d.ts +0 -2
  273. package/dist/forgescript/__tests__/pine-transpiler.test.d.ts.map +0 -1
  274. package/dist/forgescript/conversion/ai-conversion-agent.d.ts +0 -41
  275. package/dist/forgescript/conversion/ai-conversion-agent.d.ts.map +0 -1
  276. package/dist/forgescript/conversion/conversion-orchestrator.d.ts +0 -44
  277. package/dist/forgescript/conversion/conversion-orchestrator.d.ts.map +0 -1
  278. package/dist/forgescript/conversion/prompts/index.d.ts +0 -17
  279. package/dist/forgescript/conversion/prompts/index.d.ts.map +0 -1
  280. package/dist/forgescript/pine/PineCompiler.d.ts +0 -38
  281. package/dist/forgescript/pine/PineCompiler.d.ts.map +0 -1
  282. package/dist/forgescript/pine/diagnostics.d.ts +0 -20
  283. package/dist/forgescript/pine/diagnostics.d.ts.map +0 -1
  284. package/dist/forgescript/pine/index.d.ts +0 -8
  285. package/dist/forgescript/pine/index.d.ts.map +0 -1
  286. package/dist/forgescript/pine/pine-ast.d.ts +0 -190
  287. package/dist/forgescript/pine/pine-ast.d.ts.map +0 -1
  288. package/dist/forgescript/pine/pine-lexer.d.ts +0 -41
  289. package/dist/forgescript/pine/pine-lexer.d.ts.map +0 -1
  290. package/dist/forgescript/pine/pine-parser.d.ts +0 -108
  291. package/dist/forgescript/pine/pine-parser.d.ts.map +0 -1
  292. package/dist/forgescript/pine/pine-transpiler.d.ts +0 -40
  293. package/dist/forgescript/pine/pine-transpiler.d.ts.map +0 -1
@@ -1,41 +0,0 @@
1
- /**
2
- * AI Conversion Agent — interface between the conversion pipeline and an LLM.
3
- *
4
- * This module:
5
- * 1. Accepts source code + detected language
6
- * 2. Builds a prompt using the language-specific template
7
- * 3. Calls the injected LLM provider
8
- * 4. Parses the response — tries JSON first (structured output from
9
- * the Responses API), then falls back to markdown section parsing
10
- *
11
- * The AI is an ASSISTIVE layer — its output ALWAYS passes through validation
12
- * before the user can save. No AI output bypasses the validation layer.
13
- */
14
- import type { SourceLanguage, AIConversionResponse } from './types';
15
- /** Message format for the LLM chat completion. */
16
- export interface ChatMessage {
17
- role: 'system' | 'user' | 'assistant';
18
- content: string;
19
- }
20
- /**
21
- * Pluggable LLM provider. Implementations call an external AI service.
22
- *
23
- * Returning `null` indicates the provider is unavailable / rate-limited.
24
- * The orchestrator will handle graceful fallback.
25
- */
26
- export type LLMProvider = (messages: ChatMessage[]) => Promise<string | null>;
27
- /**
28
- * Parse the structured 6-section response from the AI.
29
- * Returns a typed AIConversionResponse or throws if the format is unrecognisable.
30
- */
31
- export declare function parseAIResponse(raw: string): AIConversionResponse;
32
- /**
33
- * Run the AI conversion agent.
34
- *
35
- * @param source - The original source code to convert.
36
- * @param language - The detected or user-selected source language.
37
- * @param llm - The LLM provider to call.
38
- * @returns A parsed AIConversionResponse, or null if the LLM is unavailable.
39
- */
40
- export declare function runAIConversion(source: string, language: SourceLanguage, llm: LLMProvider): Promise<AIConversionResponse | null>;
41
- //# sourceMappingURL=ai-conversion-agent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-conversion-agent.d.ts","sourceRoot":"","sources":["../../../src/forgescript/conversion/ai-conversion-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAiC,MAAM,SAAS,CAAC;AAKnG,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAM9E;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAmCjE;AAID;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAsBtC"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Conversion Orchestrator — central pipeline for AI-assisted script conversion.
3
- *
4
- * Pipeline flow:
5
- * 1. Language Detection / User Override
6
- * 2. Route: deterministic (Pine) or AI (Python, JS, unknown)
7
- * 3. For Pine: deterministic first, optionally AI-refine
8
- * 4. Validation Layer (syntax + runtime + hallucination)
9
- * 5. Sandbox Execution
10
- * 6. Build Save Gate check
11
- * 7. Emit telemetry
12
- *
13
- * ForgeScript passthrough: if source is already ForgeScript, skip conversion.
14
- *
15
- * Core principle: NO AI output bypasses validation. NO silent approximations.
16
- */
17
- import type { SourceLanguage, ConversionResult } from './types';
18
- import type { AILanguageClassifier } from './language-detector';
19
- import type { LLMProvider } from './ai-conversion-agent';
20
- export interface ConversionOptions {
21
- /** Force a specific source language (skip detection). */
22
- sourceLanguage?: SourceLanguage;
23
- /** LLM provider for AI conversion. If omitted, AI path is unavailable. */
24
- llmProvider?: LLMProvider;
25
- /** AI language classifier fallback. */
26
- aiClassifier?: AILanguageClassifier;
27
- /** Skip sandbox execution. Default: false. */
28
- skipSandbox?: boolean;
29
- /** Pre-acknowledge all warnings (testing only — never in production). */
30
- acknowledgeWarnings?: boolean;
31
- /** Pre-confirm save (testing only — never in production). */
32
- confirmSave?: boolean;
33
- /** Force AI conversion even when deterministic is available. */
34
- forceAI?: boolean;
35
- }
36
- /**
37
- * Run the full conversion pipeline.
38
- *
39
- * @param source - Raw source code pasted by the user.
40
- * @param options - Pipeline configuration.
41
- * @returns Complete ConversionResult with code, validation, sandbox, and gate.
42
- */
43
- export declare function convertScript(source: string, options?: ConversionOptions): Promise<ConversionResult>;
44
- //# sourceMappingURL=conversion-orchestrator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversion-orchestrator.d.ts","sourceRoot":"","sources":["../../../src/forgescript/conversion/conversion-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAMjB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAKhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMzD,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,uCAAuC;IACvC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CA8K3B"}
@@ -1,17 +0,0 @@
1
- /**
2
- * AI Prompt Templates — language-specific prompt contracts for conversion.
3
- *
4
- * Each template produces a structured prompt that instructs an LLM to convert
5
- * source code from a specific language into valid ForgeScript.
6
- * The response format is enforced by JSON schema in openai-provider.ts,
7
- * NOT by prompt instructions — do not add markdown format rules here.
8
- *
9
- * These prompts are deterministic text; they have no runtime side effects.
10
- */
11
- import type { SourceLanguage } from '../types';
12
- export declare const FORGESCRIPT_REFERENCE: string;
13
- /** Get the system prompt for a specific source language. */
14
- export declare function getSystemPrompt(language: SourceLanguage): string;
15
- /** Build the full user message for the AI conversion request. */
16
- export declare function buildConversionPrompt(sourceLanguage: SourceLanguage, sourceCode: string): string;
17
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/forgescript/conversion/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,eAAO,MAAM,qBAAqB,QAsG1B,CAAC;AA0GT,4DAA4D;AAC5D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAQhE;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,MAAM,GACjB,MAAM,CAUR"}
@@ -1,38 +0,0 @@
1
- /**
2
- * PineCompiler — public entry point for the Pine Script compatibility layer.
3
- *
4
- * Pipeline:
5
- * Pine source → PineLexer → PineToken[] → PineParser → PineProgram
6
- * → PineTranspiler → ForgeScript source → ForgeScriptIndicator runtime
7
- *
8
- * Supported versions: Pine v5 and v6.
9
- * Scripts tagged //@version=N where N > 6 will compile with a warning.
10
- */
11
- import type { Diagnostic } from './diagnostics';
12
- import type { OHLCV } from '@forgecharts/types';
13
- import type { IndicatorPoint } from '../../core/IndicatorEngine';
14
- export type { Diagnostic };
15
- export type { DiagnosticSeverity } from './diagnostics';
16
- export interface PineCompileResult {
17
- /** The transpiled ForgeScript source string. */
18
- readonly tscript: string;
19
- readonly diagnostics: readonly Diagnostic[];
20
- /** `true` when there are no error-severity diagnostics. */
21
- readonly ok: boolean;
22
- }
23
- export declare class PineCompiler {
24
- /**
25
- * Compile Pine Script source to ForgeScript.
26
- * Parse errors throw a `SyntaxError`; semantic problems populate diagnostics.
27
- */
28
- compile(pineSource: string): PineCompileResult;
29
- /**
30
- * Convenience: compile + run against a bar series.
31
- * Returns the plot outputs and any diagnostics.
32
- */
33
- static run(pineSource: string, bars: readonly OHLCV[]): {
34
- plots: IndicatorPoint[][];
35
- diagnostics: readonly Diagnostic[];
36
- };
37
- }
38
- //# sourceMappingURL=PineCompiler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PineCompiler.d.ts","sourceRoot":"","sources":["../../../src/forgescript/pine/PineCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAY,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,YAAY,EAAE,UAAU,EAAE,CAAC;AAC3B,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAM,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,EAAW,OAAO,CAAC;CAC/B;AAED,qBAAa,YAAY;IACvB;;;OAGG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB;IAkC9C;;;OAGG;IACH,MAAM,CAAC,GAAG,CACR,UAAU,EAAE,MAAM,EAClB,IAAI,EAAQ,SAAS,KAAK,EAAE,GAC3B;QAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC;QAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE;CAYrE"}
@@ -1,20 +0,0 @@
1
- /** Diagnostic emitted by the Pine compiler pipeline. */
2
- export type DiagnosticSeverity = 'error' | 'warning' | 'info';
3
- export interface Diagnostic {
4
- readonly severity: DiagnosticSeverity;
5
- readonly message: string;
6
- readonly line: number;
7
- readonly col: number;
8
- /** Machine-readable code, e.g. 'PINE_UNSUPPORTED_FN' */
9
- readonly code: string;
10
- }
11
- export declare class DiagnosticBag {
12
- private readonly _diags;
13
- add(severity: DiagnosticSeverity, message: string, loc: {
14
- line: number;
15
- col: number;
16
- }, code: string): void;
17
- get diagnostics(): readonly Diagnostic[];
18
- hasErrors(): boolean;
19
- }
20
- //# sourceMappingURL=diagnostics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/forgescript/pine/diagnostics.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAM,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAO,MAAM,CAAC;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAM,MAAM,CAAC;CAC3B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAE3C,GAAG,CACD,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAG,MAAM,EAChB,GAAG,EAAO;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EACvC,IAAI,EAAM,MAAM,GACf,IAAI;IAIP,IAAI,WAAW,IAAI,SAAS,UAAU,EAAE,CAAwB;IAEhE,SAAS,IAAI,OAAO;CAGrB"}
@@ -1,8 +0,0 @@
1
- export { PineParser } from './pine-parser';
2
- export { PineTranspiler } from './pine-transpiler';
3
- export { DiagnosticBag } from './diagnostics';
4
- export { PineCompiler } from './PineCompiler';
5
- export type { Diagnostic, DiagnosticSeverity } from './diagnostics';
6
- export type { PineCompileResult } from './PineCompiler';
7
- export type { PineProgram, PineStmt, PineExpr } from './pine-ast';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forgescript/pine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAU,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAO,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAQ,gBAAgB,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -1,190 +0,0 @@
1
- /**
2
- * Pine Script AST types — subset understood by the ForgeCharts Pine compat layer.
3
- *
4
- * Supported Pine v5/v6 constructs:
5
- * indicator(title, overlay?, ...)
6
- * input(defval, title?, ...) / input.int() / input.float() / input.bool() / input.source()
7
- * ta.sma() ta.ema() ta.wma() ta.rma() ta.rsi() ta.macd()
8
- * ta.stdev() ta.highest() ta.lowest() ta.change() ta.mom() ta.atr()
9
- * ta.crossover() ta.crossunder() ta.barssince()
10
- * math.abs() math.max() math.min() math.round() math.floor() math.ceil()
11
- * math.sqrt() math.log() math.pow() math.sign()
12
- * str.* (partial — unsupported functions emit a diagnostic)
13
- * plot() plotshape()
14
- * nz() na()
15
- * if / else blocks
16
- * switch expression/statement (v6+)
17
- * while loop (v6+)
18
- * for...in loop (v6+ — emits unsupported diagnostic)
19
- * type / method / import / export / enum (v6+ — silently skipped with diagnostics)
20
- * var declarations
21
- * ternary a ? b : c
22
- */
23
- export type Loc = {
24
- line: number;
25
- col: number;
26
- };
27
- export type PineNumberLit = {
28
- kind: 'PineNumberLit';
29
- value: number;
30
- loc: Loc;
31
- };
32
- export type PineStringLit = {
33
- kind: 'PineStringLit';
34
- value: string;
35
- loc: Loc;
36
- };
37
- export type PineBoolLit = {
38
- kind: 'PineBoolLit';
39
- value: boolean;
40
- loc: Loc;
41
- };
42
- export type PineColorLit = {
43
- kind: 'PineColorLit';
44
- value: string;
45
- loc: Loc;
46
- };
47
- export type PineNa = {
48
- kind: 'PineNa';
49
- loc: Loc;
50
- };
51
- export type PineIdent = {
52
- kind: 'PineIdent';
53
- name: string;
54
- loc: Loc;
55
- };
56
- /** Namespaced call: ta.sma(src, len) or math.abs(x) */
57
- export type PineNsCall = {
58
- kind: 'PineNsCall';
59
- namespace: string;
60
- fn: string;
61
- args: PineExpr[];
62
- namedArgs: Map<string, PineExpr>;
63
- loc: Loc;
64
- };
65
- /** Plain function call: sma(src, len), indicator(...), plot(...) */
66
- export type PineCall = {
67
- kind: 'PineCall';
68
- fn: string;
69
- args: PineExpr[];
70
- namedArgs: Map<string, PineExpr>;
71
- loc: Loc;
72
- };
73
- export type PineIndex = {
74
- kind: 'PineIndex';
75
- series: PineExpr;
76
- index: PineExpr;
77
- loc: Loc;
78
- };
79
- export type PineBinary = {
80
- kind: 'PineBinary';
81
- op: '+' | '-' | '*' | '/' | '%' | '<' | '>' | '<=' | '>=' | '==' | '!=' | 'and' | 'or';
82
- left: PineExpr;
83
- right: PineExpr;
84
- loc: Loc;
85
- };
86
- export type PineUnary = {
87
- kind: 'PineUnary';
88
- op: '-' | 'not';
89
- operand: PineExpr;
90
- loc: Loc;
91
- };
92
- export type PineTernary = {
93
- kind: 'PineTernary';
94
- condition: PineExpr;
95
- consequent: PineExpr;
96
- alternate: PineExpr;
97
- loc: Loc;
98
- };
99
- /** Member access: color.red, bar_index, etc. — resolved at transpile time */
100
- export type PineMember = {
101
- kind: 'PineMember';
102
- object: string;
103
- prop: string;
104
- loc: Loc;
105
- };
106
- export type PineExpr = PineNumberLit | PineStringLit | PineBoolLit | PineColorLit | PineNa | PineIdent | PineNsCall | PineCall | PineIndex | PineBinary | PineUnary | PineTernary | PineMember;
107
- export type PineIndicatorDecl = {
108
- kind: 'PineIndicatorDecl';
109
- args: PineExpr[];
110
- namedArgs: Map<string, PineExpr>;
111
- loc: Loc;
112
- };
113
- /** var / varip declaration */
114
- export type PineVarDecl = {
115
- kind: 'PineVarDecl';
116
- modifier: 'var' | 'varip';
117
- name: string;
118
- typeHint?: string;
119
- value: PineExpr;
120
- loc: Loc;
121
- };
122
- export type PineAssign = {
123
- kind: 'PineAssign';
124
- name: string;
125
- op: '=' | ':=';
126
- value: PineExpr;
127
- loc: Loc;
128
- };
129
- export type PineExprStmt = {
130
- kind: 'PineExprStmt';
131
- expr: PineExpr;
132
- loc: Loc;
133
- };
134
- export type PineIf = {
135
- kind: 'PineIf';
136
- condition: PineExpr;
137
- then: PineStmt[];
138
- else_: PineStmt[];
139
- loc: Loc;
140
- };
141
- export type PineSwitchCase = {
142
- /** null = default / else case (no condition) */
143
- condition: PineExpr | null;
144
- body: PineStmt[];
145
- };
146
- /**
147
- * Pine v6 switch statement/expression.
148
- *
149
- * switch subject → equality-compare each case against subject
150
- * switch (no subject) → each case condition is evaluated as a boolean
151
- */
152
- export type PineSwitch = {
153
- kind: 'PineSwitch';
154
- subject: PineExpr | null;
155
- cases: PineSwitchCase[];
156
- loc: Loc;
157
- };
158
- export type PineWhile = {
159
- kind: 'PineWhile';
160
- condition: PineExpr;
161
- body: PineStmt[];
162
- loc: Loc;
163
- };
164
- export type PineForIn = {
165
- kind: 'PineForIn';
166
- varName: string;
167
- iterable: PineExpr;
168
- body: PineStmt[];
169
- loc: Loc;
170
- };
171
- /** User-defined type declaration (v6). Transpiled to a no-op with a diagnostic. */
172
- export type PineTypeDef = {
173
- kind: 'PineTypeDef';
174
- name: string;
175
- loc: Loc;
176
- };
177
- /** Library import statement (v6). Transpiled to a no-op with a diagnostic. */
178
- export type PineImport = {
179
- kind: 'PineImport';
180
- path: string;
181
- alias: string;
182
- loc: Loc;
183
- };
184
- export type PineStmt = PineIndicatorDecl | PineVarDecl | PineAssign | PineExprStmt | PineIf | PineSwitch | PineWhile | PineForIn | PineTypeDef | PineImport;
185
- export type PineProgram = {
186
- kind: 'PineProgram';
187
- version: number;
188
- stmts: PineStmt[];
189
- };
190
- //# sourceMappingURL=pine-ast.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pine-ast.d.ts","sourceRoot":"","sources":["../../../src/forgescript/pine/pine-ast.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Pine Script Lexer — tokenises a Pine v5 source string.
3
- *
4
- * Differences vs TScript lexer:
5
- * - `//@version=N` comment is parsed for the version number
6
- * - `color.red`, `ta.sma`, `math.abs` — namespace.member chains
7
- * - `:=` reassignment operator
8
- * - Indentation-based block structure (INDENT / DEDENT tokens)
9
- * - `var` / `varip` keywords
10
- * - `=>` (function body arrow, for single-line user functions — recognised
11
- * but not fully transpiled; emits an diagnostic)
12
- */
13
- export type PineTok = 'NUMBER' | 'STRING' | 'BOOL' | 'COLOR' | 'IDENT' | 'PLUS' | 'MINUS' | 'STAR' | 'SLASH' | 'PERCENT' | 'LT' | 'GT' | 'LTE' | 'GTE' | 'EQEQ' | 'NEQ' | 'QMARK' | 'COLON' | 'ARROW' | 'ASSIGN' | 'REASSIGN' | 'DOT' | 'LPAREN' | 'RPAREN' | 'LBRACKET' | 'RBRACKET' | 'COMMA' | 'INDENT' | 'DEDENT' | 'NEWLINE' | 'EOF';
14
- export type PineToken = {
15
- kind: PineTok;
16
- value: string;
17
- line: number;
18
- col: number;
19
- };
20
- export declare class PineLexer {
21
- private _src;
22
- private _pos;
23
- private _line;
24
- private _col;
25
- /** Version extracted from `//@version=N` */
26
- version: number;
27
- constructor(src: string);
28
- tokenize(): PineToken[];
29
- private _rawTokenize;
30
- private _injectIndents;
31
- private _make;
32
- private _peek;
33
- private _adv;
34
- private _isDigit;
35
- private _isAlpha;
36
- private _isAlphaNum;
37
- private _readNumber;
38
- private _readString;
39
- private _readIdent;
40
- }
41
- //# sourceMappingURL=pine-lexer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pine-lexer.d.ts","sourceRoot":"","sources":["../../../src/forgescript/pine/pine-lexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,OAAO,GACf,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GACtC,OAAO,GACP,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,GAAG,OAAO,GAC3B,QAAQ,GAAG,UAAU,GACrB,KAAK,GACL,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAC7C,OAAO,GACP,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAC/B,KAAK,CAAC;AAEV,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAG,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAG,MAAM,CAAC;IACd,GAAG,EAAI,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,IAAI,CAAgB;IAE5B,4CAA4C;IAC5C,OAAO,SAAK;gBAEA,GAAG,EAAE,MAAM;IAIvB,QAAQ,IAAI,SAAS,EAAE;IASvB,OAAO,CAAC,YAAY;IAoFpB,OAAO,CAAC,cAAc;IA2DtB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,UAAU;CAYnB"}
@@ -1,108 +0,0 @@
1
- /**
2
- * Pine Script Parser — recursive-descent, produces a PineProgram AST.
3
- *
4
- * Handles Pine v5 and v6 constructs:
5
- * indicator(), input.*(), ta.*(), math.*(), str.*(), plot(), plotshape()
6
- * var / varip declarations
7
- * := reassignment
8
- * if / else (indented blocks)
9
- * switch statement/expression (v6+)
10
- * while loop (v6+)
11
- * for...in loop (v6+, emits unsupported diagnostic)
12
- * type / method / enum declarations (v6+, silently skipped)
13
- * import / export statements (v6+, silently skipped)
14
- * ternary a ? b : c
15
- * namespace.member and namespace.call(...)
16
- */
17
- import type { PineProgram } from './pine-ast';
18
- export declare class PineParser {
19
- private _tokens;
20
- private _pos;
21
- readonly version: number;
22
- constructor(src: string);
23
- parse(): PineProgram;
24
- private _stmt;
25
- private _varDecl;
26
- private _assignStmt;
27
- private _indicatorDecl;
28
- private _ifStmt;
29
- private _indentedBlock;
30
- /**
31
- * switch expr
32
- * val1 => body ← single-line
33
- * val2 => ← multi-line
34
- * stmt1
35
- * => defaultBody ← default / else (no condition)
36
- *
37
- * OR boolean-style (no subject):
38
- * switch
39
- * cond1 => body
40
- * cond2 => body
41
- * => defaultBody
42
- */
43
- private _switchStmt;
44
- /** Parse single-line body (after =>) OR consume NL and parse an indented block. */
45
- private _singleLineOrBlock;
46
- private _whileStmt;
47
- private _forInStmt;
48
- /**
49
- * type MyType
50
- * float field1 = 0
51
- * int field2 = 0
52
- *
53
- * We parse the name and skip the indented field block.
54
- */
55
- private _typeDefStmt;
56
- /**
57
- * import username/libraryname/version as alias
58
- */
59
- private _importStmt;
60
- /**
61
- * Returns true if the current position looks like a user-defined function
62
- * declaration: `IDENT '(' ... ')' '=>'`.
63
- * Scans forward to find the matching RPAREN, then checks for ARROW.
64
- */
65
- private _looksLikeFuncDef;
66
- /**
67
- * Skip a user-defined function declaration and its body.
68
- *
69
- * funcname(param, ...) =>
70
- * body
71
- *
72
- * OR single-line:
73
- * funcname(params) => expr
74
- *
75
- * Emits no output — user-defined functions are unsupported in ForgeScript.
76
- */
77
- private _funcDefStmt;
78
- /** Skip to end of current line (consumes any tokens before NEWLINE/EOF). */
79
- private _skipToNL;
80
- /** Skip a full INDENT…DEDENT block, handling nesting. Does nothing if no INDENT. */
81
- private _skipBlock;
82
- private _expr;
83
- private _ternary;
84
- private _or;
85
- private _and;
86
- private _not;
87
- private _comparison;
88
- private _addition;
89
- private _multiply;
90
- private _unary;
91
- private _postfix;
92
- private _primary;
93
- private _argList;
94
- private _parseOneArg;
95
- private _cur;
96
- private _advance;
97
- private _check;
98
- private _checkIdent;
99
- private _peekKind;
100
- private _match;
101
- private _consume;
102
- private _skipNL;
103
- private _consumeNLorEOF;
104
- private _locOfCur;
105
- private _locOf;
106
- private _bin;
107
- }
108
- //# sourceMappingURL=pine-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pine-parser.d.ts","sourceRoot":"","sources":["../../../src/forgescript/pine/pine-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EACV,WAAW,EAOZ,MAAM,YAAY,CAAC;AAGpB,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,IAAI,CAAQ;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,GAAG,EAAE,MAAM;IAMvB,KAAK,IAAI,WAAW;IAapB,OAAO,CAAC,KAAK;IA2Fb,OAAO,CAAC,QAAQ;IAgChB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,OAAO;IAoBf,OAAO,CAAC,cAAc;IAgBtB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,WAAW;IAwCnB,mFAAmF;IACnF,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,UAAU;IA+BlB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAsBnB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY;IAsBpB,4EAA4E;IAC5E,OAAO,CAAC,SAAS;IAOjB,oFAAoF;IACpF,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,KAAK;IAEb,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,GAAG;IAUX,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,IAAI;IAWZ,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,QAAQ;IAmHhB,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,SAAS;IAGjB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,OAAO;IAGf,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,IAAI;CAGb"}
@@ -1,40 +0,0 @@
1
- /**
2
- * Pine Script → ForgeScript transpiler.
3
- *
4
- * Walks a `PineProgram` AST and emits a ForgeScript source string that is
5
- * directly executable by the existing `ForgeScriptRuntime`.
6
- * Supports Pine v5 and v6 constructs.
7
- */
8
- import type { PineProgram } from './pine-ast';
9
- import { DiagnosticBag } from './diagnostics';
10
- export declare class PineTranspiler {
11
- private _diag;
12
- private _indent;
13
- private _out;
14
- constructor(diag: DiagnosticBag);
15
- transpile(prog: PineProgram): string;
16
- private _stmt;
17
- private _indicatorDecl;
18
- private _varDecl;
19
- private _assign;
20
- private _exprStmt;
21
- private _ifStmt;
22
- private _switchStmt;
23
- private _whileStmt;
24
- private _forInStmt;
25
- private _expr;
26
- private _numLit;
27
- private _nsCall;
28
- private _inputNsCall;
29
- private _strNsCall;
30
- private _call;
31
- /** Transpile supported output functions, preserving named args */
32
- private _outputFnCall;
33
- private _plotCall;
34
- private _member;
35
- private _binary;
36
- private _unary;
37
- private _positionalArgs;
38
- private _line;
39
- }
40
- //# sourceMappingURL=pine-transpiler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pine-transpiler.d.ts","sourceRoot":"","sources":["../../../src/forgescript/pine/pine-transpiler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EAMZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAkG9C,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,IAAI,CAAgB;gBAEhB,IAAI,EAAE,aAAa;IAI/B,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAWpC,OAAO,CAAC,KAAK;IAeb,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,KAAK;IAmBb,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,OAAO;IAmEf,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,UAAU;IA4BlB,OAAO,CAAC,KAAK;IAiCb,kEAAkE;IAClE,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,OAAO;IAmCf,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,KAAK;CAId"}