hedgequantx 2.3.9 → 2.3.11

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/lib/api.jsc CHANGED
Binary file
package/dist/lib/api2.jsc CHANGED
Binary file
package/dist/lib/core.jsc CHANGED
Binary file
Binary file
package/dist/lib/data.jsc CHANGED
Binary file
Binary file
Binary file
Binary file
Binary file
package/dist/lib/n/r1.jsc CHANGED
Binary file
package/dist/lib/n/r2.jsc CHANGED
Binary file
package/dist/lib/n/r3.jsc CHANGED
Binary file
package/dist/lib/n/r4.jsc CHANGED
Binary file
package/dist/lib/n/r5.jsc CHANGED
Binary file
package/dist/lib/n/r6.jsc CHANGED
Binary file
package/dist/lib/n/r7.jsc CHANGED
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hedgequantx",
3
- "version": "2.3.9",
3
+ "version": "2.3.11",
4
4
  "description": "HedgeQuantX - Prop Futures Trading CLI",
5
5
  "main": "src/app.js",
6
6
  "bin": {
@@ -47,12 +47,18 @@ const oneAccountMenu = async (service) => {
47
47
 
48
48
  spinner.succeed(`Found ${activeAccounts.length} active account(s)`);
49
49
 
50
- // Select account
51
- // Display name priority: accountName (ProjectX) > rithmicAccountId (Rithmic) > name > accountId
52
- const options = activeAccounts.map(acc => ({
53
- label: `${acc.accountName || acc.rithmicAccountId || acc.name || acc.accountId} (${acc.propfirm || 'Unknown'})${acc.balance !== null ? ` - $${acc.balance.toLocaleString()}` : ''}`,
54
- value: acc
55
- }));
50
+ // Select account - display RAW API fields
51
+ const options = activeAccounts.map(acc => {
52
+ // Use what API returns: accountName for ProjectX, rithmicAccountId for Rithmic
53
+ const name = acc.accountName || acc.rithmicAccountId || acc.accountId;
54
+ const balance = acc.balance !== null && acc.balance !== undefined
55
+ ? ` - $${acc.balance.toLocaleString()}`
56
+ : '';
57
+ return {
58
+ label: `${name} (${acc.propfirm || acc.platform || 'Unknown'})${balance}`,
59
+ value: acc
60
+ };
61
+ });
56
62
  options.push({ label: '< Back', value: 'back' });
57
63
 
58
64
  const selectedAccount = await prompts.selectOption('Select Account:', options);
@@ -73,7 +79,7 @@ const oneAccountMenu = async (service) => {
73
79
  };
74
80
 
75
81
  /**
76
- * Symbol selection - grouped by category with indices first
82
+ * Symbol selection - RAW API data only
77
83
  */
78
84
  const selectSymbol = async (service, account) => {
79
85
  const spinner = ora({ text: 'Loading symbols...', color: 'yellow' }).start();
@@ -84,34 +90,15 @@ const selectSymbol = async (service, account) => {
84
90
  return null;
85
91
  }
86
92
 
87
- // Contracts are already sorted by category from getContracts()
88
93
  const contracts = contractsResult.contracts;
89
-
90
94
  spinner.succeed(`Found ${contracts.length} contracts`);
91
95
 
92
- // Build options from RAW API response - no static data
93
- const options = [];
94
- let currentGroup = null;
95
-
96
- for (const c of contracts) {
97
- // Category header from API field contractGroup
98
- if (c.contractGroup !== currentGroup) {
99
- currentGroup = c.contractGroup;
100
- if (currentGroup) {
101
- options.push({
102
- label: chalk.cyan.bold(`── ${currentGroup} ──`),
103
- value: null,
104
- disabled: true
105
- });
106
- }
107
- }
108
-
109
- // Display using RAW API fields only
110
- const label = ` ${c.name} - ${c.description} (${c.exchange})`;
111
- options.push({ label, value: c });
112
- }
96
+ // Display EXACTLY what API returns - no modifications
97
+ const options = contracts.map(c => ({
98
+ label: `${c.name} - ${c.description}`,
99
+ value: c
100
+ }));
113
101
 
114
- options.push({ label: '', value: null, disabled: true }); // Spacer
115
102
  options.push({ label: chalk.gray('< Back'), value: 'back' });
116
103
 
117
104
  const contract = await prompts.selectOption(chalk.yellow('Select Symbol:'), options);
package/src/ui/index.js CHANGED
@@ -27,9 +27,9 @@ const { createBoxMenu } = require('./menu');
27
27
 
28
28
  /**
29
29
  * Display HQX Banner (without closing border)
30
+ * Note: console.clear() is handled by app.js banner() to avoid terminal bugs
30
31
  */
31
32
  const displayBanner = () => {
32
- console.clear();
33
33
  const termWidth = process.stdout.columns || 100;
34
34
  const isMobile = termWidth < 60;
35
35
  const boxWidth = isMobile ? Math.max(termWidth - 2, 40) : Math.max(getLogoWidth(), 98);