suzi-cli 0.1.12 → 0.1.14

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 (74) hide show
  1. package/dist/commands/accounts.d.ts.map +1 -1
  2. package/dist/commands/accounts.js +27 -7
  3. package/dist/commands/accounts.js.map +1 -1
  4. package/dist/commands/agent.d.ts +45 -0
  5. package/dist/commands/agent.d.ts.map +1 -0
  6. package/dist/commands/agent.js +991 -0
  7. package/dist/commands/agent.js.map +1 -0
  8. package/dist/commands/create.d.ts.map +1 -1
  9. package/dist/commands/create.js +213 -143
  10. package/dist/commands/create.js.map +1 -1
  11. package/dist/commands/debug.d.ts.map +1 -1
  12. package/dist/commands/debug.js +124 -41
  13. package/dist/commands/debug.js.map +1 -1
  14. package/dist/commands/list-actions.d.ts.map +1 -1
  15. package/dist/commands/list-actions.js +35 -4
  16. package/dist/commands/list-actions.js.map +1 -1
  17. package/dist/commands/list-triggers.d.ts.map +1 -1
  18. package/dist/commands/list-triggers.js +38 -10
  19. package/dist/commands/list-triggers.js.map +1 -1
  20. package/dist/commands/login.d.ts.map +1 -1
  21. package/dist/commands/login.js +49 -24
  22. package/dist/commands/login.js.map +1 -1
  23. package/dist/commands/portfolio.d.ts.map +1 -1
  24. package/dist/commands/portfolio.js +313 -155
  25. package/dist/commands/portfolio.js.map +1 -1
  26. package/dist/commands/preferences.d.ts.map +1 -1
  27. package/dist/commands/preferences.js +119 -26
  28. package/dist/commands/preferences.js.map +1 -1
  29. package/dist/commands/run.d.ts +4 -0
  30. package/dist/commands/run.d.ts.map +1 -1
  31. package/dist/commands/run.js +8 -305
  32. package/dist/commands/run.js.map +1 -1
  33. package/dist/commands/transactions.d.ts.map +1 -1
  34. package/dist/commands/transactions.js +18 -4
  35. package/dist/commands/transactions.js.map +1 -1
  36. package/dist/index.js +76 -28
  37. package/dist/index.js.map +1 -1
  38. package/dist/lib/lock-manager.d.ts +68 -0
  39. package/dist/lib/lock-manager.d.ts.map +1 -0
  40. package/dist/lib/lock-manager.js +342 -0
  41. package/dist/lib/lock-manager.js.map +1 -0
  42. package/dist/types/portfolio.d.ts +129 -0
  43. package/dist/types/portfolio.d.ts.map +1 -0
  44. package/dist/types/portfolio.js +5 -0
  45. package/dist/types/portfolio.js.map +1 -0
  46. package/dist/utils/agent-picker.d.ts +16 -0
  47. package/dist/utils/agent-picker.d.ts.map +1 -0
  48. package/dist/utils/agent-picker.js +83 -0
  49. package/dist/utils/agent-picker.js.map +1 -0
  50. package/dist/utils/resolver.d.ts +35 -0
  51. package/dist/utils/resolver.d.ts.map +1 -0
  52. package/dist/utils/resolver.js +157 -0
  53. package/dist/utils/resolver.js.map +1 -0
  54. package/dist/utils/tty.d.ts +26 -0
  55. package/dist/utils/tty.d.ts.map +1 -0
  56. package/dist/utils/tty.js +50 -0
  57. package/dist/utils/tty.js.map +1 -0
  58. package/dist/utils/ui.d.ts +14 -0
  59. package/dist/utils/ui.d.ts.map +1 -1
  60. package/dist/utils/ui.js +49 -0
  61. package/dist/utils/ui.js.map +1 -1
  62. package/package.json +1 -1
  63. package/dist/commands/agents.d.ts +0 -3
  64. package/dist/commands/agents.d.ts.map +0 -1
  65. package/dist/commands/agents.js +0 -309
  66. package/dist/commands/agents.js.map +0 -1
  67. package/dist/commands/deploy.d.ts +0 -3
  68. package/dist/commands/deploy.d.ts.map +0 -1
  69. package/dist/commands/deploy.js +0 -174
  70. package/dist/commands/deploy.js.map +0 -1
  71. package/dist/commands/validate.d.ts +0 -3
  72. package/dist/commands/validate.d.ts.map +0 -1
  73. package/dist/commands/validate.js +0 -165
  74. package/dist/commands/validate.js.map +0 -1
