suzi-cli 0.1.12 → 0.1.13

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 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA8B,MAAM,WAAW,CAAC;AAqChE,wBAAgB,qBAAqB,IAAI,MAAM,CAgC9C;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAOhD;AAkGD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgN5D"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA8B,MAAM,WAAW,CAAC;AAuChE,wBAAgB,qBAAqB,IAAI,MAAM,CAgC9C;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAOhD;AAkGD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0R5D"}
@@ -17,6 +17,8 @@ const ui_1 = require("../utils/ui");
17
17
  const suzi_guide_1 = require("../lib/suzi-guide");
18
18
  const config_1 = require("../lib/config");
19
19
  const api_1 = require("../lib/api");
20
+ const lock_manager_1 = require("../lib/lock-manager");
21
+ const package_json_1 = __importDefault(require("../../package.json"));
20
22
  const AGENT_TS_TEMPLATE = `export default defineAgent({
21
23
  meta: {
22
24
  name: 'My Agent',
@@ -152,11 +154,11 @@ function ensureAgentsFile(workingDir) {
152
154
  }
153
155
  function resolveProvider(explicitProvider) {
154
156
  if (explicitProvider)
155
- return AI_PROVIDERS[explicitProvider];
157
+ return { definition: AI_PROVIDERS[explicitProvider], type: explicitProvider };
156
158
  const configured = (0, config_1.getDefaultAi)();
157
159
  if (configured)
158
- return AI_PROVIDERS[configured];
159
- return AI_PROVIDERS.claude;
160
+ return { definition: AI_PROVIDERS[configured], type: configured };
161
+ return { definition: AI_PROVIDERS.claude, type: 'claude' };
160
162
  }
161
163
  function registerCreateCommand(program) {
162
164
  const create = program
@@ -206,162 +208,230 @@ function registerCreateCommand(program) {
206
208
  fetchedAgent = resp.data;
207
209
  spinner.succeed(`Fetched agent: ${chalk_1.default.bold(fetchedAgent.title || 'Untitled')}`);
208
210
  }
209
- let agentName;
210
- if (dir) {
211
- agentName = dir;
212
- }
213
- else if (fetchedAgent) {
214
- // Derive directory name from agent title
215
- const defaultName = (fetchedAgent.title || 'my-agent')
216
- .toLowerCase()
217
- .replace(/[^a-z0-9]+/g, '-')
218
- .replace(/^-|-$/g, '')
219
- || 'my-agent';
220
- const { name } = await inquirer_1.default.prompt([
221
- {
222
- type: 'input',
223
- name: 'name',
224
- message: 'Directory name:',
225
- default: defaultName,
226
- validate: (input) => {
227
- const trimmed = input.trim();
228
- if (!trimmed)
229
- return 'Name cannot be empty.';
230
- if (/[/\\]/.test(trimmed))
231
- return 'Name cannot contain slashes.';
232
- if (trimmed.length > 128)
233
- return 'Name cannot exceed 128 characters.';
234
- return true;
235
- },
236
- },
237
- ]);
238
- agentName = name.trim();
239
- }
240
- else {
241
- const { name } = await inquirer_1.default.prompt([
242
- {
243
- type: 'input',
244
- name: 'name',
245
- message: 'What would you like to name your agent?',
246
- default: 'my-agent',
247
- validate: (input) => {
248
- const trimmed = input.trim();
249
- if (!trimmed)
250
- return 'Agent name cannot be empty.';
251
- if (/[/\\]/.test(trimmed))
252
- return 'Agent name cannot contain slashes.';
253
- if (trimmed.length > 128)
254
- return 'Agent name is too long (max 128 characters).';
255
- return true;
211
+ let lockHandle = null;
212
+ try {
213
+ let agentName;
214
+ if (dir) {
215
+ agentName = dir;
216
+ }
217
+ else if (fetchedAgent) {
218
+ // Derive directory name from agent title
219
+ const defaultName = (fetchedAgent.title || 'my-agent')
220
+ .toLowerCase()
221
+ .replace(/[^a-z0-9]+/g, '-')
222
+ .replace(/^-|-$/g, '')
223
+ || 'my-agent';
224
+ const { name } = await inquirer_1.default.prompt([
225
+ {
226
+ type: 'input',
227
+ name: 'name',
228
+ message: 'Directory name:',
229
+ default: defaultName,
230
+ validate: (input) => {
231
+ const trimmed = input.trim();
232
+ if (!trimmed)
233
+ return 'Name cannot be empty.';
234
+ if (/[/\\]/.test(trimmed))
235
+ return 'Name cannot contain slashes.';
236
+ if (trimmed.length > 128)
237
+ return 'Name cannot exceed 128 characters.';
238
+ return true;
239
+ },
256
240
  },
257
- },
258
- ]);
259
- agentName = name.trim();
260
- }
261
- const workingDir = path_1.default.resolve(process.cwd(), agentName);
262
- const shouldScaffold = opts?.scaffold !== false;
263
- const provider = resolveProvider(opts?.ai);
264
- // Check that selected CLI is available
265
- if (!isCommandAvailable(provider.command)) {
266
- console.log();
267
- (0, ui_1.error)(`${provider.displayName} is required but not found in PATH.`);
268
- console.log();
269
- console.log(' Install one of the supported AI CLIs:');
270
- for (const line of getInstallHelpLines()) {
271
- console.log(line);
241
+ ]);
242
+ agentName = name.trim();
272
243
  }
273
- console.log();
274
- (0, ui_1.info)(`Selected provider docs: ${provider.docsUrl}`);
275
- return;
276
- }
277
- // Ensure working directory exists
278
- if (!fs_1.default.existsSync(workingDir)) {
279
- fs_1.default.mkdirSync(workingDir, { recursive: true });
280
- }
281
- ensureAgentsFile(workingDir);
282
- const agentPath = path_1.default.join(workingDir, 'agent.ts');
283
- const agentExists = fs_1.default.existsSync(agentPath);
284
- if (fetchedAgent) {
285
- // Confirm overwrite if agent.ts already exists
286
- if (agentExists) {
287
- const { overwrite } = await inquirer_1.default.prompt([
244
+ else {
245
+ const { name } = await inquirer_1.default.prompt([
288
246
  {
289
- type: 'confirm',
290
- name: 'overwrite',
291
- message: `agent.ts already exists in ${agentName}. Overwrite with fetched code?`,
292
- default: false,
247
+ type: 'input',
248
+ name: 'name',
249
+ message: 'What would you like to name your agent?',
250
+ default: 'my-agent',
251
+ validate: (input) => {
252
+ const trimmed = input.trim();
253
+ if (!trimmed)
254
+ return 'Agent name cannot be empty.';
255
+ if (/[/\\]/.test(trimmed))
256
+ return 'Agent name cannot contain slashes.';
257
+ if (trimmed.length > 128)
258
+ return 'Agent name is too long (max 128 characters).';
259
+ return true;
260
+ },
293
261
  },
294
262
  ]);
295
- if (!overwrite) {
296
- (0, ui_1.info)('Keeping existing agent.ts.');
263
+ agentName = name.trim();
264
+ }
265
+ const workingDir = path_1.default.resolve(process.cwd(), agentName);
266
+ const shouldScaffold = opts?.scaffold !== false;
267
+ const provider = resolveProvider(opts?.ai);
268
+ // Check that selected CLI is available
269
+ if (!isCommandAvailable(provider.definition.command)) {
270
+ console.log();
271
+ (0, ui_1.error)(`${provider.definition.displayName} is required but not found in PATH.`);
272
+ console.log();
273
+ console.log(' Install one of the supported AI CLIs:');
274
+ for (const line of getInstallHelpLines()) {
275
+ console.log(line);
276
+ }
277
+ console.log();
278
+ (0, ui_1.info)(`Selected provider docs: ${provider.definition.docsUrl}`);
279
+ return;
280
+ }
281
+ // Ensure working directory exists
282
+ if (!fs_1.default.existsSync(workingDir)) {
283
+ fs_1.default.mkdirSync(workingDir, { recursive: true });
284
+ }
285
+ ensureAgentsFile(workingDir);
286
+ // Acquire session lock to prevent concurrent edits
287
+ const lockResult = (0, lock_manager_1.acquireLock)(workingDir, provider.type, package_json_1.default.version);
288
+ if (!lockResult.ok) {
289
+ const lockError = lockResult.error;
290
+ if (lockError.type === 'held_by_other') {
291
+ console.log();
292
+ (0, ui_1.error)(`Another AI session is already running in ${chalk_1.default.bold(agentName)}.`, { setExitCode: false });
293
+ console.log();
294
+ console.log(` ${ui_1.colors.muted('Lock owner:')}`);
295
+ console.log(` ${ui_1.colors.muted('PID:')} ${lockError.metadata.pid}`);
296
+ console.log(` ${ui_1.colors.muted('Host:')} ${lockError.metadata.hostname}`);
297
+ console.log(` ${ui_1.colors.muted('AI:')} ${lockError.metadata.aiProvider}`);
298
+ console.log(` ${ui_1.colors.muted('Started:')} ${new Date(lockError.metadata.acquiredAt).toLocaleString()}`);
299
+ console.log();
300
+ (0, ui_1.info)('Wait for the other session to finish, or use a different directory.');
301
+ return;
302
+ }
303
+ if (lockError.type === 'corrupted_lock') {
304
+ console.log();
305
+ (0, ui_1.warn)('Found corrupted lock file - cleaning up...');
306
+ (0, lock_manager_1.handleCorruptedLock)(lockError.lockDir);
307
+ // Retry once
308
+ const retryResult = (0, lock_manager_1.acquireLock)(workingDir, provider.type, package_json_1.default.version);
309
+ if (!retryResult.ok) {
310
+ (0, ui_1.error)(`Failed to acquire lock: ${retryResult.error.type}`);
311
+ return;
312
+ }
313
+ lockHandle = retryResult.handle;
297
314
  }
298
315
  else {
299
- fs_1.default.writeFileSync(agentPath, fetchedAgent.source);
300
- (0, ui_1.success)(`Overwrote agent.ts with fetched source.`);
316
+ (0, ui_1.error)(`Failed to acquire session lock: ${lockError.type}`);
317
+ return;
301
318
  }
302
319
  }
303
320
  else {
304
- fs_1.default.writeFileSync(agentPath, fetchedAgent.source);
305
- (0, ui_1.success)(`Wrote agent source to ${path_1.default.relative(process.cwd(), agentPath)}`);
321
+ lockHandle = lockResult.handle;
306
322
  }
307
- (0, ui_1.info)(`Agent ID: ${fetchedAgent.id}`);
308
- }
309
- else if (shouldScaffold && !agentExists) {
310
- // Scaffold agent.ts template
311
- const displayName = agentName
312
- .replace(/[-_]+/g, ' ')
313
- .replace(/\b\w/g, (c) => c.toUpperCase());
314
- const template = AGENT_TS_TEMPLATE.replace("name: 'My Agent'", `name: '${displayName}'`);
315
- fs_1.default.writeFileSync(agentPath, template);
316
- (0, ui_1.success)(`Created agent.ts template at ${path_1.default.relative(process.cwd(), agentPath)}`);
317
- }
318
- else if (agentExists) {
319
- (0, ui_1.info)(`Using existing agent.ts at ${path_1.default.relative(process.cwd(), agentPath)}`);
320
- }
321
- console.log();
322
- (0, ui_1.divider)();
323
- console.log();
324
- console.log(` ${chalk_1.default.bold('Starting AI-assisted agent creation...')}`);
325
- console.log(` ${ui_1.colors.muted(`Working directory: ${workingDir}`)}`);
326
- console.log(` ${ui_1.colors.muted(`AI provider: ${provider.displayName}`)}`);
327
- console.log(` ${ui_1.colors.muted(`Type your agent idea and ${provider.displayName} will build it for you.`)}`);
328
- console.log(` ${ui_1.colors.muted('Press Ctrl+C to exit at any time.')}`);
329
- console.log();
330
- const args = provider.buildArgs();
331
- const childExitCode = await new Promise((resolve) => {
332
- let settled = false;
333
- const child = (0, child_process_1.spawn)(provider.command, args, {
334
- stdio: 'inherit',
335
- cwd: workingDir,
336
- env: { ...process.env },
337
- });
338
- child.on('error', (err) => {
339
- if (settled)
340
- return;
341
- settled = true;
342
- (0, ui_1.error)(`Failed to start ${provider.displayName}: ${err.message}`);
343
- resolve(1);
344
- });
345
- child.on('exit', (code) => {
346
- if (settled)
347
- return;
348
- settled = true;
349
- resolve(code ?? 0);
350
- });
351
- });
352
- console.log();
353
- if (fs_1.default.existsSync(agentPath)) {
323
+ (0, lock_manager_1.startHeartbeat)(lockHandle);
324
+ const agentPath = path_1.default.join(workingDir, 'agent.ts');
325
+ const agentExists = fs_1.default.existsSync(agentPath);
326
+ if (fetchedAgent) {
327
+ // Confirm overwrite if agent.ts already exists
328
+ if (agentExists) {
329
+ const { overwrite } = await inquirer_1.default.prompt([
330
+ {
331
+ type: 'confirm',
332
+ name: 'overwrite',
333
+ message: `agent.ts already exists in ${agentName}. Overwrite with fetched code?`,
334
+ default: false,
335
+ },
336
+ ]);
337
+ if (!overwrite) {
338
+ (0, ui_1.info)('Keeping existing agent.ts.');
339
+ }
340
+ else {
341
+ fs_1.default.writeFileSync(agentPath, fetchedAgent.source);
342
+ (0, ui_1.success)(`Overwrote agent.ts with fetched source.`);
343
+ }
344
+ }
345
+ else {
346
+ fs_1.default.writeFileSync(agentPath, fetchedAgent.source);
347
+ (0, ui_1.success)(`Wrote agent source to ${path_1.default.relative(process.cwd(), agentPath)}`);
348
+ }
349
+ (0, ui_1.info)(`Agent ID: ${fetchedAgent.id}`);
350
+ }
351
+ else if (shouldScaffold && !agentExists) {
352
+ // Scaffold agent.ts template
353
+ const displayName = agentName
354
+ .replace(/[-_]+/g, ' ')
355
+ .replace(/\b\w/g, (c) => c.toUpperCase());
356
+ const template = AGENT_TS_TEMPLATE.replace("name: 'My Agent'", `name: '${displayName}'`);
357
+ fs_1.default.writeFileSync(agentPath, template);
358
+ (0, ui_1.success)(`Created agent.ts template at ${path_1.default.relative(process.cwd(), agentPath)}`);
359
+ }
360
+ else if (agentExists) {
361
+ (0, ui_1.info)(`Using existing agent.ts at ${path_1.default.relative(process.cwd(), agentPath)}`);
362
+ }
363
+ console.log();
354
364
  (0, ui_1.divider)();
355
365
  console.log();
356
- console.log(chalk_1.default.bold(' Next steps:'));
366
+ console.log(` ${chalk_1.default.bold('Starting AI-assisted agent creation...')}`);
367
+ console.log(` ${ui_1.colors.muted(`Working directory: ${workingDir}`)}`);
368
+ console.log(` ${ui_1.colors.muted(`AI provider: ${provider.definition.displayName}`)}`);
369
+ console.log(` ${ui_1.colors.muted(`Type your agent idea and ${provider.definition.displayName} will build it for you.`)}`);
370
+ console.log(` ${ui_1.colors.muted('Press Ctrl+C to exit at any time.')}`);
357
371
  console.log();
358
- console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white(`suzi deploy ${path_1.default.relative(process.cwd(), agentPath)}`)}`);
359
- console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi agents activate <id>')}`);
360
- console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi agents execute <id>')}`);
372
+ const args = provider.definition.buildArgs();
373
+ const childExitCode = await new Promise((resolve) => {
374
+ let settled = false;
375
+ const cleanup = () => {
376
+ if (lockHandle && !lockHandle.released) {
377
+ (0, lock_manager_1.releaseLock)(lockHandle);
378
+ }
379
+ };
380
+ const onSignal = (signal) => {
381
+ if (settled)
382
+ return;
383
+ console.log();
384
+ (0, ui_1.info)(`Received ${signal} - cleaning up...`);
385
+ cleanup();
386
+ process.exit(signal === 'SIGINT' ? 130 : 143);
387
+ };
388
+ process.on('SIGINT', onSignal);
389
+ process.on('SIGTERM', onSignal);
390
+ const child = (0, child_process_1.spawn)(provider.definition.command, args, {
391
+ stdio: 'inherit',
392
+ cwd: workingDir,
393
+ env: { ...process.env },
394
+ });
395
+ child.on('error', (err) => {
396
+ if (settled)
397
+ return;
398
+ settled = true;
399
+ (0, ui_1.error)(`Failed to start ${provider.definition.displayName}: ${err.message}`);
400
+ cleanup();
401
+ process.removeListener('SIGINT', onSignal);
402
+ process.removeListener('SIGTERM', onSignal);
403
+ resolve(1);
404
+ });
405
+ child.on('exit', (code) => {
406
+ if (settled)
407
+ return;
408
+ settled = true;
409
+ cleanup();
410
+ process.removeListener('SIGINT', onSignal);
411
+ process.removeListener('SIGTERM', onSignal);
412
+ resolve(code ?? 0);
413
+ });
414
+ });
361
415
  console.log();
