@backtest-kit/ui 8.0.0 → 8.2.0

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 (40) hide show
  1. package/README.md +254 -254
  2. package/build/index.cjs +136 -6
  3. package/build/index.mjs +137 -7
  4. package/build/modules/frontend/build/3rdparty/ace_1.4.12/ace.js +21337 -21337
  5. package/build/modules/frontend/build/3rdparty/ace_1.4.12/mode-javascript.js +797 -797
  6. package/build/modules/frontend/build/3rdparty/ace_1.4.12/theme-chrome.js +137 -137
  7. package/build/modules/frontend/build/3rdparty/ace_1.4.12/theme-twilight.js +115 -115
  8. package/build/modules/frontend/build/3rdparty/ace_1.4.12/worker-javascript.js +15012 -15012
  9. package/build/modules/frontend/build/3rdparty/qfchart_0.8.7/echarts.min.js +45 -45
  10. package/build/modules/frontend/build/assets/{Article-Jdmz7aZ2.js → Article-DDKZjbkz.js} +1 -1
  11. package/build/modules/frontend/build/assets/{Background-EK9k_h9v.js → Background-5Pc2kls4.js} +1 -1
  12. package/build/modules/frontend/build/assets/{IconPhoto-CDjyp9zD.js → IconPhoto-2KIaDXXx.js} +1 -1
  13. package/build/modules/frontend/build/assets/{KeyboardArrowLeft-Dr0dCIxL.js → KeyboardArrowLeft-nUGbVivG.js} +1 -1
  14. package/build/modules/frontend/build/assets/{PictureAsPdfOutlined-HbiH_Q-c.js → PictureAsPdfOutlined-BKzXxbqU.js} +1 -1
  15. package/build/modules/frontend/build/assets/{Refresh-B8TqdmHB.js → Refresh-6IBmzTpL.js} +1 -1
  16. package/build/modules/frontend/build/assets/emitters-1aP5uqiT.js +1 -0
  17. package/build/modules/frontend/build/assets/hasRouteMatch-Bw2df_bl.js +1 -0
  18. package/build/modules/frontend/build/assets/{html2canvas-DljqBlXP.js → html2canvas-731slHaR.js} +1 -1
  19. package/build/modules/frontend/build/assets/{index-Bg-hgDXg.js → index-BFZbztqX.js} +1 -1
  20. package/build/modules/frontend/build/assets/{index-CJY9g0ao.js → index-BgpdZ4rO.js} +1 -1
  21. package/build/modules/frontend/build/assets/{index-dcGK7g_Z.js → index-CZUmXlNR.js} +1 -1
  22. package/build/modules/frontend/build/assets/{index-BdVXoDcb.js → index-CljWW6CQ.js} +1 -1
  23. package/build/modules/frontend/build/assets/index-Cpcp7B0Y.js +1 -0
  24. package/build/modules/frontend/build/assets/{index-VbqABn7v.js → index-DVsJHggN.js} +1 -1
  25. package/build/modules/frontend/build/assets/{index-DpvQhidl.js → index-Dbf0lzpr.js} +1 -1
  26. package/build/modules/frontend/build/assets/{index-Qr2GaVV1.js → index-DbkxgA90.js} +1 -1
  27. package/build/modules/frontend/build/assets/{index-cETv4rVS.js → index-Di2oEk8q.js} +1 -1
  28. package/build/modules/frontend/build/assets/{index-HAAb1Hoc.js → index-DtUu3BzB.js} +1 -1
  29. package/build/modules/frontend/build/assets/{index-CtMweBSG.js → index-DywLUAcD.js} +1 -1
  30. package/build/modules/frontend/build/assets/{index-DP0KiPHM.js → index-GZdKxtUQ.js} +1 -1
  31. package/build/modules/frontend/build/assets/{index-Dj5yCZBM.js → index-is6UARFt.js} +10 -10
  32. package/build/modules/frontend/build/assets/{index.es-BNKwZTfP.js → index.es-CShnY6Uk.js} +1 -1
  33. package/build/modules/frontend/build/assets/{markdownit-BHwoI8cd.js → markdownit-DnS0ASYl.js} +1 -1
  34. package/build/modules/frontend/build/index.html +87 -87
  35. package/build/modules/frontend/build/manifest.json +23 -23
  36. package/package.json +118 -118
  37. package/types.d.ts +13 -0
  38. package/build/modules/frontend/build/assets/emitters-CSLwhjBD.js +0 -1
  39. package/build/modules/frontend/build/assets/hasRouteMatch-CikI4OQa.js +0 -1
  40. package/build/modules/frontend/build/assets/index-0QTAHHmG.js +0 -1
