suzi-cli 0.1.15 → 0.1.16

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.
@@ -1,3 +1,8 @@
1
1
  import { Command } from 'commander';
2
+ import type { DetailedPortfolioSummary } from '../types/portfolio';
3
+ export type RenderPortfolioOptions = {
4
+ showAllBalances?: boolean;
5
+ };
6
+ export declare function renderPortfolioDisplay(portfolio: DetailedPortfolioSummary, options?: RenderPortfolioOptions): void;
2
7
  export declare function registerPortfolioCommand(program: Command): void;
3
8
  //# sourceMappingURL=portfolio.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../src/commands/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+X/D"}
1
+ {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../src/commands/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AA2BnE,MAAM,MAAM,sBAAsB,GAAG;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAsBF,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,wBAAwB,EACnC,OAAO,GAAE,sBAA2B,GACnC,IAAI,CAgZN;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0D/D"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.renderPortfolioDisplay = renderPortfolioDisplay;
6
7
  exports.registerPortfolioCommand = registerPortfolioCommand;
7
8
  const chalk_1 = __importDefault(require("chalk"));
8
9
  const cli_table3_1 = __importDefault(require("cli-table3"));
@@ -26,15 +27,366 @@ function getTokenSymbol(mintOrSymbol) {
26
27
  // Return as-is (full mint address or symbol)
27
28
  return mintOrSymbol;
28
29
  }
30
+ function formatUsdSuffix(valueUsd) {
31
+ if (valueUsd == null || !Number.isFinite(valueUsd))
32
+ return '';
33
+ if (valueUsd > 0 && valueUsd < 0.005)
34
+ return ' (~<$0.01)';
35
+ return ` (~${(0, ui_1.formatUsd)(valueUsd)})`;
36
+ }
37
+ const BALANCE_DISPLAY_THRESHOLDS = {
38
+ usdValue: 0.01,
39
+ };
40
+ function shouldShowBalance(balance, showAllBalances, valueUsd) {
41
+ if (!Number.isFinite(balance) || balance <= 0)
42
+ return false;
43
+ if (showAllBalances)
44
+ return true;
45
+ if (valueUsd != null && Number.isFinite(valueUsd)) {
46
+ return valueUsd > BALANCE_DISPLAY_THRESHOLDS.usdValue;
47
+ }
48
+ // Hide unpriced assets by default; users can opt-in with --all-balances.
49
+ return false;
50
+ }
51
+ function renderPortfolioDisplay(portfolio, options = {}) {
52
+ const showAllBalances = options.showAllBalances ?? false;
53
+ // Display portfolio
54
+ (0, ui_1.header)('Portfolio');
55
+ console.log();
56
+ // Top-level summary
57
+ (0, ui_1.label)('Total Exposure', (0, ui_1.formatUsd)(portfolio.totals.totalExposure));
58
+ (0, ui_1.label)('Available Balance', (0, ui_1.formatUsd)(portfolio.totals.availableBalance));
59
+ (0, ui_1.label)('Open Positions', portfolio.totals.totalPositions.toString());
60
+ console.log();
61
+ // Protocol breakdown
62
+ console.log(ui_1.colors.muted(' Protocol Breakdown:'));
63
+ const protocolTable = new cli_table3_1.default({
64
+ head: [chalk_1.default.gray('Protocol'), chalk_1.default.gray('Value'), chalk_1.default.gray('Positions')],
65
+ style: { head: [], border: ['gray'] },
66
+ colWidths: [20, 18, 12],
67
+ });
68
+ if (portfolio.protocols.hyperliquid.totalEquity > 0 || portfolio.protocols.hyperliquid.totalPositions > 0) {
69
+ protocolTable.push([
70
+ ui_1.colors.evm('Hyperliquid'),
71
+ (0, ui_1.formatUsd)(portfolio.protocols.hyperliquid.totalEquity),
72
+ portfolio.protocols.hyperliquid.totalPositions.toString(),
73
+ ]);
74
+ }
75
+ if (portfolio.protocols.polymarket.totalValue > 0 || portfolio.protocols.polymarket.totalPositions > 0) {
76
+ protocolTable.push([
77
+ ui_1.colors.secondary('Polymarket'),
78
+ (0, ui_1.formatUsd)(portfolio.protocols.polymarket.totalValue),
79
+ portfolio.protocols.polymarket.totalPositions.toString(),
80
+ ]);
81
+ }
82
+ if (portfolio.protocols.kamino.netValueUsd > 0 || portfolio.protocols.kamino.positions.length > 0) {
83
+ protocolTable.push([
84
+ ui_1.colors.sol('Kamino'),
85
+ (0, ui_1.formatUsd)(portfolio.protocols.kamino.netValueUsd),
86
+ portfolio.protocols.kamino.positions.length.toString(),
87
+ ]);
88
+ }
89
+ if (portfolio.protocols.meteora.totalEquity > 0 || portfolio.protocols.meteora.totalPositions > 0) {
90
+ protocolTable.push([
91
+ ui_1.colors.sol('Meteora'),
92
+ (0, ui_1.formatUsd)(portfolio.protocols.meteora.totalEquity),
93
+ portfolio.protocols.meteora.totalPositions.toString(),
94
+ ]);
95
+ }
96
+ if (protocolTable.length > 0) {
97
+ console.log(protocolTable.toString());
98
+ console.log();
99
+ }
100
+ (0, ui_1.divider)();
101
+ // === Spot Balances Section ===
102
+ const balanceTable = new cli_table3_1.default({
103
+ head: [chalk_1.default.gray('Asset'), chalk_1.default.gray('Balance'), chalk_1.default.gray('Chain')],
104
+ style: { head: [], border: ['gray'] },
105
+ colWidths: [46, 24, 16],
106
+ });
107
+ let hasBalances = false;
108
+ // SOL native balance
109
+ if (shouldShowBalance(portfolio.balances.solana.nativeBalance, showAllBalances, portfolio.balances.solana.nativeValueUsd)) {
110
+ balanceTable.push([
111
+ ui_1.colors.sol('SOL'),
112
+ chalk_1.default.bold(`${portfolio.balances.solana.nativeBalance.toFixed(4)}${formatUsdSuffix(portfolio.balances.solana.nativeValueUsd)}`),
113
+ ui_1.colors.muted('(Solana)'),
114
+ ]);
115
+ hasBalances = true;
116
+ }
117
+ // All SPL tokens (dynamic)
118
+ for (const token of portfolio.balances.solana.tokenBalances) {
119
+ if (!shouldShowBalance(token.balance, showAllBalances, token.valueUsd))
120
+ continue;
121
+ const symbol = getTokenSymbol(token.token);
122
+ balanceTable.push([
123
+ chalk_1.default.white(symbol),
124
+ chalk_1.default.bold(`${token.balance.toFixed(2)}${formatUsdSuffix(token.valueUsd)}`),
125
+ ui_1.colors.muted('(Solana)'),
126
+ ]);
127
+ hasBalances = true;
128
+ }
129
+ // Hyperliquid spot balances
130
+ for (const spot of portfolio.protocols.hyperliquid.spotBalances || []) {
131
+ if (!shouldShowBalance(spot.balance, showAllBalances, spot.valueUsd))
132
+ continue;
133
+ balanceTable.push([
134
+ chalk_1.default.green(spot.token),
135
+ chalk_1.default.bold(`${spot.balance.toFixed(2)}${formatUsdSuffix(spot.valueUsd)}`),
136
+ ui_1.colors.muted('(Hyperliquid)'),
137
+ ]);
138
+ hasBalances = true;
139
+ }
140
+ // EVM chain balances (native + ERC-20)
141
+ const evmChains = [
142
+ { key: 'ethereum', display: 'Ethereum', color: chalk_1.default.blue },
143
+ { key: 'arbitrum', display: 'Arbitrum', color: chalk_1.default.cyan },
144
+ { key: 'polygon', display: 'Polygon', color: chalk_1.default.magenta },
145
+ { key: 'base', display: 'Base', color: chalk_1.default.blueBright },
146
+ { key: 'optimism', display: 'Optimism', color: chalk_1.default.red },
147
+ ];
148
+ for (const { key, display, color } of evmChains) {
149
+ const chainData = portfolio.balances.evm[key];
150
+ if (!chainData)
151
+ continue;
152
+ const nativeBalance = Number.parseFloat(chainData.nativeBalance);
153
+ if (shouldShowBalance(nativeBalance, showAllBalances, chainData.nativeValueUsd)) {
154
+ balanceTable.push([
155
+ color(chainData.nativeAsset),
156
+ chalk_1.default.bold(`${nativeBalance.toFixed(4)}${formatUsdSuffix(chainData.nativeValueUsd)}`),
157
+ ui_1.colors.muted(`(${display})`),
158
+ ]);
159
+ hasBalances = true;
160
+ }
161
+ for (const token of chainData.tokenBalances) {
162
+ const tokenBalance = Number.parseFloat(token.balance);
163
+ if (!shouldShowBalance(tokenBalance, showAllBalances, token.valueUsd))
164
+ continue;
165
+ balanceTable.push([
166
+ chalk_1.default.white(token.symbol || 'UNKNOWN'),
167
+ chalk_1.default.bold(`${tokenBalance.toFixed(2)}${formatUsdSuffix(token.valueUsd)}`),
168
+ ui_1.colors.muted(`(${display})`),
169
+ ]);
170
+ hasBalances = true;
171
+ }
172
+ }
173
+ if (hasBalances) {
174
+ console.log(balanceTable.toString());
175
+ }
176
+ else {
177
+ (0, ui_1.info)('No spot balances found.');
178
+ }
179
+ if (portfolio.balances.evm.errors && Object.keys(portfolio.balances.evm.errors).length > 0) {
180
+ console.log();
181
+ (0, ui_1.warn)('Some EVM chains failed to load:');
182
+ for (const [chain, errorMsg] of Object.entries(portfolio.balances.evm.errors)) {
183
+ console.log(` ${chalk_1.default.gray('•')} ${chain}: ${chalk_1.default.red(errorMsg)}`);
184
+ }
185
+ }
186
+ // === Hyperliquid Overview ===
187
+ console.log();
188
+ console.log(ui_1.colors.evm.bold(' Hyperliquid'));
189
+ const marketMakers = portfolio.protocols.hyperliquid.marketMakers;
190
+ // Market Maker Summary Table
191
+ const mmEntries = [
192
+ ['main', marketMakers.main],
193
+ ['xyz', marketMakers.xyz],
194
+ ['flx', marketMakers.flx],
195
+ ['vntl', marketMakers.vntl],
196
+ ['hyna', marketMakers.hyna],
197
+ ['km', marketMakers.km],
198
+ ['cash', marketMakers.cash],
199
+ ];
200
+ const mmSummaryTable = new cli_table3_1.default({
201
+ head: [
202
+ chalk_1.default.gray('Market Maker'),
203
+ chalk_1.default.gray('Equity'),
204
+ chalk_1.default.gray('Available'),
205
+ chalk_1.default.gray('Positions'),
206
+ ],
207
+ style: { head: [], border: ['gray'] },
208
+ });
209
+ let hasActiveMarketMakers = false;
210
+ for (const [mm, data] of mmEntries) {
211
+ if (data && (data.equity > 0 || data.positions.length > 0)) {
212
+ mmSummaryTable.push([
213
+ mm === 'main' ? chalk_1.default.white(mm) : chalk_1.default.cyan(mm),
214
+ (0, ui_1.formatUsd)(data.equity),
215
+ (0, ui_1.formatUsd)(data.availableBalance),
216
+ data.positions.length.toString(),
217
+ ]);
218
+ hasActiveMarketMakers = true;
219
+ }
220
+ }
221
+ if (hasActiveMarketMakers) {
222
+ console.log(mmSummaryTable.toString());
223
+ }
224
+ // Aggregate all positions
225
+ const allHlPositions = [];
226
+ for (const [mm, data] of mmEntries) {
227
+ if (data?.positions) {
228
+ for (const posWrapper of data.positions) {
229
+ allHlPositions.push({ ...posWrapper.position, marketMaker: mm });
230
+ }
231
+ }
232
+ }
233
+ // Positions Detail Table
234
+ if (allHlPositions.length > 0) {
235
+ console.log();
236
+ console.log(ui_1.colors.muted(' Open Positions:'));
237
+ const hlTable = new cli_table3_1.default({
238
+ head: [
239
+ chalk_1.default.gray('Market'),
240
+ chalk_1.default.gray('Side'),
241
+ chalk_1.default.gray('Size'),
242
+ chalk_1.default.gray('Entry'),
243
+ chalk_1.default.gray('Value'),
244
+ chalk_1.default.gray('PnL'),
245
+ chalk_1.default.gray('MM'),
246
+ ],
247
+ style: { head: [], border: ['gray'] },
248
+ });
249
+ for (const pos of allHlPositions) {
250
+ const pnl = parseFloat(pos.unrealizedPnl || '0');
251
+ const size = parseFloat(pos.szi || '0');
252
+ hlTable.push([
253
+ pos.coin || 'N/A',
254
+ size > 0 ? chalk_1.default.green('LONG') : chalk_1.default.red('SHORT'),
255
+ Math.abs(size).toFixed(4),
256
+ (0, ui_1.formatUsd)(parseFloat(pos.entryPx || '0')),
257
+ (0, ui_1.formatUsd)(parseFloat(pos.positionValue || '0')),
258
+ pnl >= 0
259
+ ? chalk_1.default.green(`+$${pnl.toFixed(2)}`)
260
+ : chalk_1.default.red(`-$${Math.abs(pnl).toFixed(2)}`),
261
+ ui_1.colors.muted(pos.marketMaker),
262
+ ]);
263
+ }
264
+ console.log(hlTable.toString());
265
+ // Show aggregate P&L
266
+ const totalPnl = allHlPositions.reduce((sum, pos) => sum + parseFloat(pos.unrealizedPnl || '0'), 0);
267
+ (0, ui_1.info)(` Total: ${(0, ui_1.formatUsd)(portfolio.protocols.hyperliquid.totalEquity)} | ` +
268
+ `Unrealized P&L: ${totalPnl >= 0
269
+ ? chalk_1.default.green(`+${(0, ui_1.formatUsd)(totalPnl)}`)
270
+ : chalk_1.default.red(`-${(0, ui_1.formatUsd)(Math.abs(totalPnl))}`)}`);
271
+ }
272
+ else {
273
+ console.log();
274
+ (0, ui_1.info)(' No open positions.');
275
+ }
276
+ // === Polymarket Positions ===
277
+ console.log();
278
+ console.log(ui_1.colors.secondary.bold(' Polymarket Positions'));
279
+ if (portfolio.protocols.polymarket.totalPositions > 0) {
280
+ const pmTable = new cli_table3_1.default({
281
+ head: [
282
+ chalk_1.default.gray('Market'),
283
+ chalk_1.default.gray('Outcome'),
284
+ chalk_1.default.gray('Size'),
285
+ chalk_1.default.gray('Avg'),
286
+ chalk_1.default.gray('Cur'),
287
+ chalk_1.default.gray('P&L'),
288
+ ],
289
+ style: { head: [], border: ['gray'] },
290
+ });
291
+ for (const pos of portfolio.protocols.polymarket.positions) {
292
+ const pnl = pos.cashPnl;
293
+ pmTable.push([
294
+ pos.title,
295
+ pos.outcome === 'Yes' ? chalk_1.default.green('Yes') : chalk_1.default.red('No'),
296
+ pos.size.toFixed(0),
297
+ (0, ui_1.formatUsd)(pos.avgPrice),
298
+ (0, ui_1.formatUsd)(pos.curPrice),
299
+ pnl >= 0
300
+ ? chalk_1.default.green(`+${(0, ui_1.formatUsd)(pnl)}`)
301
+ : chalk_1.default.red(`-${(0, ui_1.formatUsd)(Math.abs(pnl))}`),
302
+ ]);
303
+ }
304
+ console.log(pmTable.toString());
305
+ const totalPnl = portfolio.protocols.polymarket.totalPnl;
306
+ (0, ui_1.info)(` Total: ${(0, ui_1.formatUsd)(portfolio.protocols.polymarket.totalValue)} | ` +
307
+ `P&L: ${totalPnl >= 0
308
+ ? chalk_1.default.green(`+${(0, ui_1.formatUsd)(totalPnl)}`)
309
+ : chalk_1.default.red(`-${(0, ui_1.formatUsd)(Math.abs(totalPnl))}`)}`);
310
+ }
311
+ else {
312
+ (0, ui_1.info)(' No Polymarket positions.');
313
+ }
314
+ // === Kamino Lending ===
315
+ console.log();
316
+ console.log(ui_1.colors.sol.bold(' Kamino Lending'));
317
+ if (portfolio.protocols.kamino.positions.length > 0) {
318
+ const kaminoTable = new cli_table3_1.default({
319
+ head: [
320
+ chalk_1.default.gray('Type'),
321
+ chalk_1.default.gray('Asset'),
322
+ chalk_1.default.gray('Amount'),
323
+ chalk_1.default.gray('USD Value'),
324
+ ],
325
+ style: { head: [], border: ['gray'] },
326
+ });
327
+ for (const pos of portfolio.protocols.kamino.positions) {
328
+ kaminoTable.push([
329
+ pos.type === 'deposit' ? chalk_1.default.green('Deposit') : chalk_1.default.yellow('Borrow'),
330
+ pos.symbol,
331
+ parseFloat(pos.amount).toFixed(4),
332
+ (0, ui_1.formatUsd)(parseFloat(pos.amountUsd)),
333
+ ]);
334
+ }
335
+ console.log(kaminoTable.toString());
336
+ (0, ui_1.info)(` Deposits: ${(0, ui_1.formatUsd)(portfolio.protocols.kamino.totalDepositsUsd)} | ` +
337
+ `Borrows: ${(0, ui_1.formatUsd)(portfolio.protocols.kamino.totalBorrowsUsd)} | ` +
338
+ `Net: ${(0, ui_1.formatUsd)(portfolio.protocols.kamino.netValueUsd)}`);
339
+ }
340
+ else {
341
+ (0, ui_1.info)(' No Kamino positions.');
342
+ }
343
+ // === Meteora LP ===
344
+ console.log();
345
+ console.log(ui_1.colors.sol.bold(' Meteora LP Positions'));
346
+ if (portfolio.protocols.meteora.totalPositions > 0) {
347
+ const metTable = new cli_table3_1.default({
348
+ head: [
349
+ chalk_1.default.gray('Pool'),
350
+ chalk_1.default.gray('Token X'),
351
+ chalk_1.default.gray('Token Y'),
352
+ chalk_1.default.gray('USD Value'),
353
+ ],
354
+ style: { head: [], border: ['gray'] },
355
+ });
356
+ for (const pool of portfolio.protocols.meteora.positions || []) {
357
+ const shortPool = pool.poolAddress.slice(0, 4) + '…' + pool.poolAddress.slice(-4);
358
+ pool.positions.forEach((pos, idx) => {
359
+ const xAmt = parseFloat(pos.totalXAmount || '0');
360
+ const yAmt = parseFloat(pos.totalYAmount || '0');
361
+ metTable.push([
362
+ shortPool,
363
+ chalk_1.default.bold(xAmt.toFixed(4)),
364
+ chalk_1.default.bold(yAmt.toFixed(2)),
365
+ // Only show USD value for the first position in the pool
366
+ idx === 0 ? chalk_1.default.green((0, ui_1.formatUsd)(pool.estimatedValueUsd)) : '',
367
+ ]);
368
+ });
369
+ }
370
+ console.log(metTable.toString());
371
+ (0, ui_1.info)(` Total Value: ${(0, ui_1.formatUsd)(portfolio.protocols.meteora.totalEquity)}`);
372
+ }
373
+ else {
374
+ (0, ui_1.info)(' No Meteora positions.');
375
+ }
376
+ console.log();
377
+ (0, ui_1.divider)();
378
+ }
29
379
  function registerPortfolioCommand(program) {
30
380
  program
31
381
  .command('portfolio')
32
382
  .description('View your complete portfolio — balances, positions, P&L across all protocols')
33
383
  .option('--json', 'Output as JSON')
384
+ .option('--all-balances', 'Show low/dust spot balances (default hides tiny balances)')
34
385
  .action(async (opts) => {
35
386
  if (!(0, ui_1.requireAuth)())
36
387
  return;
37
388
  const jsonMode = opts?.json || false;
389
+ const showAllBalances = opts?.allBalances || false;
38
390
  const account = (0, config_1.getActiveAccount)();
39
391
  if (!account) {
40
392
  const msg = 'No active account.';
@@ -69,295 +421,13 @@ function registerPortfolioCommand(program) {
69
421
  (0, tty_1.outputJson)({ success: true, data: portfolio });
70
422
  return;
71
423
  }
72
- // Display portfolio
73
- (0, ui_1.header)('Portfolio');
74
- console.log();
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
- }
156
- }
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({
178
- head: [
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'),
183
- ],
184
- style: { head: [], border: ['gray'] },
185
- });
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
- }
197
- }
198
- if (hasActiveMarketMakers) {
199
- console.log(mmSummaryTable.toString());
200
- }
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 });
207
- }
208
- }
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
- ]);
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))}`)}`);
248
- }
249
- else {
250
- console.log();
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
- ]);
280
- }
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
- ]);
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.');
352
- }
424
+ renderPortfolioDisplay(portfolio, { showAllBalances });
353
425
  }
