@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.
- package/dist/Omne-YBWT34SS.png +0 -0
- package/dist/Rithmic-CDB4YQEZ.png +0 -0
- package/dist/api/DrawingManager.d.ts +1 -1
- package/dist/api/DrawingManager.d.ts.map +1 -1
- package/dist/api/IndicatorDAG.d.ts +22 -0
- package/dist/api/IndicatorDAG.d.ts.map +1 -1
- package/dist/api/IndicatorRegistry.d.ts +6 -0
- package/dist/api/IndicatorRegistry.d.ts.map +1 -1
- package/dist/api/LayoutManager.d.ts +3 -1
- package/dist/api/LayoutManager.d.ts.map +1 -1
- package/dist/api/ReferenceAPI.d.ts +5 -0
- package/dist/api/ReferenceAPI.d.ts.map +1 -1
- package/dist/api/TChart.d.ts +69 -0
- package/dist/api/TChart.d.ts.map +1 -1
- package/dist/api/drawing tools/fib gann menu/fibChannel.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibChannel.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/fibCircles.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibCircles.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/fibRetracement.d.ts.map +1 -1
- package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceArcs.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceArcs.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceFan.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceFan.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/fibSpiral.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibSpiral.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/fibTimeZone.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibTimeZone.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/fibWedge.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibWedge.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/gannBox.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/gannBox.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/gannFan.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/gannFan.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/gannSquare.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/gannSquare.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/gannSquareFixed.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/gannSquareFixed.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/pitchfan.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/pitchfan.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/trendBasedFibExtension.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/trendBasedFibExtension.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/trendBasedFibTime.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/trendBasedFibTime.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/anchoredText.d.ts +7 -0
- package/dist/api/drawing tools/shapes menu/anchoredText.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/arc.d.ts +8 -0
- package/dist/api/drawing tools/shapes menu/arc.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/arrow.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/arrow.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/arrowDown.d.ts +7 -0
- package/dist/api/drawing tools/shapes menu/arrowDown.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/arrowUp.d.ts +7 -0
- package/dist/api/drawing tools/shapes menu/arrowUp.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/callout.d.ts +7 -0
- package/dist/api/drawing tools/shapes menu/callout.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/dateRange.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/dateRange.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/ellipse.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/ellipse.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/longPosition.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/longPosition.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/priceLabel.d.ts +7 -0
- package/dist/api/drawing tools/shapes menu/priceLabel.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/priceRange.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/priceRange.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/shortPosition.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/shortPosition.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/triangle.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/triangle.d.ts.map +1 -0
- package/dist/core/Chart.d.ts +29 -2
- package/dist/core/Chart.d.ts.map +1 -1
- package/dist/core/CoordTransform.d.ts.map +1 -1
- package/dist/core/Crosshair.d.ts +2 -0
- package/dist/core/Crosshair.d.ts.map +1 -1
- package/dist/core/IndicatorEngine.d.ts +15 -0
- package/dist/core/IndicatorEngine.d.ts.map +1 -1
- package/dist/core/InteractionManager.d.ts +55 -2
- package/dist/core/InteractionManager.d.ts.map +1 -1
- package/dist/core/PriceScale.d.ts +2 -0
- package/dist/core/PriceScale.d.ts.map +1 -1
- package/dist/core/Series.d.ts.map +1 -1
- package/dist/core/TimeScale.d.ts +52 -1
- package/dist/core/TimeScale.d.ts.map +1 -1
- package/dist/core/indicatorStyles.d.ts +37 -0
- package/dist/core/indicatorStyles.d.ts.map +1 -0
- package/dist/datafeed/DatafeedConnector.d.ts +27 -0
- package/dist/datafeed/DatafeedConnector.d.ts.map +1 -1
- package/dist/engine/CandleEngine.d.ts +2 -0
- package/dist/engine/CandleEngine.d.ts.map +1 -1
- package/dist/forgecharts.css +2029 -132
- package/dist/forgescript/ast.d.ts +71 -4
- package/dist/forgescript/ast.d.ts.map +1 -1
- package/dist/forgescript/builtins/collections.d.ts +56 -0
- package/dist/forgescript/builtins/collections.d.ts.map +1 -0
- package/dist/forgescript/builtins/drawing.d.ts +57 -0
- package/dist/forgescript/builtins/drawing.d.ts.map +1 -0
- package/dist/forgescript/builtins/udt.d.ts +30 -0
- package/dist/forgescript/builtins/udt.d.ts.map +1 -0
- package/dist/forgescript/conversion/index.d.ts +16 -9
- package/dist/forgescript/conversion/index.d.ts.map +1 -1
- package/dist/forgescript/conversion/types.d.ts +10 -54
- package/dist/forgescript/conversion/types.d.ts.map +1 -1
- package/dist/forgescript/conversion/validation.d.ts.map +1 -1
- package/dist/forgescript/datasets/DatasetStore.d.ts +65 -0
- package/dist/forgescript/datasets/DatasetStore.d.ts.map +1 -0
- package/dist/forgescript/datasets/parseDataset.d.ts +32 -0
- package/dist/forgescript/datasets/parseDataset.d.ts.map +1 -0
- package/dist/forgescript/parser.d.ts +19 -1
- package/dist/forgescript/parser.d.ts.map +1 -1
- package/dist/forgescript/runtime.d.ts +125 -104
- package/dist/forgescript/runtime.d.ts.map +1 -1
- package/dist/index.d.ts +14 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21487 -8016
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +2 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +19599 -6869
- package/dist/internal.js.map +1 -1
- package/dist/licensing/ChartRuntimeResolver.d.ts +134 -124
- package/dist/licensing/ChartRuntimeResolver.d.ts.map +1 -1
- package/dist/licensing/LicenseManager.d.ts.map +1 -1
- package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts +2 -0
- package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts.map +1 -1
- package/dist/licensing/licenseTypes.d.ts +56 -15
- package/dist/licensing/licenseTypes.d.ts.map +1 -1
- package/dist/node.d.ts +57 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/pixi/PixiBenchmark.d.ts +56 -0
- package/dist/pixi/PixiBenchmark.d.ts.map +1 -0
- package/dist/pixi/PixiCandlestickRenderer.d.ts +19 -6
- package/dist/pixi/PixiCandlestickRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiChart.d.ts +108 -2
- package/dist/pixi/PixiChart.d.ts.map +1 -1
- package/dist/pixi/PixiCrosshairRenderer.d.ts +10 -0
- package/dist/pixi/PixiCrosshairRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiDrawingRenderer.d.ts +17 -5
- package/dist/pixi/PixiDrawingRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiGridRenderer.d.ts +18 -2
- package/dist/pixi/PixiGridRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiHistogramRenderer.d.ts +17 -0
- package/dist/pixi/PixiHistogramRenderer.d.ts.map +1 -0
- package/dist/pixi/PixiIndicatorRenderer.d.ts +35 -0
- package/dist/pixi/PixiIndicatorRenderer.d.ts.map +1 -0
- package/dist/pixi/PixiLastPriceRenderer.d.ts +33 -0
- package/dist/pixi/PixiLastPriceRenderer.d.ts.map +1 -0
- package/dist/pixi/PixiLayerManager.d.ts.map +1 -1
- package/dist/pixi/PixiLineRenderer.d.ts +19 -0
- package/dist/pixi/PixiLineRenderer.d.ts.map +1 -0
- package/dist/pixi/PixiTradingRenderer.d.ts +100 -0
- package/dist/pixi/PixiTradingRenderer.d.ts.map +1 -0
- package/dist/pixi/snap.d.ts +38 -0
- package/dist/pixi/snap.d.ts.map +1 -0
- package/dist/react/agent/AgentFAB.d.ts +21 -0
- package/dist/react/agent/AgentFAB.d.ts.map +1 -0
- package/dist/react/agent/AgentProvider.d.ts +15 -0
- package/dist/react/agent/AgentProvider.d.ts.map +1 -0
- package/dist/react/agent/AgentUIBus.d.ts +118 -0
- package/dist/react/agent/AgentUIBus.d.ts.map +1 -0
- package/dist/react/agent/AssistantPanel.d.ts +13 -0
- package/dist/react/agent/AssistantPanel.d.ts.map +1 -0
- package/dist/react/agent/CommandDispatcher.d.ts +81 -0
- package/dist/react/agent/CommandDispatcher.d.ts.map +1 -0
- package/dist/react/agent/VoiceInput.d.ts +36 -0
- package/dist/react/agent/VoiceInput.d.ts.map +1 -0
- package/dist/react/agent/contractUtils.d.ts +31 -0
- package/dist/react/agent/contractUtils.d.ts.map +1 -0
- package/dist/react/agent/index.d.ts +18 -0
- package/dist/react/agent/index.d.ts.map +1 -0
- package/dist/react/agent/useAgent.d.ts +81 -0
- package/dist/react/agent/useAgent.d.ts.map +1 -0
- package/dist/react/canvas/ChartCanvas.d.ts +55 -0
- package/dist/react/canvas/ChartCanvas.d.ts.map +1 -1
- package/dist/react/canvas/ChartContextMenu.d.ts +1 -1
- package/dist/react/canvas/ChartContextMenu.d.ts.map +1 -1
- package/dist/react/canvas/ChartSettingsDialog.d.ts +80 -2
- package/dist/react/canvas/ChartSettingsDialog.d.ts.map +1 -1
- package/dist/react/canvas/ContractSwitchDialog.d.ts +22 -0
- package/dist/react/canvas/ContractSwitchDialog.d.ts.map +1 -0
- package/dist/react/canvas/DrawingPropertiesDialog.d.ts +23 -0
- package/dist/react/canvas/DrawingPropertiesDialog.d.ts.map +1 -0
- package/dist/react/canvas/IndicatorLabel.d.ts +11 -3
- package/dist/react/canvas/IndicatorLabel.d.ts.map +1 -1
- package/dist/react/canvas/IndicatorPane.d.ts +1 -1
- package/dist/react/canvas/IndicatorPane.d.ts.map +1 -1
- package/dist/react/canvas/PointerOverlay.d.ts +6 -3
- package/dist/react/canvas/PointerOverlay.d.ts.map +1 -1
- package/dist/react/canvas/PositionPropertiesDialog.d.ts +22 -0
- package/dist/react/canvas/PositionPropertiesDialog.d.ts.map +1 -0
- package/dist/react/canvas/TableOverlay.d.ts +1 -1
- package/dist/react/canvas/TableOverlay.d.ts.map +1 -1
- package/dist/react/canvas/toolbars/LeftToolbar.d.ts +9 -2
- package/dist/react/canvas/toolbars/LeftToolbar.d.ts.map +1 -1
- package/dist/react/hooks/useBrokerEvents.d.ts +9 -0
- package/dist/react/hooks/useBrokerEvents.d.ts.map +1 -1
- package/dist/react/hooks/useChartCapabilities.d.ts.map +1 -1
- package/dist/react/hooks/usePanelDrag.d.ts +2 -0
- package/dist/react/hooks/usePanelDrag.d.ts.map +1 -0
- package/dist/react/index.d.ts +3 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +25769 -10541
- package/dist/react/index.js.map +1 -1
- package/dist/react/internal.js +32838 -15641
- package/dist/react/internal.js.map +1 -1
- package/dist/react/shell/DatasetImportPanel.d.ts +14 -0
- package/dist/react/shell/DatasetImportPanel.d.ts.map +1 -0
- package/dist/react/shell/DatasetManagerDrawer.d.ts +20 -0
- package/dist/react/shell/DatasetManagerDrawer.d.ts.map +1 -0
- package/dist/react/shell/DepthOfMarketPanel.d.ts +18 -0
- package/dist/react/shell/DepthOfMarketPanel.d.ts.map +1 -0
- package/dist/react/shell/DocsEditor.d.ts +17 -0
- package/dist/react/shell/DocsEditor.d.ts.map +1 -0
- package/dist/react/shell/ManagedAppShell.d.ts +27 -0
- package/dist/react/shell/ManagedAppShell.d.ts.map +1 -1
- package/dist/react/shell/OrderEntryPanel.d.ts +21 -1
- package/dist/react/shell/OrderEntryPanel.d.ts.map +1 -1
- package/dist/react/shell/ScriptDrawer.d.ts +7 -1
- package/dist/react/shell/ScriptDrawer.d.ts.map +1 -1
- package/dist/react/shell/ScriptSettings.d.ts +26 -0
- package/dist/react/shell/ScriptSettings.d.ts.map +1 -0
- package/dist/react/shell/TradeDrawer.d.ts +8 -1
- package/dist/react/shell/TradeDrawer.d.ts.map +1 -1
- package/dist/react/shell/WatchlistDrawer.d.ts +2 -1
- package/dist/react/shell/WatchlistDrawer.d.ts.map +1 -1
- package/dist/react/shell/useDepthSubscription.d.ts +12 -0
- package/dist/react/shell/useDepthSubscription.d.ts.map +1 -0
- package/dist/react/shell/useWatchlistQuotes.d.ts +6 -0
- package/dist/react/shell/useWatchlistQuotes.d.ts.map +1 -1
- package/dist/react/workspace/BottomTradingPanel.d.ts +78 -0
- package/dist/react/workspace/BottomTradingPanel.d.ts.map +1 -0
- package/dist/react/workspace/ChartWorkspace.d.ts +64 -1
- package/dist/react/workspace/ChartWorkspace.d.ts.map +1 -1
- package/dist/react/workspace/FloatingPanel.d.ts +1 -1
- package/dist/react/workspace/FloatingPanel.d.ts.map +1 -1
- package/dist/react/workspace/GridChartContainer.d.ts +40 -0
- package/dist/react/workspace/GridChartContainer.d.ts.map +1 -0
- package/dist/react/workspace/GridSyncContext.d.ts +32 -0
- package/dist/react/workspace/GridSyncContext.d.ts.map +1 -0
- package/dist/react/workspace/GridTemplates.d.ts +16 -0
- package/dist/react/workspace/GridTemplates.d.ts.map +1 -0
- package/dist/react/workspace/IndicatorsDialog.d.ts +5 -1
- package/dist/react/workspace/IndicatorsDialog.d.ts.map +1 -1
- package/dist/react/workspace/LayoutMenu.d.ts +1 -1
- package/dist/react/workspace/LayoutMenu.d.ts.map +1 -1
- package/dist/react/workspace/LayoutTemplateSelector.d.ts +16 -0
- package/dist/react/workspace/LayoutTemplateSelector.d.ts.map +1 -0
- package/dist/react/workspace/SymbolSearchDialog.d.ts +1 -1
- package/dist/react/workspace/SymbolSearchDialog.d.ts.map +1 -1
- package/dist/react/workspace/TabBar.d.ts +4 -1
- package/dist/react/workspace/TabBar.d.ts.map +1 -1
- package/dist/react/workspace/toolbars/BottomToolbar.d.ts +7 -1
- package/dist/react/workspace/toolbars/BottomToolbar.d.ts.map +1 -1
- package/dist/react/workspace/toolbars/RightToolbar.d.ts +10 -1
- package/dist/react/workspace/toolbars/RightToolbar.d.ts.map +1 -1
- package/dist/react/workspace/toolbars/TopToolbar.d.ts +36 -2
- package/dist/react/workspace/toolbars/TopToolbar.d.ts.map +1 -1
- package/dist/renderers/CandlestickRenderer.d.ts.map +1 -1
- package/dist/services/BarPrefetchCache.d.ts +39 -0
- package/dist/services/BarPrefetchCache.d.ts.map +1 -0
- package/dist/theme/colors.d.ts.map +1 -1
- package/dist/trading/UnmanagedIngestion.d.ts +39 -12
- package/dist/trading/UnmanagedIngestion.d.ts.map +1 -1
- package/dist/trading/tradingTypes.d.ts +11 -2
- package/dist/trading/tradingTypes.d.ts.map +1 -1
- package/dist/types/ChartBackend.d.ts +67 -0
- package/dist/types/ChartBackend.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/forgescript/__tests__/ai-response-parser.test.d.ts +0 -2
- package/dist/forgescript/__tests__/ai-response-parser.test.d.ts.map +0 -1
- package/dist/forgescript/__tests__/orchestrator.test.d.ts +0 -2
- package/dist/forgescript/__tests__/orchestrator.test.d.ts.map +0 -1
- package/dist/forgescript/__tests__/pine-transpiler.test.d.ts +0 -2
- package/dist/forgescript/__tests__/pine-transpiler.test.d.ts.map +0 -1
- package/dist/forgescript/conversion/ai-conversion-agent.d.ts +0 -41
- package/dist/forgescript/conversion/ai-conversion-agent.d.ts.map +0 -1
- package/dist/forgescript/conversion/conversion-orchestrator.d.ts +0 -44
- package/dist/forgescript/conversion/conversion-orchestrator.d.ts.map +0 -1
- package/dist/forgescript/conversion/prompts/index.d.ts +0 -17
- package/dist/forgescript/conversion/prompts/index.d.ts.map +0 -1
- package/dist/forgescript/pine/PineCompiler.d.ts +0 -38
- package/dist/forgescript/pine/PineCompiler.d.ts.map +0 -1
- package/dist/forgescript/pine/diagnostics.d.ts +0 -20
- package/dist/forgescript/pine/diagnostics.d.ts.map +0 -1
- package/dist/forgescript/pine/index.d.ts +0 -8
- package/dist/forgescript/pine/index.d.ts.map +0 -1
- package/dist/forgescript/pine/pine-ast.d.ts +0 -190
- package/dist/forgescript/pine/pine-ast.d.ts.map +0 -1
- package/dist/forgescript/pine/pine-lexer.d.ts +0 -41
- package/dist/forgescript/pine/pine-lexer.d.ts.map +0 -1
- package/dist/forgescript/pine/pine-parser.d.ts +0 -108
- package/dist/forgescript/pine/pine-parser.d.ts.map +0 -1
- package/dist/forgescript/pine/pine-transpiler.d.ts +0 -40
- package/dist/forgescript/pine/pine-transpiler.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentFAB.d.ts","sourceRoot":"","sources":["../../../src/react/agent/AgentFAB.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAY,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAezE;;;;;;;;;GASG;AACH,UAAU,aAAa;IACrB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,KAAK,GAAE,aAAkB,qBAqZjD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { AgentToolCall } from '@forgecharts/types';
|
|
3
|
+
import { type AgentConfig } from './useAgent';
|
|
4
|
+
type ToolResult = {
|
|
5
|
+
ok: boolean;
|
|
6
|
+
data?: unknown;
|
|
7
|
+
error?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function AgentProvider({ config, children, onToolCall, }: {
|
|
10
|
+
config: AgentConfig;
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
onToolCall?: (toolCall: AgentToolCall) => Promise<ToolResult>;
|
|
13
|
+
}): React.JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=AgentProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentProvider.d.ts","sourceRoot":"","sources":["../../../src/react/agent/AgentProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAOV,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAgB,KAAK,WAAW,EAA0B,MAAM,YAAY,CAAC;AAiBpF,KAAK,UAAU,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAWlE,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,QAAQ,EACR,UAAU,GACX,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAC/D,qBA6aA"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentUIBus
|
|
3
|
+
*
|
|
4
|
+
* A typed pub/sub bus that lets the AI agent drive real UI actions in real time.
|
|
5
|
+
* Components subscribe to the events they own; the CommandDispatcher emits them
|
|
6
|
+
* after executing a tool so the user sees the application responding live.
|
|
7
|
+
*
|
|
8
|
+
* Design principles:
|
|
9
|
+
* - One bus instance per agent session (singleton, reset on mount)
|
|
10
|
+
* - Purely in-memory — no persistence, no network
|
|
11
|
+
* - Components own their own reaction (open, animate, type) — the bus only
|
|
12
|
+
* carries intent, never DOM references
|
|
13
|
+
*/
|
|
14
|
+
export type AgentUIEventMap = {
|
|
15
|
+
/** Open or close the script drawer. */
|
|
16
|
+
'panel:script': {
|
|
17
|
+
open: boolean;
|
|
18
|
+
};
|
|
19
|
+
/** Open or close the watchlist drawer. */
|
|
20
|
+
'panel:watchlist': {
|
|
21
|
+
open: boolean;
|
|
22
|
+
};
|
|
23
|
+
/** Open or close the indicators dialog. */
|
|
24
|
+
'panel:indicators': {
|
|
25
|
+
open: boolean;
|
|
26
|
+
};
|
|
27
|
+
/** Open or close the bottom trading panel. */
|
|
28
|
+
'panel:trading': {
|
|
29
|
+
open: boolean;
|
|
30
|
+
};
|
|
31
|
+
/** Switch the active tab in the bottom trading panel. */
|
|
32
|
+
'panel:trading:tab': {
|
|
33
|
+
tab: 'orders' | 'positions' | 'history';
|
|
34
|
+
};
|
|
35
|
+
/** Highlight a timeframe button briefly after the agent changes it. */
|
|
36
|
+
'chart:timeframe:highlight': {
|
|
37
|
+
timeframe: string;
|
|
38
|
+
};
|
|
39
|
+
/** Highlight the symbol picker after the agent changes the symbol. */
|
|
40
|
+
'chart:symbol:highlight': {
|
|
41
|
+
symbol: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Stream source code into the script editor one chunk at a time.
|
|
45
|
+
* Emit this repeatedly with successive slices to get a typewriter effect.
|
|
46
|
+
* Emit with `done: true` on the last chunk.
|
|
47
|
+
*/
|
|
48
|
+
'script:type': {
|
|
49
|
+
chunk: string;
|
|
50
|
+
done: boolean;
|
|
51
|
+
scriptName?: string;
|
|
52
|
+
};
|
|
53
|
+
/** Clear the script editor and reset to a blank state. */
|
|
54
|
+
'script:clear': Record<string, never>;
|
|
55
|
+
/** Flash the "Run" / "Add to chart" button after script is fully typed. */
|
|
56
|
+
'script:ready': Record<string, never>;
|
|
57
|
+
/** Reload the saved scripts list (e.g. after delete). */
|
|
58
|
+
'script:reload': Record<string, never>;
|
|
59
|
+
/**
|
|
60
|
+
* Tell the ScriptDrawer to set its activeScriptId so subsequent saves
|
|
61
|
+
* update the script as a new version rather than creating a duplicate.
|
|
62
|
+
*/
|
|
63
|
+
'script:activate': {
|
|
64
|
+
scriptId: string;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Tell the ScriptDrawer to attach (Add to Chart) using its current code.
|
|
68
|
+
* Equivalent to the user clicking the "Add to Chart" button.
|
|
69
|
+
*/
|
|
70
|
+
'script:attach': Record<string, never>;
|
|
71
|
+
/**
|
|
72
|
+
* Detach (remove) a running script from the chart before reattaching.
|
|
73
|
+
* Prevents duplicate indicators when the agent updates a script.
|
|
74
|
+
*/
|
|
75
|
+
'script:detach': {
|
|
76
|
+
scriptId: string;
|
|
77
|
+
};
|
|
78
|
+
/** Flash/highlight a symbol row that was just added by the agent. */
|
|
79
|
+
'watchlist:highlight': {
|
|
80
|
+
symbol: string;
|
|
81
|
+
};
|
|
82
|
+
/** Briefly highlight an indicator row in the dialog after it was added. */
|
|
83
|
+
'indicators:highlight': {
|
|
84
|
+
indicatorType: string;
|
|
85
|
+
};
|
|
86
|
+
/** Show a brief toast/flash when drawings are added or cleared. */
|
|
87
|
+
'drawings:feedback': {
|
|
88
|
+
action: 'added' | 'cleared';
|
|
89
|
+
drawingType?: string;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
export type AgentUIEventName = keyof AgentUIEventMap;
|
|
93
|
+
type Handler<T> = (payload: T) => void;
|
|
94
|
+
declare class AgentUIBusImpl {
|
|
95
|
+
private listeners;
|
|
96
|
+
on<K extends AgentUIEventName>(event: K, handler: Handler<AgentUIEventMap[K]>): void;
|
|
97
|
+
off<K extends AgentUIEventName>(event: K, handler: Handler<AgentUIEventMap[K]>): void;
|
|
98
|
+
emit<K extends AgentUIEventName>(event: K, payload: AgentUIEventMap[K]): void;
|
|
99
|
+
/** Remove all listeners (call on unmount to avoid leaks). */
|
|
100
|
+
clear(): void;
|
|
101
|
+
}
|
|
102
|
+
export declare const AgentUIBus: AgentUIBusImpl;
|
|
103
|
+
/**
|
|
104
|
+
* Subscribe to an AgentUIBus event for the lifetime of the component.
|
|
105
|
+
* Automatically unsubscribes on unmount.
|
|
106
|
+
*/
|
|
107
|
+
export declare function useAgentUIEvent<K extends AgentUIEventName>(event: K, handler: Handler<AgentUIEventMap[K]>): void;
|
|
108
|
+
/**
|
|
109
|
+
* Stream a string into the script editor with a typewriter effect.
|
|
110
|
+
* Emits `script:type` events one chunk at a time, then `script:ready`.
|
|
111
|
+
*
|
|
112
|
+
* @param source Full source code string to type
|
|
113
|
+
* @param msPerChar Delay between characters in ms (default 12)
|
|
114
|
+
* @param chunkSize Characters per emit (default 3 — balances realism vs speed)
|
|
115
|
+
*/
|
|
116
|
+
export declare function streamCodeToEditor(source: string, msPerChar?: number, chunkSize?: number): Promise<void>;
|
|
117
|
+
export {};
|
|
118
|
+
//# sourceMappingURL=AgentUIBus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentUIBus.d.ts","sourceRoot":"","sources":["../../../src/react/agent/AgentUIBus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ChartContextSnapshot } from '@forgecharts/types';
|
|
3
|
+
type AssistantPanelProps = {
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
chartContext: ChartContextSnapshot;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* AssistantPanel — inline drawer panel (right of RightToolbar).
|
|
9
|
+
* Styled like WatchlistDrawer — no position:fixed.
|
|
10
|
+
*/
|
|
11
|
+
export declare function AssistantPanel({ onClose, chartContext }: AssistantPanelProps): React.JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=AssistantPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssistantPanel.d.ts","sourceRoot":"","sources":["../../../src/react/agent/AssistantPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAA0E,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AA6DvI,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,oBAAoB,CAAC;CACpC,CAAC;AA6FF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,mBAAmB,qBAyY5E"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { IPublicChart, AgentToolCall } from '@forgecharts/types';
|
|
2
|
+
/**
|
|
3
|
+
* Result of a tool execution.
|
|
4
|
+
*/
|
|
5
|
+
export type ToolResult = {
|
|
6
|
+
ok: boolean;
|
|
7
|
+
data?: unknown;
|
|
8
|
+
error?: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Extended chart interface for agent tool handlers.
|
|
12
|
+
* These methods may be provided by the host application's IPublicChart
|
|
13
|
+
* implementation. Handlers use try/catch so missing methods fail gracefully.
|
|
14
|
+
*/
|
|
15
|
+
type ExtendedChart = IPublicChart & {
|
|
16
|
+
scrollToDate?(timestamp: number): void;
|
|
17
|
+
setVisibleRange?(from: number, to: number): void;
|
|
18
|
+
getIndicators?(): unknown[];
|
|
19
|
+
updateIndicator?(id: string, params: Record<string, unknown>): void;
|
|
20
|
+
setIndicatorVisible?(id: string, visible: boolean): void;
|
|
21
|
+
getIndicatorValues?(id: string, limit: number): unknown;
|
|
22
|
+
getAvailableIndicators?(): unknown[];
|
|
23
|
+
getDrawings?(): unknown[];
|
|
24
|
+
removeDrawing?(id: string): void;
|
|
25
|
+
updateDrawing?(id: string, props: unknown): void;
|
|
26
|
+
getDrawingTypes?(): string[];
|
|
27
|
+
getLayouts?(): unknown[];
|
|
28
|
+
deleteLayout?(id: string): void;
|
|
29
|
+
getWatchlist?(): unknown;
|
|
30
|
+
addToWatchlist?(symbol: string): void;
|
|
31
|
+
removeFromWatchlist?(symbol: string): void;
|
|
32
|
+
getScripts?(): unknown[] | Promise<unknown[]>;
|
|
33
|
+
getScriptSource?(id: string): string | Promise<string>;
|
|
34
|
+
createScript?(name: string, source: string): string | Promise<string>;
|
|
35
|
+
deleteScript?(id: string): void | Promise<void>;
|
|
36
|
+
updateScriptSource?(id: string, source: string): void | Promise<void>;
|
|
37
|
+
validateScript?(source: string): unknown;
|
|
38
|
+
compileAndAttachScript?(id: string): void;
|
|
39
|
+
detachScript?(id: string): void;
|
|
40
|
+
getScriptConsole?(id: string, limit: number): string[];
|
|
41
|
+
runBacktest?(params: unknown): unknown;
|
|
42
|
+
getBacktestTrades?(): unknown[];
|
|
43
|
+
getBacktestEquityCurve?(): unknown;
|
|
44
|
+
plotBacktestEquity?(pane: string): void;
|
|
45
|
+
createDataset?(scriptId: string, name: string, columns: unknown[]): unknown | Promise<unknown>;
|
|
46
|
+
listDatasets?(scriptId: string): unknown[] | Promise<unknown[]>;
|
|
47
|
+
writeScriptDocs?(scriptId: string, content: string): void | Promise<void>;
|
|
48
|
+
setScriptVisibility?(scriptId: string, visibility: string, salePrice?: number | null, previewPct?: number): unknown | Promise<unknown>;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* CommandDispatcher — Executes tool calls against IPublicChart.
|
|
52
|
+
*
|
|
53
|
+
* This is a pure TypeScript class (not a React component) that bridges
|
|
54
|
+
* agent tool calls to chart operations. It handles both client-side
|
|
55
|
+
* operations (chart navigation, indicators, drawings) and server-side
|
|
56
|
+
* operations (data queries, scripts, trading).
|
|
57
|
+
*
|
|
58
|
+
* For server-side tools, it returns a placeholder response since the
|
|
59
|
+
* actual execution happens at the API layer.
|
|
60
|
+
*/
|
|
61
|
+
export declare class CommandDispatcher {
|
|
62
|
+
private chart;
|
|
63
|
+
private handlers;
|
|
64
|
+
constructor(chart: ExtendedChart);
|
|
65
|
+
/**
|
|
66
|
+
* Register all tool handlers.
|
|
67
|
+
*/
|
|
68
|
+
private registerHandlers;
|
|
69
|
+
/**
|
|
70
|
+
* Execute a tool call, emit AgentUIBus side-effects, and return the result.
|
|
71
|
+
* UI side-effects run AFTER the data operation so the panel opens with data ready.
|
|
72
|
+
*/
|
|
73
|
+
execute(toolCall: AgentToolCall): Promise<ToolResult>;
|
|
74
|
+
/**
|
|
75
|
+
* Emit AgentUIBus events that animate the UI after a successful tool call.
|
|
76
|
+
* Each case maps a tool name to the panel/action it should drive.
|
|
77
|
+
*/
|
|
78
|
+
private _emitUIEffect;
|
|
79
|
+
}
|
|
80
|
+
export {};
|
|
81
|
+
//# sourceMappingURL=CommandDispatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandDispatcher.d.ts","sourceRoot":"","sources":["../../../src/react/agent/CommandDispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VoiceInput — Web Speech API wrapper for voice-to-text.
|
|
3
|
+
*
|
|
4
|
+
* Provides a simple interface to the browser's speech recognition API.
|
|
5
|
+
* Handles both interim results (as the user is speaking) and final results
|
|
6
|
+
* (when the user stops speaking).
|
|
7
|
+
*/
|
|
8
|
+
export declare class VoiceInput {
|
|
9
|
+
private recognition;
|
|
10
|
+
private onInterim;
|
|
11
|
+
private onFinal;
|
|
12
|
+
private onError;
|
|
13
|
+
/**
|
|
14
|
+
* Check if the browser supports the Web Speech API.
|
|
15
|
+
*/
|
|
16
|
+
static isSupported(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Start listening for speech input.
|
|
19
|
+
*
|
|
20
|
+
* @param callbacks - Event handlers for interim, final, and error states
|
|
21
|
+
*/
|
|
22
|
+
start(callbacks: {
|
|
23
|
+
onInterim: (text: string) => void;
|
|
24
|
+
onFinal: (text: string) => void;
|
|
25
|
+
onError: (error: string) => void;
|
|
26
|
+
}): void;
|
|
27
|
+
/**
|
|
28
|
+
* Stop listening and clean up.
|
|
29
|
+
*/
|
|
30
|
+
stop(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Abort the current recognition session.
|
|
33
|
+
*/
|
|
34
|
+
abort(): void;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=VoiceInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoiceInput.d.ts","sourceRoot":"","sources":["../../../src/react/agent/VoiceInput.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2CH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAA0C;IAC7D,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,OAAO,CAA0C;IAEzD;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,OAAO;IAO7B;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE;QACf,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAClC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;KAClC,GAAG,IAAI;IAkFR;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* contractUtils — lightweight futures contract parsing for the agent layer.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the authoritative FUTURES_PRODUCTS registry from FuturesNormalizer
|
|
5
|
+
* so the SDK can resolve contract metadata without importing from apps/runtime.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: When new products are added to FuturesNormalizer, they should also be
|
|
8
|
+
* added here. This duplication is intentional to avoid cross-app imports.
|
|
9
|
+
*/
|
|
10
|
+
export declare const MONTH_CODE_MAP: Record<string, string>;
|
|
11
|
+
export declare const MONTH_CODES: string[];
|
|
12
|
+
export interface ContractInfo {
|
|
13
|
+
isContinuous: boolean;
|
|
14
|
+
product: string;
|
|
15
|
+
exchange: string;
|
|
16
|
+
frontMonthContract: string;
|
|
17
|
+
continuousSymbol: string;
|
|
18
|
+
availableMonths: string[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Parse a symbol string and return contract metadata, or null if not futures.
|
|
22
|
+
*
|
|
23
|
+
* Accepts: "ES1!", "CME:ES1!", "ESM2026", "CME:ESM2026", "ES", "CME:ES"
|
|
24
|
+
*/
|
|
25
|
+
export declare function parseContractInfo(symbol: string): ContractInfo | null;
|
|
26
|
+
/**
|
|
27
|
+
* Build a list of upcoming specific contracts for a product (next 4-6).
|
|
28
|
+
* Useful for showing the user which contracts are available.
|
|
29
|
+
*/
|
|
30
|
+
export declare function getUpcomingContracts(product: string, exchange: string, months: string[], count?: number): string[];
|
|
31
|
+
//# sourceMappingURL=contractUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contractUtils.d.ts","sourceRoot":"","sources":["../../../src/react/agent/contractUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIjD,CAAC;AAEF,eAAO,MAAM,WAAW,UAA8B,CAAC;AA2DvD,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA+DrE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CAmB7G"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent system exports.
|
|
3
|
+
*
|
|
4
|
+
* The agent system provides:
|
|
5
|
+
* - AgentProvider: State management and SSE streaming
|
|
6
|
+
* - useAgent: Hook to access agent state and actions
|
|
7
|
+
* - AgentFAB: Floating action button for initiating conversations
|
|
8
|
+
* - AssistantPanel: Chat panel UI
|
|
9
|
+
* - CommandDispatcher: Executes tool calls against IPublicChart
|
|
10
|
+
* - VoiceInput: Web Speech API wrapper
|
|
11
|
+
*/
|
|
12
|
+
export { AgentProvider } from './AgentProvider';
|
|
13
|
+
export { useAgent, AgentContext, type AgentConfig, type AgentContextValue, } from './useAgent';
|
|
14
|
+
export { AgentFAB } from './AgentFAB';
|
|
15
|
+
export { AssistantPanel } from './AssistantPanel';
|
|
16
|
+
export { CommandDispatcher, type ToolResult } from './CommandDispatcher';
|
|
17
|
+
export { VoiceInput } from './VoiceInput';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { AgentMessage, AgentImageAttachment, AgentFileAttachment, FABState, ChartContextSnapshot, AgentApprovalRequest } from '@forgecharts/types';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for the Agent system.
|
|
4
|
+
*/
|
|
5
|
+
export type AgentConfig = {
|
|
6
|
+
apiUrl: string;
|
|
7
|
+
getAuthToken: () => string | Promise<string>;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Context value exposed by AgentProvider.
|
|
11
|
+
*/
|
|
12
|
+
export type AgentContextValue = {
|
|
13
|
+
/** All messages in the current conversation. */
|
|
14
|
+
messages: AgentMessage[];
|
|
15
|
+
/** Visual state of the floating action button. */
|
|
16
|
+
fabState: FABState;
|
|
17
|
+
/** True while streaming a response from the API. */
|
|
18
|
+
isStreaming: boolean;
|
|
19
|
+
/** Pending approval for a destructive tool call, or null. */
|
|
20
|
+
pendingApproval: AgentApprovalRequest | null;
|
|
21
|
+
/** Deep analysis mode toggle. */
|
|
22
|
+
deepAnalysis: boolean;
|
|
23
|
+
/** Current error message, or null if no error. */
|
|
24
|
+
error: string | null;
|
|
25
|
+
/** Token usage for the last response, or null. */
|
|
26
|
+
usage: {
|
|
27
|
+
inputTokens: number;
|
|
28
|
+
outputTokens: number;
|
|
29
|
+
} | null;
|
|
30
|
+
/** True while the initial chat history is being loaded from the server. */
|
|
31
|
+
historyLoading: boolean;
|
|
32
|
+
/** Index into `messages` where the current session starts (messages before this are loaded history). */
|
|
33
|
+
sessionStart: number;
|
|
34
|
+
/**
|
|
35
|
+
* Sends a message to the agent and streams the response.
|
|
36
|
+
* Automatically sets up SSE listening and dispatches tool calls.
|
|
37
|
+
*/
|
|
38
|
+
sendMessage: (text: string, chartContext: ChartContextSnapshot, images?: AgentImageAttachment[], files?: AgentFileAttachment[]) => Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Updates a tool call with its result.
|
|
41
|
+
* Called by CommandDispatcher after executing a tool.
|
|
42
|
+
*/
|
|
43
|
+
handleToolResult: (toolCallId: string, result: {
|
|
44
|
+
ok: boolean;
|
|
45
|
+
data?: unknown;
|
|
46
|
+
error?: string;
|
|
47
|
+
}) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Approves a pending destructive tool call.
|
|
50
|
+
* Changes status from 'approval_required' to 'pending'.
|
|
51
|
+
*/
|
|
52
|
+
approveAction: (toolCallId: string) => void;
|
|
53
|
+
/**
|
|
54
|
+
* Rejects a pending destructive tool call.
|
|
55
|
+
* Changes status to 'rejected'.
|
|
56
|
+
*/
|
|
57
|
+
rejectAction: (toolCallId: string) => void;
|
|
58
|
+
/**
|
|
59
|
+
* Sets the FAB visual state.
|
|
60
|
+
*/
|
|
61
|
+
setFabState: (state: FABState) => void;
|
|
62
|
+
/**
|
|
63
|
+
* Toggles deep analysis mode.
|
|
64
|
+
*/
|
|
65
|
+
setDeepAnalysis: (on: boolean) => void;
|
|
66
|
+
/**
|
|
67
|
+
* Clears all messages from the conversation.
|
|
68
|
+
*/
|
|
69
|
+
clearMessages: () => void;
|
|
70
|
+
/**
|
|
71
|
+
* Aborts the current streaming response.
|
|
72
|
+
*/
|
|
73
|
+
cancelStream: () => void;
|
|
74
|
+
};
|
|
75
|
+
export declare const AgentContext: import("react").Context<AgentContextValue | null>;
|
|
76
|
+
/**
|
|
77
|
+
* Hook to access the agent context.
|
|
78
|
+
* Must be called within an AgentProvider.
|
|
79
|
+
*/
|
|
80
|
+
export declare function useAgent(): AgentContextValue;
|
|
81
|
+
//# sourceMappingURL=useAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgent.d.ts","sourceRoot":"","sources":["../../../src/react/agent/useAgent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,QAAQ,EACR,oBAAoB,EAEpB,oBAAoB,EAErB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAG9B,gDAAgD;IAChD,QAAQ,EAAE,YAAY,EAAE,CAAC;IAEzB,kDAAkD;IAClD,QAAQ,EAAE,QAAQ,CAAC;IAEnB,oDAAoD;IACpD,WAAW,EAAE,OAAO,CAAC;IAErB,6DAA6D;IAC7D,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAE7C,iCAAiC;IACjC,YAAY,EAAE,OAAO,CAAC;IAEtB,kDAAkD;IAClD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,kDAAkD;IAClD,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAE5D,2EAA2E;IAC3E,cAAc,EAAE,OAAO,CAAC;IAExB,wGAAwG;IACxG,YAAY,EAAE,MAAM,CAAC;IAIrB;;;OAGG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,oBAAoB,EAAE,EAAE,KAAK,CAAC,EAAE,mBAAmB,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjJ;;;OAGG;IACH,gBAAgB,EAAE,CAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KACpD,IAAI,CAAC;IAEV;;;OAGG;IACH,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5C;;;OAGG;IACH,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAE3C;;OAEG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IAEvC;;OAEG;IACH,eAAe,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC;;OAEG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,YAAY,mDAAgD,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAM5C"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import type { TradingOverlayStore } from '../../';
|
|
15
15
|
import type { DrawingToolType, PointerToolType, IndicatorConfig, ChartLayout, IDatafeed, ChartTheme } from '../../';
|
|
16
16
|
import type { TradingBridgeCallbacks } from '../trading/TradingBridge';
|
|
17
|
+
import type { CanvasSettings, ChartTemplate } from './ChartSettingsDialog';
|
|
17
18
|
export type ChartCanvasHandle = {
|
|
18
19
|
/** Returns the full current chart state (indicators, drawings, viewport). */
|
|
19
20
|
getLayoutSnapshot: () => ChartLayout | null;
|
|
@@ -21,6 +22,16 @@ export type ChartCanvasHandle = {
|
|
|
21
22
|
loadLayoutSnapshot: (layout: ChartLayout) => void;
|
|
22
23
|
/** Adds an indicator to the live chart and returns its id. */
|
|
23
24
|
addIndicator: (config: IndicatorConfig) => string | null;
|
|
25
|
+
/** Removes an indicator from the live chart by id. */
|
|
26
|
+
removeIndicator: (id: string) => void;
|
|
27
|
+
/** Moves an indicator to the price overlay layer. */
|
|
28
|
+
moveIndicatorToOverlay: (id: string) => void;
|
|
29
|
+
/** Moves an indicator to its own sub-pane (or a specific pane). */
|
|
30
|
+
moveIndicatorToPane: (id: string, targetPaneId?: string) => void;
|
|
31
|
+
/** Returns the number of indicators currently active on this chart. */
|
|
32
|
+
getIndicatorCount: () => number;
|
|
33
|
+
/** Returns all active indicators on this chart. */
|
|
34
|
+
getIndicators: () => readonly import('@forgecharts/types').IndicatorInstance[];
|
|
24
35
|
/** Captures the visible chart area as a PNG data-URL. */
|
|
25
36
|
captureScreenshot: () => Promise<string | null>;
|
|
26
37
|
/**
|
|
@@ -31,6 +42,8 @@ export type ChartCanvasHandle = {
|
|
|
31
42
|
getOverlayStore: () => TradingOverlayStore | null;
|
|
32
43
|
/** Programmatically activates a pointer tool (cursor / crosshair / dot / demonstration). */
|
|
33
44
|
selectPointerTool: (tool: PointerToolType) => void;
|
|
45
|
+
/** Returns the last bar's close price, or 0 if no data. */
|
|
46
|
+
getLastPrice: () => number;
|
|
34
47
|
};
|
|
35
48
|
export type ChartCanvasProps = {
|
|
36
49
|
symbol: string;
|
|
@@ -49,6 +62,8 @@ export type ChartCanvasProps = {
|
|
|
49
62
|
layoutToRestore?: ChartLayout | undefined;
|
|
50
63
|
/** Called whenever an indicator is added or removed, so the parent can trigger a workspace save. */
|
|
51
64
|
onIndicatorsChanged?: () => void;
|
|
65
|
+
/** Called whenever a drawing is created, updated (including property edits), moved, or removed, so the parent can trigger a workspace save. */
|
|
66
|
+
onDrawingsChanged?: () => void;
|
|
52
67
|
/**
|
|
53
68
|
* Initial price-pane fraction (0.3–0.85). Defaults to 0.6.
|
|
54
69
|
* The parent controls persistence; changes are reported via onPriceFractionChange.
|
|
@@ -75,6 +90,12 @@ export type ChartCanvasProps = {
|
|
|
75
90
|
getAuthToken?: () => string | Promise<string>;
|
|
76
91
|
/** Base URL for the ForgeCharts API, used by the profile drawer. Defaults to same origin. */
|
|
77
92
|
apiUrl?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Opaque key that changes when the active data provider changes (e.g. Rithmic connects).
|
|
95
|
+
* Causes the contract-switch roll-date fetch to re-run so markers appear after a
|
|
96
|
+
* provider session starts, even if the initial fetch returned empty results.
|
|
97
|
+
*/
|
|
98
|
+
providerKey?: string | null;
|
|
78
99
|
/** Initial drawing-tool favorites shown in the floating toolbar. Persisted and reported via onDrawingFavoritesChange. */
|
|
79
100
|
drawingFavorites?: DrawingToolType[];
|
|
80
101
|
/** Called when the user stars/unstars a drawing tool so the parent can persist the list. */
|
|
@@ -86,6 +107,13 @@ export type ChartCanvasProps = {
|
|
|
86
107
|
initialActiveTool?: PointerToolType;
|
|
87
108
|
/** Called whenever the user selects a pointer tool, so the parent can persist the choice. */
|
|
88
109
|
onPointerToolChange?: (tool: PointerToolType) => void;
|
|
110
|
+
/**
|
|
111
|
+
* Initial magnet snap mode. Defaults to `'snap-xy'`.
|
|
112
|
+
* Provided by the parent for workspace persistence.
|
|
113
|
+
*/
|
|
114
|
+
initialMagnetMode?: import('@forgecharts/types').MagnetMode;
|
|
115
|
+
/** Called when the user changes the magnet mode, so the parent can persist the choice. */
|
|
116
|
+
onMagnetModeChange?: (mode: import('@forgecharts/types').MagnetMode) => void;
|
|
89
117
|
/**
|
|
90
118
|
* Optional trading bridge callbacks for Unmanaged mode.
|
|
91
119
|
*
|
|
@@ -98,6 +126,33 @@ export type ChartCanvasProps = {
|
|
|
98
126
|
* console output of every emitted intent.
|
|
99
127
|
*/
|
|
100
128
|
tradingBridge?: TradingBridgeCallbacks;
|
|
129
|
+
/**
|
|
130
|
+
* Rendering backend. Defaults to `'canvas'` (Canvas 2D).
|
|
131
|
+
* Set to `'pixi'` for GPU-accelerated rendering via PixiJS.
|
|
132
|
+
*/
|
|
133
|
+
renderBackend?: 'canvas' | 'pixi';
|
|
134
|
+
/** Initial canvas settings (background, grid, contract switches) restored from the workspace. */
|
|
135
|
+
initialCanvasSettings?: CanvasSettings;
|
|
136
|
+
/** Called when the user applies canvas settings so the parent can persist the change. */
|
|
137
|
+
onCanvasSettingsChange?: (settings: CanvasSettings) => void;
|
|
138
|
+
/** Called when the user selects a specific contract from the contract switch dialog. */
|
|
139
|
+
onSymbolChange?: (symbol: string) => void;
|
|
140
|
+
/** Saved chart-settings templates. */
|
|
141
|
+
chartTemplates?: ChartTemplate[];
|
|
142
|
+
/** Called to save/update a template. */
|
|
143
|
+
onSaveTemplate?: (template: ChartTemplate) => void;
|
|
144
|
+
/** Called to delete a template. */
|
|
145
|
+
onDeleteTemplate?: (name: string) => void;
|
|
146
|
+
/** The default canvas settings used when user clicks "Apply defaults". */
|
|
147
|
+
defaultCanvasSettings?: CanvasSettings;
|
|
148
|
+
/** Called when the user clicks a position overlay label on the chart. */
|
|
149
|
+
onPositionClick?: (positionId: string) => void;
|
|
150
|
+
/** Called when the user finishes dragging an SL/TP order line to a new price. */
|
|
151
|
+
onOrderDragEnd?: (orderId: string, newPrice: number) => void;
|
|
152
|
+
/** Called when the user drags a TP/SL pill off an entry line to create a bracket leg. */
|
|
153
|
+
onTpSlCreate?: (entryOrderId: string, kind: 'tp' | 'sl', price: number) => void;
|
|
154
|
+
/** Hide drawing tool groups in the left toolbar when platform license disables drawing tools. */
|
|
155
|
+
showDrawingTools?: boolean | undefined;
|
|
101
156
|
};
|
|
102
157
|
/** @deprecated Use ChartCanvasProps */
|
|
103
158
|
export type MultiPaneChartProps = ChartCanvasProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartCanvas.d.ts","sourceRoot":"","sources":["../../../src/react/canvas/ChartCanvas.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EACM,eAAe,EAAa,eAAe,EACjC,eAAe,EAAE,WAAW,EAAE,SAAS,EACjE,UAAU,EACX,MAAM,QAAQ,CAAC;AAGhB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartCanvas.d.ts","sourceRoot":"","sources":["../../../src/react/canvas/ChartCanvas.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,6 @@ type Props = {
|
|
|
13
13
|
onClearIndicators: () => void;
|
|
14
14
|
onResetView: () => void;
|
|
15
15
|
};
|
|
16
|
-
export declare function ChartContextMenu({ x, y, onClose, onSettings, onClearDrawings, onClearIndicators, onResetView, }: Props): import("react
|
|
16
|
+
export declare function ChartContextMenu({ x, y, onClose, onSettings, onClearDrawings, onClearIndicators, onResetView, }: Props): import("react").JSX.Element;
|
|
17
17
|
export {};
|
|
18
18
|
//# sourceMappingURL=ChartContextMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartContextMenu.d.ts","sourceRoot":"","sources":["../../../src/react/canvas/ChartContextMenu.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,KAAK,KAAK,GAAG;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,CAAC,EACD,CAAC,EACD,OAAO,EACP,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,WAAW,GACZ,EAAE,KAAK
|
|
1
|
+
{"version":3,"file":"ChartContextMenu.d.ts","sourceRoot":"","sources":["../../../src/react/canvas/ChartContextMenu.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,KAAK,KAAK,GAAG;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,CAAC,EACD,CAAC,EACD,OAAO,EACP,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,WAAW,GACZ,EAAE,KAAK,+BAkCP"}
|