@@ -5,198 +5,356 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerPortfolioCommand = registerPortfolioCommand;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
- const ora_1 = __importDefault(require("ora"));
9
8
  const cli_table3_1 = __importDefault(require("cli-table3"));
10
9
  const config_1 = require("../lib/config");
11
10
  const api_1 = require("../lib/api");
12
11
  const ui_1 = require("../utils/ui");
12
+ const tty_1 = require("../utils/tty");
13
+ // Known Solana token mint addresses to symbols
14
+ const KNOWN_TOKEN_MINTS = {
15
+ 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v': 'USDC',
16
+ 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB': 'USDT',
17
+ 'DQjoz9RZDfhJeu8qXzkgc3fRjhJNaQ6TJnfLwXfE7z1N': 'USDT',
18
+ '3mNHDX54YCH1YMBe4c6gADfVEuKbkLKmz5K7EvMrjDSG': 'GOLD',
19
+ 'So11111111111111111111111111111111111111112': 'wSOL',
20
+ };
21
+ function getTokenSymbol(mintOrSymbol) {
22
+ // If it's a known mint address, return the symbol
23
+ if (KNOWN_TOKEN_MINTS[mintOrSymbol]) {
24
+ return KNOWN_TOKEN_MINTS[mintOrSymbol];
25
+ }
26
+ // Return as-is (full mint address or symbol)
27
+ return mintOrSymbol;
28
+ }
13
29
  function registerPortfolioCommand(program) {
14
30
  program
15
31
  .command('portfolio')
16
- .description('View your portfolio — spot balances, Hyperliquid positions, and Meteora LP')
17
- .action(async () => {
32
+ .description('View your complete portfolio — balances, positions, P&L across all protocols')
33
+ .option('--json', 'Output as JSON')
34
+ .action(async (opts) => {
18
35
  if (!(0, ui_1.requireAuth)())
19
36
  return;
37
+ const jsonMode = opts?.json || false;
20
38
  const account = (0, config_1.getActiveAccount)();
21
39
  if (!account) {
22
- (0, ui_1.error)('No active account.');
40
+ const msg = 'No active account.';
41
+ if (jsonMode) {
42
+ (0, tty_1.outputJson)({ success: false, error: msg });
43
+ }
44
+ else {
45
+ (0, ui_1.error)(msg);
46
+ }
23
47
  return;
24
48
  }
25
- const spinner = (0, ora_1.default)('Loading portfolio...').start();
26
- const assets = [];
49
+ const spinner = (0, tty_1.createSpinner)('Loading portfolio...', jsonMode);
50
+ spinner?.start();
27
51
  try {
28
- // 1. SOL native balance
29
- if (account.svmWalletAddress) {
30
- const solResp = await (0, api_1.post)('/api/actions/execute', {
31
- name: 'solana.get_native_balance',
32
- params: { address: account.svmWalletAddress },
33
- });
34
- if (solResp.ok && solResp.data?.result) {
35
- assets.push({
36
- symbol: 'SOL',
37
- balance: solResp.data.result.balance.toFixed(4),
38
- chain: 'Solana',
39
- });
40
- }
41
- // 2. USDC on Solana
42
- const usdcResp = await (0, api_1.post)('/api/actions/execute', {
43
- name: 'solana.get_token_balance',
44
- params: { address: account.svmWalletAddress, token: 'USDC' },
45
- });
46
- if (usdcResp.ok && usdcResp.data?.result && usdcResp.data.result.balance > 0) {
47
- assets.push({
48
- symbol: 'USDC',
49
- balance: usdcResp.data.result.balance.toFixed(2),
50
- chain: 'Solana',
51
- });
52
+ // Single API call for all data
53
+ const resp = await (0, api_1.get)('/api/portfolio/detailed');
54
+ if (!resp.ok) {
55
+ spinner?.stop();
56
+ const errorData = resp.data;
57
+ const msg = `Failed to load portfolio: ${errorData?.message || errorData?.error || 'Unknown error'}`;
58
+ if (jsonMode) {
59
+ (0, tty_1.outputJson)({ success: false, error: msg });
52
60
  }
53
- // 3. USDT on Solana
54
- const usdtResp = await (0, api_1.post)('/api/actions/execute', {
55
- name: 'solana.get_token_balance',
56
- params: { address: account.svmWalletAddress, token: 'USDT' },
57
- });
58
- if (usdtResp.ok && usdtResp.data?.result && usdtResp.data.result.balance > 0) {
59
- assets.push({
60
- symbol: 'USDT',
61
- balance: usdtResp.data.result.balance.toFixed(2),
62
- chain: 'Solana',
63
- });
64
- }
65
- // 4. GOLD token
66
- const goldResp = await (0, api_1.post)('/api/actions/execute', {
67
- name: 'solana.get_token_balance',
68
- params: { address: account.svmWalletAddress, token: 'GOLD' },
69
- });
70
- if (goldResp.ok && goldResp.data?.result && goldResp.data.result.balance > 0) {
71
- assets.push({
72
- symbol: 'GOLD',
73
- balance: goldResp.data.result.balance.toFixed(2),
74
- chain: 'Solana',
75
- });
61
+ else {
62
+ (0, ui_1.error)(msg);
76
63
  }
64
+ return;
77
65
  }
78
- // 5. Hyperliquid spot balances
79
- if (account.evmWalletAddress) {
80
- const hlBalResp = await (0, api_1.get)('/api/portfolio/summary');
81
- if (hlBalResp.ok && hlBalResp.data && hlBalResp.data.totalEquity > 0) {
82
- assets.push({
83
- symbol: 'USDC',
84
- balance: hlBalResp.data.availableBalance.toFixed(2),
85
- chain: 'Hyperliquid',
86
- });
87
- }
66
+ spinner?.stop();
67
+ const portfolio = resp.data;
68
+ if (jsonMode) {
69
+ (0, tty_1.outputJson)({ success: true, data: portfolio });
70
+ return;
88
71
  }
89
- spinner.stop();
72
+ // Display portfolio
90
73
  (0, ui_1.header)('Portfolio');
91
74
  console.log();
92
- if (assets.length === 0) {
93
- (0, ui_1.info)('No assets found. Fund your account with `suzi accounts fund`.');
94
- return;
75
+ // Top-level summary
76
+ (0, ui_1.label)('Total Equity', (0, ui_1.formatUsd)(portfolio.totals.totalEquity));
77
+ (0, ui_1.label)('Available Balance', (0, ui_1.formatUsd)(portfolio.totals.availableBalance));
78
+ (0, ui_1.label)('Open Positions', portfolio.totals.totalPositions.toString());
79
+ console.log();
80
+ // Protocol breakdown
81
+ console.log(ui_1.colors.muted(' Protocol Breakdown:'));
82
+ const protocolTable = new cli_table3_1.default({
83
+ head: [chalk_1.default.gray('Protocol'), chalk_1.default.gray('Value'), chalk_1.default.gray('Positions')],
84
+ style: { head: [], border: ['gray'] },
85
+ colWidths: [20, 18, 12],
86
+ });
87
+ if (portfolio.protocols.hyperliquid.totalEquity > 0 || portfolio.protocols.hyperliquid.totalPositions > 0) {
88
+ protocolTable.push([
89
+ ui_1.colors.evm('Hyperliquid'),
90
+ (0, ui_1.formatUsd)(portfolio.protocols.hyperliquid.totalEquity),
91
+ portfolio.protocols.hyperliquid.totalPositions.toString(),
92
+ ]);
93
+ }
94
+ if (portfolio.protocols.polymarket.totalValue > 0 || portfolio.protocols.polymarket.totalPositions > 0) {
95
+ protocolTable.push([
96
+ ui_1.colors.secondary('Polymarket'),
97
+ (0, ui_1.formatUsd)(portfolio.protocols.polymarket.totalValue),
98
+ portfolio.protocols.polymarket.totalPositions.toString(),
99
+ ]);
100
+ }
101
+ if (portfolio.protocols.kamino.netValueUsd > 0 || portfolio.protocols.kamino.positions.length > 0) {
102
+ protocolTable.push([
103
+ ui_1.colors.sol('Kamino'),
104
+ (0, ui_1.formatUsd)(portfolio.protocols.kamino.netValueUsd),
105
+ portfolio.protocols.kamino.positions.length.toString(),
106
+ ]);
107
+ }
108
+ if (portfolio.protocols.meteora.totalEquity > 0 || portfolio.protocols.meteora.totalPositions > 0) {
109
+ protocolTable.push([
110
+ ui_1.colors.sol('Meteora'),
111
+ (0, ui_1.formatUsd)(portfolio.protocols.meteora.totalEquity),
112
+ portfolio.protocols.meteora.totalPositions.toString(),
113
+ ]);
114
+ }
115
+ if (protocolTable.length > 0) {
116
+ console.log(protocolTable.toString());
117
+ console.log();
118
+ }
119
+ (0, ui_1.divider)();
120
+ // === Spot Balances Section ===
121
+ const balanceTable = new cli_table3_1.default({
122
+ head: [chalk_1.default.gray('Asset'), chalk_1.default.gray('Balance'), chalk_1.default.gray('Chain')],
123
+ style: { head: [], border: ['gray'] },
124
+ colWidths: [46, 18, 16],
125
+ });
126
+ let hasBalances = false;
127
+ // SOL native balance
128
+ if (portfolio.balances.solana.nativeBalance > 0) {
129
+ balanceTable.push([
130
+ ui_1.colors.sol('SOL'),
131
+ chalk_1.default.bold(portfolio.balances.solana.nativeBalance.toFixed(4)),
132
+ ui_1.colors.muted('(Solana)'),
133
+ ]);
134
+ hasBalances = true;
135
+ }
136
+ // All SPL tokens (dynamic)
137
+ for (const token of portfolio.balances.solana.tokenBalances) {
138
+ const symbol = getTokenSymbol(token.token);
139
+ balanceTable.push([
140
+ chalk_1.default.white(symbol),
141
+ chalk_1.default.bold(token.balance.toFixed(2)),
142
+ ui_1.colors.muted('(Solana)'),
143
+ ]);
144
+ hasBalances = true;
145
+ }
146
+ // Hyperliquid spot balances
147
+ for (const spot of portfolio.protocols.hyperliquid.spotBalances || []) {
148
+ if (spot.balance > 0) {
149
+ balanceTable.push([
150
+ chalk_1.default.green(spot.token),
151
+ chalk_1.default.bold(spot.balance.toFixed(2)),
152
+ ui_1.colors.muted('(Hyperliquid)'),
153
+ ]);
154
+ hasBalances = true;
155
+ }
95
156
  }
96
- // Show SOL + top 3 assets table
97
- const table = new cli_table3_1.default({
157
+ if (hasBalances) {
158
+ console.log(balanceTable.toString());
159
+ }
160
+ else {
161
+ (0, ui_1.info)('No spot balances found.');
162
+ }
163
+ // === Hyperliquid Overview ===
164
+ console.log();
165
+ console.log(ui_1.colors.evm.bold(' Hyperliquid'));
166
+ const marketMakers = portfolio.protocols.hyperliquid.marketMakers;
167
+ // Market Maker Summary Table
168
+ const mmEntries = [
169
+ ['main', marketMakers.main],
170
+ ['xyz', marketMakers.xyz],
171
+ ['flx', marketMakers.flx],
172
+ ['vntl', marketMakers.vntl],
173
+ ['hyna', marketMakers.hyna],
174
+ ['km', marketMakers.km],
175
+ ['cash', marketMakers.cash],
176
+ ];
177
+ const mmSummaryTable = new cli_table3_1.default({
98
178
  head: [
99
- chalk_1.default.gray('Asset'),
100
- chalk_1.default.gray('Balance'),
101
- chalk_1.default.gray('Chain'),
179
+ chalk_1.default.gray('Market Maker'),
180
+ chalk_1.default.gray('Equity'),
181
+ chalk_1.default.gray('Available'),
182
+ chalk_1.default.gray('Positions'),
102
183
  ],
103
184
  style: { head: [], border: ['gray'] },
104
- colWidths: [12, 18, 16],
105
185
  });
106
- // SOL first, then top 3 by balance
107
- const solAsset = assets.find((a) => a.symbol === 'SOL' && a.chain === 'Solana');
108
- const otherAssets = assets.filter((a) => !(a.symbol === 'SOL' && a.chain === 'Solana'));
109
- // Sort others by numeric balance descending
110
- otherAssets.sort((a, b) => parseFloat(b.balance) - parseFloat(a.balance));
111
- const display = [];
112
- if (solAsset)
113
- display.push(solAsset);
114
- display.push(...otherAssets.slice(0, 3));
115
- for (const asset of display) {
116
- const symbolColor = asset.symbol === 'SOL'
117
- ? ui_1.colors.sol
118
- : asset.symbol === 'USDC' || asset.symbol === 'USDT'
119
- ? chalk_1.default.green
120
- : asset.symbol === 'GOLD'
121
- ? chalk_1.default.yellow
122
- : chalk_1.default.white;
123
- table.push([
124
- symbolColor(asset.symbol),
125
- chalk_1.default.bold(asset.balance),
126
- ui_1.colors.muted(`(${asset.chain})`),
127
- ]);
186
+ let hasActiveMarketMakers = false;
187
+ for (const [mm, data] of mmEntries) {
188
+ if (data && (data.equity > 0 || data.positions.length > 0)) {
189
+ mmSummaryTable.push([
190
+ mm === 'main' ? chalk_1.default.white(mm) : chalk_1.default.cyan(mm),
191
+ (0, ui_1.formatUsd)(data.equity),
192
+ (0, ui_1.formatUsd)(data.availableBalance),
193
+ data.positions.length.toString(),
194
+ ]);
195
+ hasActiveMarketMakers = true;
196
+ }
128
197
  }
129
- console.log(table.toString());
130
- if (otherAssets.length > 3) {
131
- (0, ui_1.info)(` +${otherAssets.length - 3} more assets not shown.`);
198
+ if (hasActiveMarketMakers) {
199
+ console.log(mmSummaryTable.toString());
132
200
  }
133
- if (account.evmWalletAddress) {
134
- console.log();
135
- console.log(ui_1.colors.evm.bold(' Hyperliquid Positions'));
136
- const posResp = await (0, api_1.get)('/api/portfolio/hl/positions');
137
- if (posResp.ok && posResp.data?.positions?.length > 0) {
138
- const posTable = new cli_table3_1.default({
139
- head: [chalk_1.default.gray('Market'), chalk_1.default.gray('Side'), chalk_1.default.gray('Size'), chalk_1.default.gray('PnL')],
140
- style: { head: [], border: ['gray'] },
141
- });
142
- for (const pos of posResp.data.positions) {
143
- const p = pos.position || pos;
144
- const pnl = parseFloat(p.unrealizedPnl || '0');
145
- posTable.push([
146
- p.coin || p.asset || 'N/A',
147
- p.szi && parseFloat(p.szi) > 0 ? chalk_1.default.green('LONG') : chalk_1.default.red('SHORT'),
148
- Math.abs(parseFloat(p.szi || '0')).toFixed(4),
149
- pnl >= 0 ? chalk_1.default.green(`+$${pnl.toFixed(2)}`) : chalk_1.default.red(`-$${Math.abs(pnl).toFixed(2)}`),
150
- ]);
201
+ // Aggregate all positions
202
+ const allHlPositions = [];
203
+ for (const [mm, data] of mmEntries) {
204
+ if (data?.positions) {
205
+ for (const posWrapper of data.positions) {
206
+ allHlPositions.push({ ...posWrapper.position, marketMaker: mm });
151
207
  }
152
- console.log(posTable.toString());
153
208
  }
154
- else {
155
- (0, ui_1.info)(' No open positions.');
209
+ }
210
+ // Positions Detail Table
211
+ if (allHlPositions.length > 0) {
212
+ console.log();
213
+ console.log(ui_1.colors.muted(' Open Positions:'));
214
+ const hlTable = new cli_table3_1.default({
215
+ head: [
216
+ chalk_1.default.gray('Market'),
217
+ chalk_1.default.gray('Side'),
218
+ chalk_1.default.gray('Size'),
219
+ chalk_1.default.gray('Entry'),
220
+ chalk_1.default.gray('Value'),
221
+ chalk_1.default.gray('PnL'),
222
+ chalk_1.default.gray('MM'),
223
+ ],
224
+ style: { head: [], border: ['gray'] },
225
+ });
226
+ for (const pos of allHlPositions) {
227
+ const pnl = parseFloat(pos.unrealizedPnl || '0');
228
+ const size = parseFloat(pos.szi || '0');
229
+ hlTable.push([
230
+ pos.coin || 'N/A',
231
+ size > 0 ? chalk_1.default.green('LONG') : chalk_1.default.red('SHORT'),
232
+ Math.abs(size).toFixed(4),
233
+ (0, ui_1.formatUsd)(parseFloat(pos.entryPx || '0')),
234
+ (0, ui_1.formatUsd)(parseFloat(pos.positionValue || '0')),
235
+ pnl >= 0
236
+ ? chalk_1.default.green(`+$${pnl.toFixed(2)}`)
237
+ : chalk_1.default.red(`-$${Math.abs(pnl).toFixed(2)}`),
238
+ ui_1.colors.muted(pos.marketMaker === 'undefined' ? 'main' : pos.marketMaker),
239
+ ]);
156
240
  }
241
+ console.log(hlTable.toString());
242
+ // Show aggregate P&L
243
+ const totalPnl = allHlPositions.reduce((sum, pos) => sum + parseFloat(pos.unrealizedPnl || '0'), 0);
244
+ (0, ui_1.info)(` Total: ${(0, ui_1.formatUsd)(portfolio.protocols.hyperliquid.totalEquity)} | ` +
245
+ `Unrealized P&L: ${totalPnl >= 0
246
+ ? chalk_1.default.green(`+${(0, ui_1.formatUsd)(totalPnl)}`)
247
+ : chalk_1.default.red(`-${(0, ui_1.formatUsd)(Math.abs(totalPnl))}`)}`);
157
248
  }
158
- // Meteora DLMM positions
159
- if (account.svmWalletAddress) {
249
+ else {
160
250
  console.log();
161
- console.log(ui_1.colors.sol.bold(' Meteora LP Positions'));
162
- const meteoraResp = await (0, api_1.get)('/api/portfolio/meteora/positions');
163
- if (meteoraResp.ok && meteoraResp.data?.totalPositions > 0) {
164
- const metTable = new cli_table3_1.default({
165
- head: [
166
- chalk_1.default.gray('Pool'),
167
- chalk_1.default.gray('Token X'),
168
- chalk_1.default.gray('Token Y'),
169
- chalk_1.default.gray('Fee X'),
170
- chalk_1.default.gray('Fee Y'),
171
- ],
172
- style: { head: [], border: ['gray'] },
173
- });
174
- for (const pool of meteoraResp.data.pools) {
175
- const shortPool = pool.poolAddress.slice(0, 4) + '…' + pool.poolAddress.slice(-4);
176
- for (const pos of pool.positions) {
177
- const xAmt = parseFloat(pos.totalXAmount || '0');
178
- const yAmt = parseFloat(pos.totalYAmount || '0');
179
- const feeX = parseFloat(pos.feeX || '0');
180
- const feeY = parseFloat(pos.feeY || '0');
181
- metTable.push([
182
- shortPool,
183
- chalk_1.default.bold(xAmt.toFixed(4)),
184
- chalk_1.default.bold(yAmt.toFixed(2)),
185
- feeX > 0 ? chalk_1.default.green(feeX.toFixed(4)) : ui_1.colors.muted('0'),
186
- feeY > 0 ? chalk_1.default.green(feeY.toFixed(2)) : ui_1.colors.muted('0'),
187
- ]);
188
- }
189
- }
190
- console.log(metTable.toString());
251
+ (0, ui_1.info)(' No open positions.');
252
+ }
253
+ // === Polymarket Positions ===
254
+ console.log();
255
+ console.log(ui_1.colors.secondary.bold(' Polymarket Positions'));
256
+ if (portfolio.protocols.polymarket.totalPositions > 0) {
257
+ const pmTable = new cli_table3_1.default({
258
+ head: [
259
+ chalk_1.default.gray('Market'),
260
+ chalk_1.default.gray('Outcome'),
261
+ chalk_1.default.gray('Size'),
262
+ chalk_1.default.gray('Avg'),
263
+ chalk_1.default.gray('Cur'),
264
+ chalk_1.default.gray('P&L'),
265
+ ],
266
+ style: { head: [], border: ['gray'] },
267
+ });
268
+ for (const pos of portfolio.protocols.polymarket.positions) {
269
+ const pnl = pos.cashPnl;
270
+ pmTable.push([
271
+ pos.title,
272
+ pos.outcome === 'Yes' ? chalk_1.default.green('Yes') : chalk_1.default.red('No'),
273
+ pos.size.toFixed(0),
274
+ (0, ui_1.formatUsd)(pos.avgPrice),
275
+ (0, ui_1.formatUsd)(pos.curPrice),
276
+ pnl >= 0
277
+ ? chalk_1.default.green(`+${(0, ui_1.formatUsd)(pnl)}`)
278
+ : chalk_1.default.red(`-${(0, ui_1.formatUsd)(Math.abs(pnl))}`),
279
+ ]);
191
280
  }
192
- else {
193
- (0, ui_1.info)(' No Meteora positions.');
281
+ console.log(pmTable.toString());
282
+ const totalPnl = portfolio.protocols.polymarket.totalPnl;
283
+ (0, ui_1.info)(` Total: ${(0, ui_1.formatUsd)(portfolio.protocols.polymarket.totalValue)} | ` +
284
+ `P&L: ${totalPnl >= 0
285
+ ? chalk_1.default.green(`+${(0, ui_1.formatUsd)(totalPnl)}`)
286
+ : chalk_1.default.red(`-${(0, ui_1.formatUsd)(Math.abs(totalPnl))}`)}`);
287
+ }
288
+ else {
289
+ (0, ui_1.info)(' No Polymarket positions.');
290
+ }
291
+ // === Kamino Lending ===
292
+ console.log();
293
+ console.log(ui_1.colors.sol.bold(' Kamino Lending'));
294
+ if (portfolio.protocols.kamino.positions.length > 0) {
295
+ const kaminoTable = new cli_table3_1.default({
296
+ head: [
297
+ chalk_1.default.gray('Type'),
298
+ chalk_1.default.gray('Asset'),
299
+ chalk_1.default.gray('Amount'),
300
+ chalk_1.default.gray('USD Value'),
301
+ ],
302
+ style: { head: [], border: ['gray'] },
303
+ });
304
+ for (const pos of portfolio.protocols.kamino.positions) {
305
+ kaminoTable.push([
306
+ pos.type === 'deposit' ? chalk_1.default.green('Deposit') : chalk_1.default.yellow('Borrow'),
307
+ pos.symbol,
308
+ parseFloat(pos.amount).toFixed(4),
309
+ `$${parseFloat(pos.amountUsd).toFixed(2)}`,
310
+ ]);
194
311
  }
312
+ console.log(kaminoTable.toString());
313
+ (0, ui_1.info)(` Deposits: $${portfolio.protocols.kamino.totalDepositsUsd.toFixed(2)} | ` +
314
+ `Borrows: $${portfolio.protocols.kamino.totalBorrowsUsd.toFixed(2)} | ` +
315
+ `Net: $${portfolio.protocols.kamino.netValueUsd.toFixed(2)}`);
316
+ }
317
+ else {
318
+ (0, ui_1.info)(' No Kamino positions.');
319
+ }
320
+ // === Meteora LP ===
321
+ console.log();
322
+ console.log(ui_1.colors.sol.bold(' Meteora LP Positions'));
323
+ if (portfolio.protocols.meteora.totalPositions > 0) {
324
+ const metTable = new cli_table3_1.default({
325
+ head: [
326
+ chalk_1.default.gray('Pool'),
327
+ chalk_1.default.gray('Token X'),
328
+ chalk_1.default.gray('Token Y'),
329
+ chalk_1.default.gray('USD Value'),
330
+ ],
331
+ style: { head: [], border: ['gray'] },
332
+ });
333
+ for (const pool of portfolio.protocols.meteora.positions || []) {
334
+ const shortPool = pool.poolAddress.slice(0, 4) + '…' + pool.poolAddress.slice(-4);
335
+ pool.positions.forEach((pos, idx) => {
336
+ const xAmt = parseFloat(pos.totalXAmount || '0');
337
+ const yAmt = parseFloat(pos.totalYAmount || '0');
338
+ metTable.push([
339
+ shortPool,
340
+ chalk_1.default.bold(xAmt.toFixed(4)),
341
+ chalk_1.default.bold(yAmt.toFixed(2)),
342
+ // Only show USD value for the first position in the pool
343
+ idx === 0 ? chalk_1.default.green(`$${pool.estimatedValueUsd.toFixed(2)}`) : '',
344
+ ]);
345
+ });
346
+ }
347
+ console.log(metTable.toString());
348
+ (0, ui_1.info)(` Total Value: $${portfolio.protocols.meteora.totalEquity.toFixed(2)}`);
349
+ }
350
+ else {
351
+ (0, ui_1.info)(' No Meteora positions.');
195
352
  }
196
353
  }
197
354
  catch (err) {
198
- spinner.stop();
199
- (0, ui_1.error)(`Failed to load portfolio: ${err.message}`);
355
+ spinner?.stop();
356
+ const errorMessage = err instanceof Error ? err.message : 'Unknown error';
357
+ (0, ui_1.error)(`Failed to load portfolio: ${errorMessage}`);
200
358
  }
201
359
  console.log();
202
360
  (0, ui_1.divider)();
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../src/commands/portfolio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../src/commands/portfolio.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../src/commands/preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoIjE"}
1
+ {"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../src/commands/preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsHjE"}