354
426
  catch (err) {
355
427
  spinner?.stop();
356
428
  const errorMessage = err instanceof Error ? err.message : 'Unknown error';
357
429
  (0, ui_1.error)(`Failed to load portfolio: ${errorMessage}`);
358
430
  }
359
- console.log();
360
- (0, ui_1.divider)();
361
431
  });
362
432
  }
363
433
  //# sourceMappingURL=portfolio.js.map
@@ -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":"transactions.d.ts","sourceRoot":"","sources":["../../src/commands/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8KlE"}
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../src/commands/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgNlE"}
@@ -19,6 +19,7 @@ function registerTransactionsCommand(program) {
19
19
  .option('--type <type>', 'Filter by type (order|cancel|transfer|swap|bridge|liquidity)')
20
20
  .option('--protocol <name>', 'Filter by protocol')
21
21
  .option('--agent <id>', 'Filter by agent ID')
22
+ .option('--cursor <id>', 'Pagination cursor (from previous page)')
22
23
  .option('--json', 'Output as JSON')
23
24
  .action(async (opts) => {
24
25
  if (!(0, ui_1.requireAuth)())
@@ -34,6 +35,8 @@ function registerTransactionsCommand(program) {
34
35
  path += `&txType=${opts.type}`;
35
36
  if (opts.protocol)
36
37
  path += `&protocol=${opts.protocol}`;
38
+ if (opts.cursor)
39
+ path += `&cursor=${opts.cursor}`;
37
40
  }
38
41
  else {
39
42
  // All transactions via portfolio endpoint
@@ -42,9 +45,24 @@ function registerTransactionsCommand(program) {
42
45
  path += `&txType=${opts.type}`;
43
46
  if (opts.protocol)
44
47
  path += `&protocol=${opts.protocol}`;
48
+ if (opts.cursor)
49
+ path += `&cursor=${opts.cursor}`;
45
50
  }
46
51
  const resp = await (0, api_1.get)(path);
47
52
  if (!resp.ok) {
53
+ // Treat 404 as empty result (agent exists but has no transactions, or agent not found)
54
+ if (resp.status === 404) {
55
+ spinner?.stop();
56
+ if (jsonMode) {
57
+ (0, tty_1.outputJson)({ success: true, data: { transactions: [], count: 0, nextCursor: null, hasNextPage: false } });
58
+ }
59
+ else {
60
+ (0, ui_1.header)('Transactions');
61
+ console.log();
62
+ (0, ui_1.info)('No transactions found.');
63
+ }
64
+ return;
65
+ }
48
66
  spinner?.fail();
49
67
  const msg = `Failed to load transactions: ${resp.data?.error || 'Unknown error'}`;
50
68
  if (jsonMode) {
@@ -58,7 +76,19 @@ function registerTransactionsCommand(program) {
58
76
  spinner?.stop();
59
77
  const txns = resp.data.transactions || [];
60
78
  if (jsonMode) {
61
- (0, tty_1.outputJson)({ success: true, data: { transactions: txns, count: txns.length } });
79
+ const txnsWithBy = txns.map((tx) => ({
80
+ ...tx,
81
+ by: tx.agentId || null,
82
+ }));
83
+ (0, tty_1.outputJson)({
84
+ success: true,
85
+ data: {
86
+ transactions: txnsWithBy,
87
+ count: txnsWithBy.length,
88
+ nextCursor: resp.data.nextCursor || null,
89
+ hasNextPage: resp.data.hasNextPage || false,
90
+ },
91
+ });
62
92
  return;
63
93
  }
64
94
  if (txns.length === 0) {
@@ -78,9 +108,10 @@ function registerTransactionsCommand(program) {
78
108
  chalk_1.default.gray('Asset'),
79
109
  chalk_1.default.gray('Size'),
80
110
  chalk_1.default.gray('TX'),
111
+ chalk_1.default.gray('By'),
81
112
  ],
82
113
  style: { head: [], border: ['gray'] },
83
- colWidths: [14, 14, 20, 10, 10, 12, 12],
114
+ colWidths: [14, 14, 20, 10, 10, 12, 12, 16],
84
115
  });
85
116
  for (const tx of txns) {
86
117
  const time = new Date(tx.createdAt).toLocaleTimeString();
@@ -91,6 +122,11 @@ function registerTransactionsCommand(program) {
91
122
  : tx.amountIn
92
123
  ? parseFloat(tx.amountIn).toFixed(4)
93
124
  : '—';
125
+ const byLabel = tx.agentTitle
126
+ ? tx.agentTitle
127
+ : tx.agentId
128
+ ? tx.agentId.slice(0, 8)
129
+ : '\u{1F464} Manual';
94
130
  table.push([
95
131
  ui_1.colors.muted(time),
96
132
  tx.protocol || '—',
@@ -99,11 +135,12 @@ function registerTransactionsCommand(program) {
99
135
  tx.asset || tx.tokenIn || '—',
100
136
  sizeStr,
101
137
  txHash,
138
+ byLabel,
102
139
  ]);
103
140
  }
104
141
  console.log(table.toString());
105
- if (resp.data.hasNextPage) {
106
- (0, ui_1.info)(`More transactions available. Increase --limit to see more.`);
142
+ if (resp.data.hasNextPage && resp.data.nextCursor) {
143
+ (0, ui_1.info)(`More transactions available. Use --cursor ${resp.data.nextCursor} to see the next page.`);
107
144
  }
108
145
  });
109
146
  // Transaction confirmation (can be used as post-hook)
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../src/commands/transactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../src/commands/transactions.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,8 @@ export interface TokenBalance {
34
34
  balance: number;
35
35
  rawBalance: string;
36
36
  mint?: string;
37
+ priceUsd?: number | null;
38
+ valueUsd?: number | null;
37
39
  }
38
40
  export interface HyperliquidBreakdown {
39
41
  totalEquity: number;
@@ -52,7 +54,39 @@ export interface HyperliquidBreakdown {
52
54
  }
53
55
  export interface SolanaBreakdown {
54
56
  nativeBalance: number;
57
+ nativePriceUsd?: number | null;
58
+ nativeValueUsd?: number | null;
55
59
  tokenBalances: TokenBalance[];
60
+ totalValueUsd?: number;
61
+ }
62
+ export interface EvmTokenBalance {
63
+ contractAddress: string;
64
+ symbol: string;
65
+ name: string;
66
+ balance: string;
67
+ rawBalance: string;
68
+ decimals: number;
69
+ logo?: string | null;
70
+ priceUsd?: number | null;
71
+ valueUsd?: number | null;
72
+ priceLastUpdatedAt?: string | null;
73
+ }
74
+ export interface EvmChainBalances {
75
+ nativeBalance: string;
76
+ nativeAsset: string;
77
+ nativePriceUsd?: number | null;
78
+ nativeValueUsd?: number | null;
79
+ nativePriceLastUpdatedAt?: string | null;
80
+ tokenBalances: EvmTokenBalance[];
81
+ totalValueUsd?: number | null;
82
+ }
83
+ export interface EvmBreakdown {
84
+ ethereum: EvmChainBalances | null;
85
+ arbitrum: EvmChainBalances | null;
86
+ polygon: EvmChainBalances | null;
87
+ base: EvmChainBalances | null;
88
+ optimism: EvmChainBalances | null;
89
+ errors?: Record<string, string>;
56
90
  }
57
91
  export interface MeteoraPosition {
58
92
  publicKey: string;
@@ -112,7 +146,7 @@ export interface KaminoBreakdown {
112
146
  }
113
147
  export interface DetailedPortfolioSummary {
114
148
  totals: {
115
- totalEquity: number;
149
+ totalExposure: number;
116
150
  availableBalance: number;
117
151
  totalPositions: number;
118
152
  };
@@ -124,6 +158,7 @@ export interface DetailedPortfolioSummary {
124
158
  };
125
159
  balances: {
126
160
  solana: SolanaBreakdown;
161
+ evm: EvmBreakdown;
127
162
  };
128
163
  }
129
164
  //# sourceMappingURL=portfolio.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../src/types/portfolio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../src/types/portfolio.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "suzi-cli",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "Suzi CLI by SendAI",
5
5
  "main": "dist/index.js",
6
6
  "bin": {