416
+ if (fs_1.default.existsSync(agentPath)) {
417
+ (0, ui_1.divider)();
418
+ console.log();
419
+ console.log(chalk_1.default.bold(' Next steps:'));
420
+ console.log();
421
+ console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white(`suzi deploy ${path_1.default.relative(process.cwd(), agentPath)}`)}`);
422
+ console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi agents activate <id>')}`);
423
+ console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi agents execute <id>')}`);
424
+ console.log();
425
+ }
426
+ if (childExitCode !== 0) {
427
+ process.exitCode = childExitCode;
428
+ }
362
429
  }
363
- if (childExitCode !== 0) {
364
- process.exitCode = childExitCode;
430
+ finally {
431
+ // Release lock on exit (if not already released by signal handler)
432
+ if (lockHandle && !lockHandle.released) {
433
+ (0, lock_manager_1.releaseLock)(lockHandle);
434
+ }
365
435
  }
366
436
  });
367
437
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqL3D"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkL3D"}
@@ -49,9 +49,6 @@ function registerLoginCommand(program) {
49
49
  (0, config_1.setWebUrl)(opts.webUrl);
50
50
  }
51
51
  const config = (0, config_1.getConfig)();
52
- (0, ui_1.info)(`API endpoint: ${config.apiUrl}`);
53
- (0, ui_1.info)(`Web app: ${config.webUrl}`);
54
- console.log();
55
52
  const port = await findFreePort(9876);
