@sellable/install 0.1.32 → 0.1.35

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.
@@ -1394,9 +1394,7 @@ function verify(opts) {
1394
1394
  function printNextSteps(installedHosts) {
1395
1395
  console.log("");
1396
1396
  printDivider();
1397
- console.log(
1398
- ` ${C.bold}You're set. Let's launch your first campaign.${C.reset}`
1399
- );
1397
+ console.log(` ${C.bold}Done.${C.reset}`);
1400
1398
  printDivider();
1401
1399
  console.log("");
1402
1400
 
@@ -1418,55 +1416,38 @@ function printNextSteps(installedHosts) {
1418
1416
  return;
1419
1417
  }
1420
1418
 
1421
- const useClaude = installedHosts.includes("Claude Code");
1422
- const primary = useClaude
1423
- ? {
1424
- label: "Claude Code",
1425
- cmd: "claude",
1426
- slash: "/sellable:create-campaign",
1427
- }
1428
- : { label: "Codex", cmd: "codex", slash: "/sellable:create-campaign" };
1429
- const secondary =
1430
- useClaude && installedHosts.includes("Codex")
1431
- ? { label: "Codex", cmd: "codex", slash: "/sellable:create-campaign" }
1432
- : null;
1433
-
1434
- console.log(
1435
- ` ${C.bold}Try it now${C.reset} ${C.grey}(in a new terminal)${C.reset}`
1436
- );
1437
- console.log("");
1438
- console.log(` ${C.grey}1.${C.reset} Open ${primary.label}:`);
1439
- console.log("");
1440
- console.log(` ${C.cyan}${primary.cmd}${C.reset}`);
1441
- console.log("");
1442
- console.log(` ${C.grey}2.${C.reset} Type this and hit enter:`);
1443
- console.log("");
1444
- console.log(` ${C.cyan}${primary.slash}${C.reset}`);
1445
- console.log("");
1446
- console.log(
1447
- ` ${C.grey}First time? Sellable signs you up automatically — just answer in chat.${C.reset}`
1448
- );
1419
+ const hasClaude = installedHosts.includes("Claude Code");
1420
+ const hasCodex = installedHosts.includes("Codex");
1449
1421
 
1450
- if (secondary) {
1422
+ if (hasClaude && hasCodex) {
1423
+ console.log(` ${C.bold}Open Claude Code or Codex and run:${C.reset}`);
1451
1424
  console.log("");
1452
1425
  console.log(
1453
- ` ${C.grey}Prefer ${secondary.label}? Run ${C.reset}${C.cyan}${secondary.cmd}${C.reset}${C.grey} and type ${C.reset}${C.cyan}${secondary.slash}${C.reset}${C.grey}.${C.reset}`
1426
+ ` ${C.cyan}/sellable:create-campaign${C.reset} ${C.grey}(Claude Code)${C.reset}`
1427
+ );
1428
+ console.log(
1429
+ ` ${C.cyan}$sellable:create-campaign${C.reset} ${C.grey}(Codex)${C.reset}`
1454
1430
  );
1431
+ } else if (hasClaude) {
1432
+ console.log(` ${C.bold}Open Claude Code and run:${C.reset}`);
1433
+ console.log("");
1434
+ console.log(` ${C.cyan}/sellable:create-campaign${C.reset}`);
1435
+ } else {
1436
+ console.log(` ${C.bold}Open Codex and run:${C.reset}`);
1437
+ console.log("");
1438
+ console.log(` ${C.cyan}$sellable:create-campaign${C.reset}`);
1455
1439
  }
1456
1440
 
1457
- console.log("");
1458
- printDivider();
1459
1441
  console.log("");
1460
1442
  console.log(
1461
- ` Verify install: ${C.cyan}sellable --verify-only --host all${C.reset}`
1443
+ ` ${C.grey}First time? The agent will sign you up — just answer in chat.${C.reset}`
1462
1444
  );
1463
- console.log(` Need help?`);
1464
- console.log(
1465
- ` Slack: ${C.cyan}https://join.slack.com/t/ditttoai/shared_invite/zt-3wvs86yau-csKZGP3iGXO3oEiAUmtH9A${C.reset}`
1466
- );
1467
- console.log(` Email: ${C.cyan}admin@dittto.ai${C.reset}`);
1445
+
1446
+ console.log("");
1447
+ printDivider();
1448
+ console.log("");
1468
1449
  console.log(
1469
- ` LinkedIn: ${C.cyan}https://www.linkedin.com/in/csreyes92/${C.reset} ${C.grey}(DM Christian directly)${C.reset}`
1450
+ ` ${C.grey}Need help?${C.reset} ${C.cyan}https://join.slack.com/t/ditttoai/shared_invite/zt-3wvs86yau-csKZGP3iGXO3oEiAUmtH9A${C.reset} ${C.grey}·${C.reset} ${C.cyan}admin@dittto.ai${C.reset}`
1470
1451
  );
1471
1452
  console.log("");
1472
1453
  }
@@ -1507,7 +1488,7 @@ async function main() {
1507
1488
  const authResult = writeAuth(opts);
1508
1489
  installSelfShim(opts);
1509
1490
  if (authResult.reused) {
1510
- logMilestone(`Using existing auth config: ${authPath()}`);
1491
+ logMilestone("Auth ready");
1511
1492
  } else if (authResult.written) {
1512
1493
  logMilestone(`Authenticated (workspace: ${opts.workspaceId})`);
1513
1494
  } else {
@@ -1519,26 +1500,22 @@ async function main() {
1519
1500
  if (opts.host === "claude" || opts.host === "all") {
1520
1501
  if (installClaude(opts)) {
1521
1502
  installedHosts.push("Claude Code");
1522
- logMilestone("Claude Code MCP server registered");
1523
1503
  }
1524
1504
  }
1525
1505
  if (opts.host === "codex" || opts.host === "all") {
1526
1506
  const result = installCodex(opts);
1527
1507
  if (result.installed) {
1528
1508
  installedHosts.push("Codex");
1529
- logMilestone("Codex MCP server registered");
1530
- logMilestone(
1531
- `Codex Desktop plugin installed (sellable@sellable v${CODEX_PLUGIN_VERSION})`
1532
- );
1533
- logMilestone(
1534
- "Skill bundle: create-campaign, engage, interview, workflow-sequences"
1535
- );
1536
- if (result.compatCount) {
1537
- logMilestone(
1538
- `Backwards-compat cache linked (${result.compatCount} versions → symlinked, no copy)`
1539
- );
1540
- }
1541
- logMilestone("Codex Default-mode request_user_input enabled");
1509
+ }
1510
+ }
1511
+
1512
+ if (installedHosts.length > 0) {
1513
+ logMilestone(
1514
+ `MCP servers registered (${installedHosts.join(" + ")})`
1515
+ );
1516
+ if (installedHosts.includes("Codex")) {
1517
+ logMilestone("Codex Desktop plugin installed");
1518
+ logMilestone("Skills installed");
1542
1519
  }
1543
1520
  }
1544
1521
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/install",
3
- "version": "0.1.32",
3
+ "version": "0.1.35",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {