@tempoxyz/mercator 0.0.187 → 0.0.190

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/index.js CHANGED
@@ -1,17 +1,18 @@
1
1
  import { Cli, z } from 'incur';
2
2
  import packageMetadata from '../package.json' with { type: 'json' };
3
3
  import { installCodexAgents, removeCodexAgents } from './agents.js';
4
- import { selectClients } from './client-selection.js';
5
- import { CLIENT_IDS, Client, configurationState, installedClients, mergeConfigFile, removalPlan, removeConfigFile, setupPlan, } from './clients.js';
4
+ import { CLIENT_IDS, Client, clientLabel, configurationState, installedClients, mergeConfigFile, removalPlan, removeConfigFile, setupPlan, } from './clients.js';
6
5
  import { inspectCodexPlugin, installCodexPlugin, removeCodexPlugin, } from './codex-plugin.js';
7
6
  import { runInteractiveCommand } from './command.js';
8
7
  import { diagnose } from './doctor.js';
9
8
  import { setupNativePayments } from './native-payments.js';
9
+ import { confirmSetup } from './setup-confirmation.js';
10
10
  import { startTerminalSetupProgress } from './setup-progress.js';
11
11
  import { submitPaidJob } from './submit.js';
12
12
  import { inspectWallet, openFundingPage, setupWallet, WalletRequiredError, } from './wallet.js';
13
13
  const DEFAULT_ENDPOINT = 'https://mercator.tempo.xyz/mcp';
14
14
  const defaultDependencies = {
15
+ confirmSetup,
15
16
  configurationState,
16
17
  diagnose,
17
18
  inspectCodexPlugin,
@@ -25,14 +26,12 @@ const defaultDependencies = {
25
26
  removeConfigFile,
26
27
  openFundingPage,
27
28
  runCommand: runInteractiveCommand,
28
- selectClients,
29
29
  setupNativePayments,
30
30
  startSetupProgress: startTerminalSetupProgress,
31
31
  submitPaidJob,
32
32
  setupWallet,
33
33
  };
34
34
  const setupOptions = z.object({
35
- all: z.boolean().default(false).describe('Configure every detected client'),
36
35
  agents: z
37
36
  .boolean()
38
37
  .default(true)
@@ -52,6 +51,7 @@ const setupOptions = z.object({
52
51
  .default(false)
53
52
  .describe('Remove managed Codex guidance without running setup'),
54
53
  url: z.url().default(DEFAULT_ENDPOINT).describe('Mercator MCP endpoint'),
54
+ yes: z.boolean().default(false).describe('Apply setup without confirmation'),
55
55
  });
56
56
  const submitOptions = z.object({
57
57
  body: z.string().describe('JSON job body returned by create_job'),
@@ -75,7 +75,7 @@ export function createMercatorCli(overrides = {}) {
75
75
  code: 'SETUP_INCOMPLETE',
76
76
  exitCode: 1,
77
77
  message: context.agent
78
- ? `Mercator setup completed, but readiness checks failed: ${JSON.stringify(result)}`
78
+ ? `Mercator setup needs attention: ${JSON.stringify(result)}`
79
79
  : formatSetupResult(result),
80
80
  });
81
81
  }
@@ -227,7 +227,6 @@ export async function run(argv, overrides = {}) {
227
227
  let frameworkOutput = '';
228
228
  const setupFlags = new Set([
229
229
  '--agents',
230
- '--all',
231
230
  '--client',
232
231
  '--dry-run',
233
232
  '--force',
@@ -236,6 +235,7 @@ export async function run(argv, overrides = {}) {
236
235
  '--plugin',
237
236
  '--remove-agents',
238
237
  '--url',
238
+ '--yes',
239
239
  ]);
240
240
  const normalizedArgv = argv[0] && setupFlags.has(argv[0]) ? ['setup', ...argv] : argv;
241
241
  await createMercatorCli(overrides).serve(normalizedArgv, {
@@ -260,9 +260,6 @@ async function setup(options, dependencies, progress) {
260
260
  if (options.removeAgents && !options.agents) {
261
261
  throw new Error('--remove-agents and --no-agents cannot be used together');
262
262
  }
263
- if (options.all && options.client.length > 0) {
264
- throw new Error('--all and --client cannot be used together');
265
- }
266
263
  if (options.force && options.removeAgents) {
267
264
  throw new Error('--force and --remove-agents cannot be used together');
268
265
  }
@@ -288,31 +285,28 @@ async function setup(options, dependencies, progress) {
288
285
  else {
289
286
  progress?.report(`Detected clients: ${clients.join(', ')}.`);
290
287
  }
291
- if (clients.length > 1 && !options.all) {
292
- let reusingConfiguredClients = false;
293
- if (!options.dryRun) {
294
- progress?.report('Checking existing MCP registrations...');
295
- await Promise.all(clients.map(async (client) => {
296
- const state = await dependencies.configurationState(setupPlan(client, options.url));
297
- detectedStates.set(client, state);
298
- }));
299
- const configured = clients.filter((client) => detectedStates.get(client) === 'current');
300
- if (configured.length > 0) {
301
- clients = configured;
302
- reusingConfiguredClients = true;
303
- }
304
- }
305
- if (clients.length > 1 && !reusingConfiguredClients) {
306
- progress?.report('Waiting for client selection...');
307
- clients = progress
308
- ? await dependencies.selectClients(clients, { globe: progress.globe })
309
- : await dependencies.selectClients(clients);
310
- }
311
- }
312
288
  }
313
289
  if (clients.length === 0 && !options.plugin) {
314
290
  throw new Error('No supported agent CLI detected and local plugin installation is disabled. Install a supported agent CLI or rerun without --no-plugin.');
315
291
  }
292
+ const uncheckedClients = clients.filter((client) => !detectedStates.has(client));
293
+ if (uncheckedClients.length > 0) {
294
+ progress?.report('Checking existing MCP registrations...');
295
+ await Promise.all(uncheckedClients.map(async (client) => {
296
+ detectedStates.set(client, await dependencies.configurationState(setupPlan(client, options.url)));
297
+ }));
298
+ }
299
+ const conflictingClient = clients.find((client) => detectedStates.get(client) === 'different');
300
+ if (conflictingClient && !options.dryRun && !options.force) {
301
+ const plan = setupPlan(conflictingClient, options.url);
302
+ throw new Error(`${conflictingClient}: Mercator is already configured differently. ${plan.undo}, then run this command again.`);
303
+ }
304
+ if (!options.dryRun && !options.yes) {
305
+ const confirmed = await dependencies.confirmSetup(setupConfirmationActions(clients, options), progress ? { globe: progress.globe } : undefined);
306
+ if (!confirmed) {
307
+ return { cancelled: true, clients: [], dryRun: false, ready: true };
308
+ }
309
+ }
316
310
  if (options.plugin) {
317
311
  progress?.report('Bootstrapping the local desktop plugin...');
318
312
  plugin = await dependencies.installCodexPlugin({
@@ -322,6 +316,21 @@ async function setup(options, dependencies, progress) {
322
316
  }
323
317
  for (const client of clients) {
324
318
  const plan = setupPlan(client, options.url);
319
+ const state = detectedStates.get(client);
320
+ if (state === undefined)
321
+ throw new Error(`${client}: MCP state was not inspected.`);
322
+ if (state === 'current' && !options.force) {
323
+ clientResults.push({ client, status: 'already_configured' });
324
+ continue;
325
+ }
326
+ if (state === 'different' && !options.force) {
327
+ clientResults.push({
328
+ action: `${plan.undo}, then run setup again, or use --force`,
329
+ client,
330
+ status: 'conflict',
331
+ });
332
+ continue;
333
+ }
325
334
  if (options.dryRun) {
326
335
  progress?.report(`Planning ${client} MCP configuration...`);
327
336
  clientResults.push({
@@ -333,17 +342,6 @@ async function setup(options, dependencies, progress) {
333
342
  });
334
343
  continue;
335
344
  }
336
- if (!detectedStates.has(client)) {
337
- progress?.report(`Checking ${client} MCP configuration...`);
338
- }
339
- const state = detectedStates.get(client) ?? (await dependencies.configurationState(plan));
340
- if (state === 'current' && !options.force) {
341
- clientResults.push({ client, status: 'already_configured' });
342
- continue;
343
- }
344
- if (state === 'different' && !options.force) {
345
- throw new Error(`${client}: Mercator is already configured differently. ${plan.undo}, then run this command again.`);
346
- }
347
345
  if (options.force && state !== 'missing') {
348
346
  progress?.report(`Removing existing ${client} MCP registration...`);
349
347
  await removeClientConfiguration(client, dependencies);
@@ -379,7 +377,9 @@ async function setup(options, dependencies, progress) {
379
377
  else {
380
378
  progress?.report('Preparing payment wallet...');
381
379
  walletReport = await dependencies.setupWallet({
380
+ allowSkip: true,
382
381
  dryRun: options.dryRun,
382
+ ...(progress ? { globe: progress.globe } : {}),
383
383
  });
384
384
  }
385
385
  }
@@ -395,10 +395,7 @@ async function setup(options, dependencies, progress) {
395
395
  };
396
396
  }
397
397
  progress?.report('Running Mercator readiness checks...');
398
- const diagnosis = walletReport
399
- ? await doctor({ url: options.url }, dependencies, progress)
400
- : await diagnoseWithoutWallet(options.url, dependencies, progress);
401
- const nativePaymentsReady = nativePayments.every((report) => report.status === 'ready');
398
+ const diagnosis = await diagnoseWithoutWallet(options.url, dependencies, progress);
402
399
  return {
403
400
  ...(agents
404
401
  ? {
@@ -413,12 +410,27 @@ async function setup(options, dependencies, progress) {
413
410
  dryRun: false,
414
411
  nativePayments,
415
412
  ...(plugin ? { plugin } : {}),
416
- ready: diagnosis.ready &&
417
- nativePaymentsReady &&
418
- (walletReport === undefined || walletReport.sessionClient === 'ready'),
413
+ ready: diagnosis.report.transport === 'ready' && diagnosis.report.discovery === 'ready',
419
414
  ...(walletReport ? { wallet: withoutBalances(walletReport) } : {}),
420
415
  };
421
416
  }
417
+ function setupConfirmationActions(clients, options) {
418
+ const actions = [];
419
+ if (options.plugin)
420
+ actions.push('Install the Codex/ChatGPT desktop plugin');
421
+ if (clients.length > 0) {
422
+ const labels = clients.map(clientLabel);
423
+ const formatted = labels.length === 1
424
+ ? labels[0]
425
+ : `${labels.slice(0, -1).join(', ')} and ${labels.at(-1)}`;
426
+ actions.push(`Configure the Mercator MCP server for ${formatted}`);
427
+ }
428
+ if (options.agents && (options.plugin || clients.includes(Client.Codex))) {
429
+ actions.push('Install Mercator guidance');
430
+ }
431
+ actions.push('Check payment readiness');
432
+ return actions;
433
+ }
422
434
  async function removeClientConfiguration(client, dependencies) {
423
435
  const removal = removalPlan(client);
424
436
  if (removal.kind === 'manual') {
@@ -431,44 +443,61 @@ async function removeClientConfiguration(client, dependencies) {
431
443
  await dependencies.runCommand(removal.command, removal.args);
432
444
  }
433
445
  function formatSetupResult(result) {
446
+ if ('cancelled' in result && result.cancelled) {
447
+ return 'Mercator setup cancelled.\n\nNo changes made.';
448
+ }
434
449
  if ('agents' in result && result.agents && 'paths' in result.agents) {
435
450
  const { paths, state } = result.agents;
436
451
  const title = state === 'removed'
437
452
  ? 'Mercator guidance removed.'
438
453
  : state === 'planned'
439
- ? 'Mercator guidance removal preview:'
454
+ ? 'Mercator guidance removal preview — no changes made.'
440
455
  : 'Mercator guidance was not installed.';
441
- return [title, ...paths.map((path) => `- ${path}`)].join('\n');
456
+ return [title, '', ...paths.map((path) => `✓ ${path}`)].join('\n');
442
457
  }
443
458
  const lines = [
444
459
  result.dryRun
445
- ? 'Mercator setup preview:'
460
+ ? 'Mercator setup preview — no changes made.'
446
461
  : result.ready
447
462
  ? 'Mercator setup complete.'
448
- : 'Mercator setup incomplete.',
463
+ : 'Mercator setup needs attention.',
464
+ '',
449
465
  ];
450
466
  for (const client of result.clients) {
451
- const action = client.action ? ` ${client.action}` : '';
452
- lines.push(`- ${client.client} MCP: ${humanizeStatus(client.status)}${action}`);
467
+ const glyph = client.status === 'planned' ? '→' : client.status === 'conflict' ? '!' : '';
468
+ const status = client.status === 'planned'
469
+ ? 'would be configured'
470
+ : client.status === 'conflict'
471
+ ? 'configured differently'
472
+ : humanizeStatus(client.status);
473
+ lines.push(`${glyph} ${client.client} MCP — ${status}`);
474
+ if (client.action)
475
+ lines.push(` ${client.action}`);
453
476
  }
454
477
  if ('plugin' in result && result.plugin) {
455
- lines.push(`- Codex/ChatGPT plugin: ${humanizeStatus(result.plugin.status)} (${result.plugin.pluginPath})`);
456
- if (result.plugin.reloadRequired && !result.dryRun) {
457
- lines.push(' Restart ChatGPT desktop to load Mercator.');
458
- }
478
+ const glyph = result.plugin.status === 'planned' ? '→' : '✓';
479
+ const status = result.plugin.status === 'planned'
480
+ ? 'would be installed'
481
+ : humanizeStatus(result.plugin.status);
482
+ lines.push(`${glyph} Codex/ChatGPT plugin — ${status}`, ` ${result.plugin.pluginPath}`);
459
483
  }
460
484
  if ('agents' in result && result.agents) {
461
- lines.push(`- Codex guidance: ${humanizeStatus(result.agents.state)} (${result.agents.path})`);
462
- if ('reloadRequired' in result.agents && result.agents.reloadRequired) {
463
- lines.push(' Restart Codex to load the updated guidance.');
464
- }
485
+ const glyph = result.agents.state === 'planned' ? '→' : '✓';
486
+ const status = result.agents.state === 'planned'
487
+ ? 'would be updated'
488
+ : humanizeStatus(result.agents.state);
489
+ lines.push(`${glyph} Codex guidance — ${status}`, ` ${result.agents.path}`);
465
490
  if (result.agents.shadowed) {
466
- lines.push(' Warning: AGENTS.override.md shadows this guidance.');
491
+ lines.push('! AGENTS.override.md shadows this guidance.');
467
492
  }
468
493
  }
469
494
  if ('nativePayments' in result) {
470
495
  for (const payment of result.nativePayments) {
471
- lines.push(`- ${payment.client} payments: ${humanizeStatus(payment.status)}`);
496
+ const glyph = payment.status === 'ready' ? '✓' : payment.status === 'planned' ? '→' : '!';
497
+ const status = payment.status === 'planned'
498
+ ? 'would be configured'
499
+ : humanizeStatus(payment.status);
500
+ lines.push(`${glyph} ${payment.client} payments — ${status}`);
472
501
  if (payment.status === 'action_required' || payment.status === 'planned') {
473
502
  lines.push(...payment.guidance.map((guidance) => ` ${guidance}`));
474
503
  }
@@ -476,18 +505,79 @@ function formatSetupResult(result) {
476
505
  }
477
506
  if ('wallet' in result && result.wallet) {
478
507
  const walletLabel = result.wallet.provider
479
- ? `${humanizeStatus(result.wallet.provider)} wallet`
508
+ ? `${result.wallet.provider === 'tempo' ? 'Tempo' : 'Local'} wallet`
480
509
  : 'Payment wallet';
481
- lines.push(`- ${walletLabel}: ${humanizeStatus(result.wallet.status)}`);
510
+ const glyph = result.wallet.status === 'ready' ? '✓' : '!';
511
+ lines.push(`${glyph} ${walletLabel} — ${humanizeStatus(result.wallet.status)}`);
482
512
  if (result.wallet.status !== 'ready') {
483
513
  lines.push(...result.wallet.guidance.map((guidance) => ` ${guidance}`));
484
514
  }
485
515
  }
486
516
  if ('diagnosis' in result) {
487
- lines.push(`- MCP transport: ${humanizeStatus(result.diagnosis.transport)}`, `- Service discovery: ${humanizeStatus(result.diagnosis.discovery)}`);
517
+ lines.push(`${result.diagnosis.transport === 'ready' ? '✓' : '✗'} MCP transport ${humanizeStatus(result.diagnosis.transport)}`, `${result.diagnosis.discovery === 'ready' ? '✓' : result.diagnosis.transport === 'ready' ? '✗' : '○'} Service discovery ${result.diagnosis.transport === 'ready' ? humanizeStatus(result.diagnosis.discovery) : 'not checked'}`);
518
+ if (result.diagnosis.error)
519
+ lines.push(` ${result.diagnosis.error}`);
488
520
  }
521
+ if (result.dryRun) {
522
+ lines.push('', result.clients.some((client) => client.status === 'conflict')
523
+ ? 'Resolve the items marked ! before applying this setup.'
524
+ : 'Run without --dry-run to apply these changes.');
525
+ return lines.join('\n');
526
+ }
527
+ if (!result.ready) {
528
+ lines.push('', 'Your completed setup was preserved.', '', 'Retry readiness checks:', ' mercator doctor');
529
+ return lines.join('\n');
530
+ }
531
+ const wallet = 'wallet' in result ? result.wallet : undefined;
532
+ const nativePaymentsReady = 'nativePayments' in result &&
533
+ result.nativePayments.every((payment) => payment.status === 'ready');
534
+ const paymentsReady = nativePaymentsReady && (wallet === undefined || wallet.status === 'ready');
535
+ const pluginReload = 'plugin' in result && result.plugin ? result.plugin.reloadRequired : false;
536
+ const agentsReload = 'agents' in result && result.agents && 'reloadRequired' in result.agents
537
+ ? result.agents.reloadRequired
538
+ : false;
539
+ if (pluginReload || agentsReload) {
540
+ lines.push('');
541
+ if (pluginReload && agentsReload) {
542
+ lines.push('Restart Codex and ChatGPT desktop to load the new integrations.');
543
+ }
544
+ else if (pluginReload) {
545
+ lines.push('Restart ChatGPT desktop to load the new integration.');
546
+ }
547
+ else {
548
+ lines.push('Restart Codex to load the updated guidance.');
549
+ }
550
+ }
551
+ if (!paymentsReady) {
552
+ lines.push('', 'Free operations are ready.');
553
+ const walletCommand = walletAction(wallet);
554
+ if (walletCommand)
555
+ lines.push('', 'Enable paid jobs:', ` ${walletCommand}`);
556
+ }
557
+ const everythingCurrent = result.clients.every((client) => client.status === 'already_configured') &&
558
+ (!('plugin' in result) || result.plugin?.status === 'already_configured') &&
559
+ (!('agents' in result) || result.agents?.state === 'current') &&
560
+ paymentsReady &&
561
+ !pluginReload &&
562
+ !agentsReload;
563
+ if (everythingCurrent) {
564
+ lines.push('', 'Everything is up to date.');
565
+ return lines.join('\n');
566
+ }
567
+ lines.push('', 'Try Mercator:', ' Ask your agent to find an API for current weather data.', '', 'Check readiness:', ' mercator doctor');
489
568
  return lines.join('\n');
490
569
  }
570
+ function walletAction(wallet) {
571
+ if (!wallet || wallet.status === 'ready')
572
+ return undefined;
573
+ if (wallet.status === 'needs_funding')
574
+ return 'mercator wallet fund';
575
+ if (wallet.provider === 'tempo')
576
+ return 'mercator wallet connect';
577
+ if (wallet.provider === 'local')
578
+ return 'mercator wallet create';
579
+ return 'mercator wallet';
580
+ }
491
581
  function humanizeStatus(status) {
492
582
  return status.replaceAll('_', ' ');
493
583
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { GlobeAnimation } from './globe.js';
2
+ type SetupConfirmationStreams = {
3
+ readonly globe?: GlobeAnimation;
4
+ readonly input: NodeJS.ReadableStream;
5
+ readonly interactive: boolean;
6
+ readonly output: NodeJS.WritableStream;
7
+ };
8
+ /** Confirms an interactive setup plan before its first mutation. */
9
+ export declare function confirmSetup(actions: readonly string[], overrides?: Partial<SetupConfirmationStreams>): Promise<boolean>;
10
+ export {};
@@ -0,0 +1,42 @@
1
+ import { createInterface } from 'node:readline/promises';
2
+ /** Resolves process-backed confirmation streams for the current invocation. */
3
+ const defaultStreams = () => ({
4
+ input: process.stdin,
5
+ interactive: Boolean(process.stdin.isTTY && process.stdout.isTTY),
6
+ output: process.stdout,
7
+ });
8
+ /** Confirms an interactive setup plan before its first mutation. */
9
+ export async function confirmSetup(actions, overrides = {}) {
10
+ const streams = { ...defaultStreams(), ...overrides };
11
+ if (!streams.interactive)
12
+ return true;
13
+ const write = (value) => {
14
+ streams.output.write(value);
15
+ streams.globe?.addLinesBelow(value.match(/\n/g)?.length ?? 0);
16
+ };
17
+ write('\nMercator will:\n\n');
18
+ for (const action of actions)
19
+ write(` ✓ ${action}\n`);
20
+ write('\nContinue? [Y/n]: ');
21
+ const readline = createInterface({
22
+ input: streams.input,
23
+ output: streams.output,
24
+ terminal: false,
25
+ });
26
+ try {
27
+ for await (const line of readline) {
28
+ streams.globe?.addLinesBelow(1);
29
+ const answer = line.trim().toLowerCase();
30
+ if (answer === '' || answer === 'y' || answer === 'yes')
31
+ return true;
32
+ if (answer === 'n' || answer === 'no')
33
+ return false;
34
+ write('Enter y to continue or n to cancel.\nContinue? [Y/n]: ');
35
+ }
36
+ return false;
37
+ }
38
+ finally {
39
+ readline.close();
40
+ }
41
+ }
42
+ //# sourceMappingURL=setup-confirmation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-confirmation.js","sourceRoot":"","sources":["../src/setup-confirmation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAWxD,+EAA+E;AAC/E,MAAM,cAAc,GAAG,GAA6B,EAAE,CAAC,CAAC;IACvD,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACjE,MAAM,EAAE,OAAO,CAAC,MAAM;CACtB,CAAC,CAAA;AAEF,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,OAA0B,EAC1B,YAA+C,EAAE;IAEjD,MAAM,OAAO,GAAG,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,SAAS,EAAE,CAAA;IACrD,IAAI,CAAC,OAAO,CAAC,WAAW;QAAE,OAAO,IAAI,CAAA;IAErC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAQ,EAAE;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC3B,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAA;IAC9D,CAAC,CAAA;IACD,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAC7B,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,KAAK,CAAC,OAAO,MAAM,IAAI,CAAC,CAAA;IACtD,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAE5B,MAAM,QAAQ,GAAG,eAAe,CAAC;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KACf,CAAC,CAAA;IACF,IAAI,CAAC;QACJ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YACxC,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAA;YACpE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;YACnD,KAAK,CAAC,wDAAwD,CAAC,CAAA;QAChE,CAAC;QACD,OAAO,KAAK,CAAA;IACb,CAAC;YAAS,CAAC;QACV,QAAQ,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;AACF,CAAC"}
@@ -5,7 +5,7 @@ export function startSetupProgress(output, options) {
5
5
  return {
6
6
  globe,
7
7
  report: (message) => {
8
- output.write(` ${message}\n`);
8
+ output.write(`→ ${message}\n`);
9
9
  globe.addLinesBelow(1);
10
10
  },
11
11
  stop: globe.stop,
@@ -0,0 +1,14 @@
1
+ import type { GlobeAnimation } from './globe.js';
2
+ /** Interactive wallet choices supported during onboarding. */
3
+ export type WalletSelection = 'local' | 'skip' | 'tempo';
4
+ type WalletSelectionStreams = {
5
+ readonly globe?: GlobeAnimation;
6
+ readonly input: NodeJS.ReadableStream;
7
+ readonly interactive: boolean;
8
+ readonly output: NodeJS.WritableStream;
9
+ };
10
+ /** Selects a payment wallet while explaining that free operations need no wallet. */
11
+ export declare function selectWalletProvider(options: {
12
+ readonly allowSkip: boolean;
13
+ }, overrides?: Partial<WalletSelectionStreams>): Promise<WalletSelection>;
14
+ export {};
@@ -0,0 +1,53 @@
1
+ import { createInterface } from 'node:readline/promises';
2
+ /** Resolves process-backed wallet-selection streams for the current invocation. */
3
+ const defaultStreams = () => ({
4
+ input: process.stdin,
5
+ interactive: Boolean(process.stdin.isTTY && process.stdout.isTTY),
6
+ output: process.stdout,
7
+ });
8
+ /** Selects a payment wallet while explaining that free operations need no wallet. */
9
+ export async function selectWalletProvider(options, overrides = {}) {
10
+ const streams = { ...defaultStreams(), ...overrides };
11
+ if (!streams.interactive) {
12
+ throw new Error('Wallet selection requires an interactive terminal. Run mercator wallet connect or mercator wallet create.');
13
+ }
14
+ const write = (value) => {
15
+ streams.output.write(value);
16
+ streams.globe?.addLinesBelow(value.match(/\n/g)?.length ?? 0);
17
+ };
18
+ write([
19
+ '\nPayment wallet',
20
+ '',
21
+ 'Paid jobs require a wallet. Search, quotes, and other free',
22
+ 'operations work without one.',
23
+ '',
24
+ ' 1. Connect Tempo Wallet (recommended)',
25
+ ' 2. Create a local wallet',
26
+ ...(options.allowSkip ? [' 3. Skip for now'] : []),
27
+ '',
28
+ ].join('\n'));
29
+ write('Selection [1]: ');
30
+ const readline = createInterface({
31
+ input: streams.input,
32
+ output: streams.output,
33
+ terminal: false,
34
+ });
35
+ try {
36
+ for await (const line of readline) {
37
+ streams.globe?.addLinesBelow(1);
38
+ const answer = line.trim();
39
+ if (answer === '' || answer === '1')
40
+ return 'tempo';
41
+ if (answer === '2')
42
+ return 'local';
43
+ if (options.allowSkip && answer === '3')
44
+ return 'skip';
45
+ write(`Choose ${options.allowSkip ? '1, 2, or 3' : '1 or 2'}.\nSelection [1]: `);
46
+ }
47
+ }
48
+ finally {
49
+ readline.close();
50
+ }
51
+ throw new Error('Wallet selection cancelled. Run mercator wallet connect or mercator wallet create.');
52
+ }
53
+ //# sourceMappingURL=wallet-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-selection.js","sourceRoot":"","sources":["../src/wallet-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAcxD,mFAAmF;AACnF,MAAM,cAAc,GAAG,GAA2B,EAAE,CAAC,CAAC;IACrD,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACjE,MAAM,EAAE,OAAO,CAAC,MAAM;CACtB,CAAC,CAAA;AAEF,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,OAAwC,EACxC,YAA6C,EAAE;IAE/C,MAAM,OAAO,GAAG,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,SAAS,EAAE,CAAA;IACrD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACd,2GAA2G,CAC3G,CAAA;IACF,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAa,EAAQ,EAAE;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC3B,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAA;IAC9D,CAAC,CAAA;IACD,KAAK,CACJ;QACC,kBAAkB;QAClB,EAAE;QACF,4DAA4D;QAC5D,8BAA8B;QAC9B,EAAE;QACF,yCAAyC;QACzC,4BAA4B;QAC5B,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,EAAE;KACF,CAAC,IAAI,CAAC,IAAI,CAAC,CACZ,CAAA;IACD,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAExB,MAAM,QAAQ,GAAG,eAAe,CAAC;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KACf,CAAC,CAAA;IACF,IAAI,CAAC;QACJ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAC1B,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,GAAG;gBAAE,OAAO,OAAO,CAAA;YACnD,IAAI,MAAM,KAAK,GAAG;gBAAE,OAAO,OAAO,CAAA;YAClC,IAAI,OAAO,CAAC,SAAS,IAAI,MAAM,KAAK,GAAG;gBAAE,OAAO,MAAM,CAAA;YACtD,KAAK,CAAC,UAAU,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,oBAAoB,CAAC,CAAA;QACjF,CAAC;IACF,CAAC;YAAS,CAAC;QACV,QAAQ,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CACd,oFAAoF,CACpF,CAAA;AACF,CAAC"}