56
53
  const callbackUrl = `http://localhost:${port}/callback`;
57
54
  const spinner = (0, ora_1.default)('Waiting for browser authentication...').start();
@@ -262,7 +259,52 @@ function installSuziHooksGlobal() {
262
259
  (0, ui_1.warn)(`Could not install hooks: ${err?.message || 'Unknown error'}`);
263
260
  }
264
261
  }
262
+ async function displayWalletBalances(svmAddress, solBalance) {
263
+ (0, ui_1.divider)();
264
+ (0, ui_1.label)('SOL Balance', (0, ui_1.formatSol)(solBalance));
265
+ // Check for USDC too
266
+ try {
267
+ const usdcResp = await (0, api_1.post)('/api/actions/execute', {
268
+ name: 'solana.get_token_balance',
269
+ params: { address: svmAddress, token: 'USDC' },
270
+ });
271
+ if (usdcResp.ok && usdcResp.data?.result && usdcResp.data.result.balance > 0) {
272
+ (0, ui_1.label)('USDC Balance', (0, ui_1.formatUsd)(usdcResp.data.result.balance));
273
+ }
274
+ }
275
+ catch {
276
+ // Ignore token check errors
277
+ }
278
+ (0, ui_1.divider)();
279
+ console.log();
280
+ (0, ui_1.success)("You're all set!");
281
+ }
265
282
  async function onboardNewUser(svmAddress, evmAddress) {
283
+ // First, check if user already has balance
284
+ const spinner = (0, ora_1.default)('Checking wallet balance...').start();
285
+ let initialBalance = 0;
286
+ try {
287
+ const resp = await (0, api_1.post)('/api/actions/execute', {
288
+ name: 'solana.get_native_balance',
289
+ params: { address: svmAddress },
290
+ });
291
+ if (resp.ok && resp.data?.result) {
292
+ initialBalance = resp.data.result.balance;
293
+ }
294
+ }
295
+ catch {
296
+ // Network error — continue with onboarding
297
+ }
298
+ // If user already has balance, skip QR code display entirely
299
+ if (initialBalance > 0) {
300
+ spinner.succeed('Wallet already funded!');
301
+ console.log();
302
+ await displayWalletBalances(svmAddress, initialBalance);
303
+ return;
304
+ }
305
+ // User has no balance — show QR codes and start polling
306
+ spinner.stop();
307
+ console.log();
266
308
  console.log(ui_1.colors.primary.bold(' Fund your wallet to get started'));
267
309
  console.log();
268
310
  const heads = [ui_1.colors.sol('SOL')];
@@ -282,7 +324,7 @@ async function onboardNewUser(svmAddress, evmAddress) {
282
324
  table.push(qrCodes.map((qr) => qr.trim()));
283
325
  console.log(table.toString());
284
326
  console.log();
285
- const spinner = (0, ora_1.default)({
327
+ const pollSpinner = (0, ora_1.default)({
286
328
  text: 'Waiting for deposit... (Ctrl+C to skip)',
287
329
  spinner: 'dots',
288
330
  }).start();
@@ -292,7 +334,7 @@ async function onboardNewUser(svmAddress, evmAddress) {
292
334
  let skipRequested = false;
293
335
  const onExit = () => {
294
336
  skipRequested = true;
295
- spinner.stop();
337
+ pollSpinner.stop();
296
338
  console.log();
297
339
  (0, ui_1.info)('Skipped deposit check.');
298
340
  };
@@ -318,26 +360,9 @@ async function onboardNewUser(svmAddress, evmAddress) {
318
360
  }
319
361
  }
320
362
  if (!skipRequested) {
321
- spinner.succeed('Deposit received!');
322
- console.log();
323
- (0, ui_1.divider)();
324
- (0, ui_1.label)('SOL Balance', (0, ui_1.formatSol)(balance));
325
- // Check for USDC too
326
- try {
327
- const usdcResp = await (0, api_1.post)('/api/actions/execute', {
328
- name: 'solana.get_token_balance',
329
- params: { address: svmAddress, token: 'USDC' },
330
- });
331
- if (usdcResp.ok && usdcResp.data?.result && usdcResp.data.result.balance > 0) {
332
- (0, ui_1.label)('USDC Balance', `${usdcResp.data.result.balance.toFixed(2)} USDC`);
333
- }
334
- }
335
- catch {
336
- // Ignore token check errors
337
- }
338
- (0, ui_1.divider)();
363
+ pollSpinner.succeed('Deposit received!');
339
364
  console.log();
340
- (0, ui_1.success)("You're all set!");
365
+ await displayWalletBalances(svmAddress, balance);
341
366
  }
342
367
  }
343
368
  finally {