package/build/index.cjs CHANGED
@@ -83,6 +83,7 @@ const mockServices$1 = {
83
83
  heatMockService: Symbol("heatMockService"),
84
84
  performanceMockService: Symbol("performanceMockService"),
85
85
  environmentMockService: Symbol("environmentMockService"),
86
+ setupMockService: Symbol("setupMockService"),
86
87
  };
87
88
  const viewServices$1 = {
88
89
  notificationViewService: Symbol("notificationViewService"),
@@ -96,6 +97,7 @@ const viewServices$1 = {
96
97
  heatViewService: Symbol("heatViewService"),
97
98
  performanceViewService: Symbol("performanceViewService"),
98
99
  environmentViewService: Symbol("environmentViewService"),
100
+ setupViewService: Symbol("setupViewService"),
99
101
  };
100
102
  const TYPES = {
101
103
  ...baseServices$1,
@@ -776,10 +778,10 @@ class SignalMockService {
776
778
  }
777
779
  }
778
780
 
779
- const MOCK_DATA_PATH$2 = "./mock/heat.json";
781
+ const MOCK_DATA_PATH$3 = "./mock/heat.json";
780
782
  const MOCK_REPORT_PATH$1 = "./mock/heat-report.md";
781
783
  const READ_HEAT_DATA_FN = functoolsKit.singleshot(async () => {
782
- const data = await fs.readFile(MOCK_DATA_PATH$2, "utf-8");
784
+ const data = await fs.readFile(MOCK_DATA_PATH$3, "utf-8");
783
785
  return JSON.parse(data);
784
786
  });
785
787
  const READ_HEAT_REPORT_FN = functoolsKit.singleshot(async () => {
@@ -1848,10 +1850,10 @@ class LiveMetaService {
1848
1850
  }
1849
1851
  }
1850
1852
 
1851
- const MOCK_DATA_PATH$1 = "./mock/performance.json";
1853
+ const MOCK_DATA_PATH$2 = "./mock/performance.json";
1852
1854
  const MOCK_REPORT_PATH = "./mock/performance-report.md";
1853
1855
  const READ_PERFORMANCE_DATA_FN = functoolsKit.singleshot(async () => {
1854
- const data = await fs.readFile(MOCK_DATA_PATH$1, "utf-8");
1856
+ const data = await fs.readFile(MOCK_DATA_PATH$2, "utf-8");
1855
1857
  return JSON.parse(data);
1856
1858
  });
1857
1859
  const READ_PERFORMANCE_REPORT_FN = functoolsKit.singleshot(async () => {
@@ -1871,9 +1873,9 @@ class PerformanceMockService {
1871
1873
  }
1872
1874
  }
1873
1875
 
1874
- const MOCK_DATA_PATH = "./mock/environment.json";
1876
+ const MOCK_DATA_PATH$1 = "./mock/environment.json";
1875
1877
  const READ_ENVIRONMENT_DATA_FN = functoolsKit.singleshot(async () => {
1876
- const data = await fs.readFile(MOCK_DATA_PATH, "utf-8");
1878
+ const data = await fs.readFile(MOCK_DATA_PATH$1, "utf-8");
1877
1879
  return JSON.parse(data);
1878
1880
  });
1879
1881
  class EnvironmentMockService {
@@ -1886,6 +1888,21 @@ class EnvironmentMockService {
1886
1888
  }
1887
1889
  }
1888
1890
 
1891
+ const MOCK_DATA_PATH = "./mock/setup.json";
1892
+ const READ_SETUP_DATA_FN = functoolsKit.singleshot(async () => {
1893
+ const data = await fs.readFile(MOCK_DATA_PATH, "utf-8");
1894
+ return JSON.parse(data);
1895
+ });
1896
+ class SetupMockService {
1897
+ constructor() {
1898
+ this.loggerService = inject(TYPES.loggerService);
1899
+ this.getSetupData = async () => {
1900
+ this.loggerService.log("setupMockService getSetupData");
1901
+ return await READ_SETUP_DATA_FN();
1902
+ };
1903
+ }
1904
+ }
1905
+
1889
1906
  class PerformanceViewService {
1890
1907
  constructor() {
1891
1908
  this.loggerService = inject(TYPES.loggerService);
@@ -1959,6 +1976,57 @@ class EnvironmentViewService {
1959
1976
  }
1960
1977
  }
1961
1978
 
1979
+ const GET_MODE_FN = async () => {
1980
+ const [backtestTarget = null] = await backtestKit.Backtest.list();
1981
+ if (backtestTarget) {
1982
+ return "backtest";
1983
+ }
1984
+ const [liveTarget = null] = await backtestKit.Live.list();
1985
+ if (liveTarget) {
1986
+ return "live";
1987
+ }
1988
+ return "none";
1989
+ };
1990
+ class SetupViewService {
1991
+ constructor() {
1992
+ this.loggerService = inject(TYPES.loggerService);
1993
+ this.setupMockService = inject(TYPES.setupMockService);
1994
+ this.getSetupData = async () => {
1995
+ this.loggerService.log("setupViewService getSetupData");
1996
+ if (CC_ENABLE_MOCK) {
1997
+ return await this.setupMockService.getSetupData();
1998
+ }
1999
+ const broker_enabled = backtestKit.Broker.enable.hasValue();
2000
+ const dump_enabled = backtestKit.Dump.enable.hasValue();
2001
+ const markdown_enabled = backtestKit.Markdown.enable.hasValue();
2002
+ const memory_enabled = backtestKit.Memory.enable.hasValue();
2003
+ const notification_enabled = backtestKit.Notification.enable.hasValue();
2004
+ const recent_enabled = backtestKit.Recent.enable.hasValue();
2005
+ const report_enabled = backtestKit.Report.enable.hasValue();
2006
+ const state_enabled = backtestKit.State.enable.hasValue();
2007
+ const storage_enabled = backtestKit.Storage.enable.hasValue();
2008
+ const running_mode = await GET_MODE_FN();
2009
+ const config = await backtestKit.getConfig();
2010
+ const enable_long = config.CC_ENABLE_LONG_SIGNAL;
2011
+ const enable_short = config.CC_ENABLE_SHORT_SIGNAL;
2012
+ return {
2013
+ broker_enabled,
2014
+ dump_enabled,
2015
+ markdown_enabled,
2016
+ memory_enabled,
2017
+ notification_enabled,
2018
+ recent_enabled,
2019
+ report_enabled,
2020
+ state_enabled,
2021
+ storage_enabled,
2022
+ running_mode,
2023
+ enable_long,
2024
+ enable_short,
2025
+ };
2026
+ };
2027
+ }
2028
+ }
2029
+
1962
2030
  {
1963
2031
  provide(TYPES.loggerService, () => new LoggerService());
1964
2032
  provide(TYPES.exchangeService, () => new ExchangeService());
@@ -1984,6 +2052,7 @@ class EnvironmentViewService {
1984
2052
  provide(TYPES.heatMockService, () => new HeatMockService());
1985
2053
  provide(TYPES.performanceMockService, () => new PerformanceMockService());
1986
2054
  provide(TYPES.environmentMockService, () => new EnvironmentMockService());
2055
+ provide(TYPES.setupMockService, () => new SetupMockService());
1987
2056
  }
1988
2057
  {
1989
2058
  provide(TYPES.notificationViewService, () => new NotificationViewService());
@@ -1997,6 +2066,7 @@ class EnvironmentViewService {
1997
2066
  provide(TYPES.heatViewService, () => new HeatViewService());
1998
2067
  provide(TYPES.performanceViewService, () => new PerformanceViewService());
1999
2068
  provide(TYPES.environmentViewService, () => new EnvironmentViewService());
2069
+ provide(TYPES.setupViewService, () => new SetupViewService());
2000
2070
  }
2001
2071
 
2002
2072
  const baseServices = {
@@ -2024,6 +2094,7 @@ const mockServices = {
2024
2094
  heatMockService: inject(TYPES.heatMockService),
2025
2095
  performanceMockService: inject(TYPES.performanceMockService),
2026
2096
  environmentMockService: inject(TYPES.environmentMockService),
2097
+ setupMockService: inject(TYPES.setupMockService),
2027
2098
  };
2028
2099
  const viewServices = {
2029
2100
  notificationViewService: inject(TYPES.notificationViewService),
@@ -2037,6 +2108,7 @@ const viewServices = {
2037
2108
  heatViewService: inject(TYPES.heatViewService),
2038
2109
  performanceViewService: inject(TYPES.performanceViewService),
2039
2110
  environmentViewService: inject(TYPES.environmentViewService),
2111
+ setupViewService: inject(TYPES.setupViewService),
2040
2112
  };
2041
2113
  const ioc = {
2042
2114
  ...baseServices,
@@ -2050,6 +2122,35 @@ init();
2050
2122
  const router$a = Router({
2051
2123
  params: true,
2052
2124
  });
2125
+ // SetupMockService endpoints
2126
+ router$a.post("/api/v1/mock/setup_data", async (req, res) => {
2127
+ try {
2128
+ const request = await micro.json(req);
2129
+ const { requestId, serviceName } = request;
2130
+ const data = await ioc.setupMockService.getSetupData();
2131
+ const result = {
2132
+ data,
2133
+ status: "ok",
2134
+ error: "",
2135
+ requestId,
2136
+ serviceName,
2137
+ };
2138
+ ioc.loggerService.log("/api/v1/mock/setup_data ok", {
2139
+ request,
2140
+ result: omit(result, "data"),
2141
+ });
2142
+ return await micro.send(res, 200, result);
2143
+ }
2144
+ catch (error) {
2145
+ ioc.loggerService.log("/api/v1/mock/setup_data error", {
2146
+ error: functoolsKit.errorData(error),
2147
+ });
2148
+ return await micro.send(res, 200, {
2149
+ status: "error",
2150
+ error: functoolsKit.getErrorMessage(error),
2151
+ });
2152
+ }
2153
+ });
2053
2154
  // ExchangeMockService endpoints
2054
2155
  router$a.post("/api/v1/mock/candles_signal", async (req, res) => {
2055
2156
  try {
@@ -2751,6 +2852,35 @@ router$a.post("/api/v1/mock/environment_data", async (req, res) => {
2751
2852
  const router$9 = Router({
2752
2853
  params: true,
2753
2854
  });
2855
+ // SetupViewService endpoints
2856
+ router$9.post("/api/v1/view/setup_data", async (req, res) => {
2857
+ try {
2858
+ const request = await micro.json(req);
2859
+ const { requestId, serviceName } = request;
2860
+ const data = await ioc.setupViewService.getSetupData();
2861
+ const result = {
2862
+ data,
2863
+ status: "ok",
2864
+ error: "",
2865
+ requestId,
2866
+ serviceName,
2867
+ };
2868
+ ioc.loggerService.log("/api/v1/view/setup_data ok", {
2869
+ request,
2870
+ result: omit(result, "data"),
2871
+ });
2872
+ return await micro.send(res, 200, result);
2873
+ }
2874
+ catch (error) {
2875
+ ioc.loggerService.log("/api/v1/view/setup_data error", {
2876
+ error: functoolsKit.errorData(error),
2877
+ });
2878
+ return await micro.send(res, 200, {
2879
+ status: "error",
2880
+ error: functoolsKit.getErrorMessage(error),
2881
+ });
2882
+ }
2883
+ });
2754
2884
  // ExchangeViewService endpoints
2755
2885
  router$9.post("/api/v1/view/candles_signal", async (req, res) => {
2756
2886
  try {
package/build/index.mjs CHANGED
@@ -6,7 +6,7 @@ import finalhandler from 'finalhandler';
6
6
  import serveHandler from 'serve-handler';
7
7
  import os from 'os';
8
8
  import { createActivator } from 'di-kit';
9
- import { alignToInterval, Exchange, listExchangeSchema, Backtest, Live, Notification, Storage, Log, lib, Heat, Strategy, Breakeven, Risk, Partial, HighestProfit, MaxDrawdown, Schedule, Performance, Sync, Walker, StorageLive, StorageBacktest } from 'backtest-kit';
9
+ import { alignToInterval, Exchange, listExchangeSchema, Backtest, Live, Notification, Storage, Log, lib, Heat, Strategy, Breakeven, Risk, Partial, HighestProfit, MaxDrawdown, Schedule, Performance, Sync, Walker, StorageLive, StorageBacktest, Broker, Dump, Markdown, Memory, Recent, Report, State, getConfig } from 'backtest-kit';
10
10
  import fs, { readdir, readFile } from 'fs/promises';
11
11
  import path, { join, dirname } from 'path';
12
12
  import mime from 'mime-types';
@@ -80,6 +80,7 @@ const mockServices$1 = {
80
80
  heatMockService: Symbol("heatMockService"),
81
81
  performanceMockService: Symbol("performanceMockService"),
82
82
  environmentMockService: Symbol("environmentMockService"),
83
+ setupMockService: Symbol("setupMockService"),
83
84
  };
84
85
  const viewServices$1 = {
85
86
  notificationViewService: Symbol("notificationViewService"),
@@ -93,6 +94,7 @@ const viewServices$1 = {
93
94
  heatViewService: Symbol("heatViewService"),
94
95
  performanceViewService: Symbol("performanceViewService"),
95
96
  environmentViewService: Symbol("environmentViewService"),
97
+ setupViewService: Symbol("setupViewService"),
96
98
  };
97
99
  const TYPES = {
98
100
  ...baseServices$1,
@@ -773,10 +775,10 @@ class SignalMockService {
773
775
  }
774
776
  }
775
777
 
776
- const MOCK_DATA_PATH$2 = "./mock/heat.json";
778
+ const MOCK_DATA_PATH$3 = "./mock/heat.json";
777
779
  const MOCK_REPORT_PATH$1 = "./mock/heat-report.md";
778
780
  const READ_HEAT_DATA_FN = singleshot(async () => {
779
- const data = await fs.readFile(MOCK_DATA_PATH$2, "utf-8");
781
+ const data = await fs.readFile(MOCK_DATA_PATH$3, "utf-8");
780
782
  return JSON.parse(data);
781
783
  });
782
784
  const READ_HEAT_REPORT_FN = singleshot(async () => {
@@ -1845,10 +1847,10 @@ class LiveMetaService {
1845
1847
  }
1846
1848
  }
1847
1849
 
1848
- const MOCK_DATA_PATH$1 = "./mock/performance.json";
1850
+ const MOCK_DATA_PATH$2 = "./mock/performance.json";
1849
1851
  const MOCK_REPORT_PATH = "./mock/performance-report.md";
1850
1852
  const READ_PERFORMANCE_DATA_FN = singleshot(async () => {
1851
- const data = await fs.readFile(MOCK_DATA_PATH$1, "utf-8");
1853
+ const data = await fs.readFile(MOCK_DATA_PATH$2, "utf-8");
1852
1854
  return JSON.parse(data);
1853
1855
  });
1854
1856
  const READ_PERFORMANCE_REPORT_FN = singleshot(async () => {
@@ -1868,9 +1870,9 @@ class PerformanceMockService {
1868
1870
  }
1869
1871
  }
1870
1872
 
1871
- const MOCK_DATA_PATH = "./mock/environment.json";
1873
+ const MOCK_DATA_PATH$1 = "./mock/environment.json";
1872
1874
  const READ_ENVIRONMENT_DATA_FN = singleshot(async () => {
1873
- const data = await fs.readFile(MOCK_DATA_PATH, "utf-8");
1875
+ const data = await fs.readFile(MOCK_DATA_PATH$1, "utf-8");
1874
1876
  return JSON.parse(data);
1875
1877
  });
1876
1878
  class EnvironmentMockService {
@@ -1883,6 +1885,21 @@ class EnvironmentMockService {
1883
1885
  }
1884
1886
  }
1885
1887
 
1888
+ const MOCK_DATA_PATH = "./mock/setup.json";
1889
+ const READ_SETUP_DATA_FN = singleshot(async () => {
1890
+ const data = await fs.readFile(MOCK_DATA_PATH, "utf-8");
1891
+ return JSON.parse(data);
1892
+ });
1893
+ class SetupMockService {
1894
+ constructor() {
1895
+ this.loggerService = inject(TYPES.loggerService);
1896
+ this.getSetupData = async () => {
1897
+ this.loggerService.log("setupMockService getSetupData");
1898
+ return await READ_SETUP_DATA_FN();
1899
+ };
1900
+ }
1901
+ }
1902
+
1886
1903
  class PerformanceViewService {
1887
1904
  constructor() {
1888
1905
  this.loggerService = inject(TYPES.loggerService);
@@ -1956,6 +1973,57 @@ class EnvironmentViewService {
1956
1973
  }
1957
1974
  }
1958
1975
 
1976
+ const GET_MODE_FN = async () => {
1977
+ const [backtestTarget = null] = await Backtest.list();
1978
+ if (backtestTarget) {
1979
+ return "backtest";
1980
+ }
1981
+ const [liveTarget = null] = await Live.list();
1982
+ if (liveTarget) {
1983
+ return "live";
1984
+ }
1985
+ return "none";
1986
+ };
1987
+ class SetupViewService {
1988
+ constructor() {
1989
+ this.loggerService = inject(TYPES.loggerService);
1990
+ this.setupMockService = inject(TYPES.setupMockService);
1991
+ this.getSetupData = async () => {
1992
+ this.loggerService.log("setupViewService getSetupData");
1993
+ if (CC_ENABLE_MOCK) {
1994
+ return await this.setupMockService.getSetupData();
1995
+ }
1996
+ const broker_enabled = Broker.enable.hasValue();
1997
+ const dump_enabled = Dump.enable.hasValue();
1998
+ const markdown_enabled = Markdown.enable.hasValue();
1999
+ const memory_enabled = Memory.enable.hasValue();
2000
+ const notification_enabled = Notification.enable.hasValue();
2001
+ const recent_enabled = Recent.enable.hasValue();
2002
+ const report_enabled = Report.enable.hasValue();
2003
+ const state_enabled = State.enable.hasValue();
2004
+ const storage_enabled = Storage.enable.hasValue();
2005
+ const running_mode = await GET_MODE_FN();
2006
+ const config = await getConfig();
2007
+ const enable_long = config.CC_ENABLE_LONG_SIGNAL;
2008
+ const enable_short = config.CC_ENABLE_SHORT_SIGNAL;
2009
+ return {
2010
+ broker_enabled,
2011
+ dump_enabled,
2012
+ markdown_enabled,
2013
+ memory_enabled,
2014
+ notification_enabled,
2015
+ recent_enabled,
2016
+ report_enabled,
2017
+ state_enabled,
2018
+ storage_enabled,
2019
+ running_mode,
2020
+ enable_long,
2021
+ enable_short,
2022
+ };
2023
+ };
2024
+ }
2025
+ }
2026
+
1959
2027
  {
1960
2028
  provide(TYPES.loggerService, () => new LoggerService());
1961
2029
  provide(TYPES.exchangeService, () => new ExchangeService());
@@ -1981,6 +2049,7 @@ class EnvironmentViewService {
1981
2049
  provide(TYPES.heatMockService, () => new HeatMockService());
1982
2050
  provide(TYPES.performanceMockService, () => new PerformanceMockService());
1983
2051
  provide(TYPES.environmentMockService, () => new EnvironmentMockService());
2052
+ provide(TYPES.setupMockService, () => new SetupMockService());
1984
2053
  }
1985
2054
  {
1986
2055
  provide(TYPES.notificationViewService, () => new NotificationViewService());
@@ -1994,6 +2063,7 @@ class EnvironmentViewService {
1994
2063
  provide(TYPES.heatViewService, () => new HeatViewService());
1995
2064
  provide(TYPES.performanceViewService, () => new PerformanceViewService());
1996
2065
  provide(TYPES.environmentViewService, () => new EnvironmentViewService());
2066
+ provide(TYPES.setupViewService, () => new SetupViewService());
1997
2067
  }
1998
2068
 
1999
2069
  const baseServices = {
@@ -2021,6 +2091,7 @@ const mockServices = {
2021
2091
  heatMockService: inject(TYPES.heatMockService),
2022
2092
  performanceMockService: inject(TYPES.performanceMockService),
2023
2093
  environmentMockService: inject(TYPES.environmentMockService),
2094
+ setupMockService: inject(TYPES.setupMockService),
2024
2095
  };
2025
2096
  const viewServices = {
2026
2097
  notificationViewService: inject(TYPES.notificationViewService),
@@ -2034,6 +2105,7 @@ const viewServices = {
2034
2105
  heatViewService: inject(TYPES.heatViewService),
2035
2106
  performanceViewService: inject(TYPES.performanceViewService),
2036
2107
  environmentViewService: inject(TYPES.environmentViewService),
2108
+ setupViewService: inject(TYPES.setupViewService),
2037
2109
  };
2038
2110
  const ioc = {
2039
2111
  ...baseServices,
@@ -2047,6 +2119,35 @@ init();
2047
2119
  const router$a = Router({
2048
2120
  params: true,
2049
2121
  });
2122
+ // SetupMockService endpoints
2123
+ router$a.post("/api/v1/mock/setup_data", async (req, res) => {
2124
+ try {
2125
+ const request = await micro.json(req);
2126
+ const { requestId, serviceName } = request;
2127
+ const data = await ioc.setupMockService.getSetupData();
2128
+ const result = {
2129
+ data,
2130
+ status: "ok",
2131
+ error: "",
2132
+ requestId,
2133
+ serviceName,
2134
+ };
2135
+ ioc.loggerService.log("/api/v1/mock/setup_data ok", {
2136
+ request,
2137
+ result: omit(result, "data"),
2138
+ });
2139
+ return await micro.send(res, 200, result);
2140
+ }
2141
+ catch (error) {
2142
+ ioc.loggerService.log("/api/v1/mock/setup_data error", {
2143
+ error: errorData(error),
2144
+ });
2145
+ return await micro.send(res, 200, {
2146
+ status: "error",
2147
+ error: getErrorMessage(error),
2148
+ });
2149
+ }
2150
+ });
2050
2151
  // ExchangeMockService endpoints
2051
2152
  router$a.post("/api/v1/mock/candles_signal", async (req, res) => {
2052
2153
  try {
@@ -2748,6 +2849,35 @@ router$a.post("/api/v1/mock/environment_data", async (req, res) => {
2748
2849
  const router$9 = Router({
2749
2850
  params: true,
2750
2851
  });
2852
+ // SetupViewService endpoints
2853
+ router$9.post("/api/v1/view/setup_data", async (req, res) => {
2854
+ try {
2855
+ const request = await micro.json(req);
2856
+ const { requestId, serviceName } = request;
2857
+ const data = await ioc.setupViewService.getSetupData();
2858
+ const result = {
2859
+ data,
2860
+ status: "ok",
2861
+ error: "",
2862
+ requestId,
2863
+ serviceName,
2864
+ };
2865
+ ioc.loggerService.log("/api/v1/view/setup_data ok", {
2866
+ request,
2867
+ result: omit(result, "data"),
2868
+ });
2869
+ return await micro.send(res, 200, result);
2870
+ }
2871
+ catch (error) {
2872
+ ioc.loggerService.log("/api/v1/view/setup_data error", {
2873
+ error: errorData(error),
2874
+ });
2875
+ return await micro.send(res, 200, {
2876
+ status: "error",
2877
+ error: getErrorMessage(error),
2878
+ });
2879
+ }
2880
+ });
2751
2881
  // ExchangeViewService endpoints
2752
2882
  router$9.post("/api/v1/view/candles_signal", async (req, res) => {
2753
2883
  try {