hedgequantx 2.7.90 → 2.7.92

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hedgequantx",
3
- "version": "2.7.90",
3
+ "version": "2.7.92",
4
4
  "description": "HedgeQuantX - Prop Futures Trading CLI",
5
5
  "main": "src/app.js",
6
6
  "bin": {
package/src/app.js CHANGED
@@ -133,7 +133,7 @@ const banner = async () => {
133
133
  console.log(chalk.cyan('╠' + '═'.repeat(innerWidth) + '╣'));
134
134
 
135
135
  const tagline = isMobile ? `HQX V${version}` : `PROP FUTURES ALGO TRADING V${version}`;
136
- console.log(chalk.cyan('║') + chalk.white(centerText(tagline, innerWidth)) + chalk.cyan('║'));
136
+ console.log(chalk.cyan('║') + chalk.yellow(centerText(tagline, innerWidth)) + chalk.cyan('║'));
137
137
 
138
138
  // ALWAYS close the banner
139
139
  console.log(chalk.cyan('╚' + '═'.repeat(innerWidth) + '╝'));
@@ -163,20 +163,23 @@ const run = async () => {
163
163
  try {
164
164
  log.info('Starting HQX CLI');
165
165
 
166
- // First launch - show banner then spinner
166
+ // First launch - show banner then try restore session
167
167
  await banner();
168
168
 
169
- const spinner = ora({ text: 'LOADING DASHBOARD...', color: 'yellow' }).start();
169
+ const spinner = ora({ text: 'LOADING...', color: 'yellow' }).start();
170
170
 
171
171
  const restored = await connections.restoreFromStorage();
172
172
 
173
173
  if (restored) {
174
174
  currentService = connections.getAll()[0].service;
175
175
  await refreshStats();
176
+ spinner.succeed('SESSION RESTORED');
177
+ } else {
178
+ spinner.stop(); // Stop spinner - no session to restore
176
179
  }
177
180
 
178
181
  // Store spinner globally so dashboardMenu can stop it before clear
179
- global.__hqxSpinner = spinner;
182
+ global.__hqxSpinner = null;
180
183
 
181
184
  // Main loop
182
185
  while (true) {
@@ -127,7 +127,7 @@ class AlgoUI {
127
127
 
128
128
  // Separator + title
129
129
  this._line(chalk.cyan(BOX.ML + BOX.H.repeat(W) + BOX.MR));
130
- this._line(chalk.cyan(BOX.V) + chalk.white(center(`PROP FUTURES ALGO TRADING V${version}`, W)) + chalk.cyan(BOX.V));
130
+ this._line(chalk.cyan(BOX.V) + chalk.yellow(center(`PROP FUTURES ALGO TRADING V${version}`, W)) + chalk.cyan(BOX.V));
131
131
  this._line(chalk.cyan(BOX.ML + BOX.H.repeat(W) + BOX.MR));
132
132
  this._line(chalk.cyan(BOX.V) + chalk.yellow(center((this.config.subtitle || 'HQX ALGO TRADING').toUpperCase(), W)) + chalk.cyan(BOX.V));
133
133
  }
@@ -387,7 +387,7 @@ const renderSessionSummary = (stats, stopReason) => {
387
387
 
388
388
  // Separator + title
389
389
  console.log(chalk.cyan(BOX.ML + BOX.H.repeat(W) + BOX.MR));
390
- console.log(chalk.cyan(BOX.V) + chalk.white(center(`PROP FUTURES ALGO TRADING V${version}`, W)) + chalk.cyan(BOX.V));
390
+ console.log(chalk.cyan(BOX.V) + chalk.yellow(center(`PROP FUTURES ALGO TRADING V${version}`, W)) + chalk.cyan(BOX.V));
391
391
  console.log(chalk.cyan(BOX.ML + BOX.H.repeat(W) + BOX.MR));
392
392
  console.log(chalk.cyan(BOX.V) + chalk.yellow(center('SESSION SUMMARY', W)) + chalk.cyan(BOX.V));
393
393
 
package/src/ui/menu.js CHANGED
@@ -48,7 +48,7 @@ const createBoxMenu = async (title, items, options = {}) => {
48
48
  });
49
49
 
50
50
  console.log(chalk.cyan('╠' + '═'.repeat(innerWidth) + '╣'));
51
- console.log(chalk.cyan('║') + chalk.white(centerText(`PROP FUTURES ALGO TRADING V${version}`, innerWidth)) + chalk.cyan('║'));
51
+ console.log(chalk.cyan('║') + chalk.yellow(centerText(`PROP FUTURES ALGO TRADING V${version}`, innerWidth)) + chalk.cyan('║'));
52
52
 
53
53
  // Stats bar if provided
54
54
  if (options.statsLine) {