@sellable/install 0.1.328 → 0.1.330

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.
@@ -48,7 +48,7 @@ function getInstallVersion() {
48
48
  }
49
49
  }
50
50
 
51
- const CODEX_PLUGIN_VERSION = "0.1.58";
51
+ const CODEX_PLUGIN_VERSION = "0.1.60";
52
52
  const CODEX_PLUGIN_COMPAT_VERSIONS = [
53
53
  "0.1.8",
54
54
  "0.1.9",
@@ -649,6 +649,12 @@ function getMcpVersion() {
649
649
  return "latest";
650
650
  }
651
651
 
652
+ function getConfiguredMcpVersion(opts = {}) {
653
+ const match = /^@sellable\/mcp@(.+)$/.exec(opts.mcpPackage || "");
654
+ const configured = match?.[1];
655
+ return configured && configured !== "latest" ? configured : getMcpVersion();
656
+ }
657
+
652
658
  function normalizeOptionalPath(value) {
653
659
  const trimmed = String(value || "").trim();
654
660
  return trimmed ? resolve(trimmed) : "";
@@ -996,7 +1002,6 @@ function codexPluginManifest(opts) {
996
1002
  "Create a Sellable campaign",
997
1003
  "Refill Sellable sends",
998
1004
  "Find LinkedIn leads",
999
- "Build an outbound sequence",
1000
1005
  ],
1001
1006
  brandColor: "#8B5CF6",
1002
1007
  screenshots: [],
@@ -5340,7 +5345,7 @@ function printInstallAgentBox(title, installCmd, docsUrl) {
5340
5345
  console.log(bot);
5341
5346
  }
5342
5347
 
5343
- function printNextSteps(installedHosts, authReused) {
5348
+ function printNextSteps(installedHosts, authReused, opts = {}) {
5344
5349
  console.log("");
5345
5350
 
5346
5351
  if (installedHosts.length === 0) {
@@ -5382,7 +5387,7 @@ function printNextSteps(installedHosts, authReused) {
5382
5387
  );
5383
5388
  console.log("");
5384
5389
  const installV = getInstallVersion();
5385
- const mcpV = getMcpVersion();
5390
+ const mcpV = getConfiguredMcpVersion(opts);
5386
5391
  console.log(
5387
5392
  ` ${C.grey}@sellable/install v${installV} · @sellable/mcp v${mcpV} · Codex plugin v${CODEX_PLUGIN_VERSION}${C.reset}`
5388
5393
  );
@@ -5482,7 +5487,7 @@ function printNextSteps(installedHosts, authReused) {
5482
5487
  );
5483
5488
  console.log("");
5484
5489
  const installV = getInstallVersion();
5485
- const mcpV = getMcpVersion();
5490
+ const mcpV = getConfiguredMcpVersion(opts);
5486
5491
  console.log(
5487
5492
  ` ${C.grey}@sellable/install v${installV} · @sellable/mcp v${mcpV} · Codex plugin v${CODEX_PLUGIN_VERSION}${C.reset}`
5488
5493
  );
@@ -6040,7 +6045,7 @@ async function main() {
6040
6045
  }
6041
6046
 
6042
6047
  if (!opts.verifyOnly) {
6043
- printNextSteps(installedHosts, authReused);
6048
+ printNextSteps(installedHosts, authReused, opts);
6044
6049
  }
6045
6050
  } catch (error) {
6046
6051
  console.error(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/install",
3
- "version": "0.1.328",
3
+ "version": "0.1.330",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code, Codex, and Hermes",
6
6
  "bin": {
@@ -101,6 +101,9 @@ Claude Code uses `/sellable:refill-sends`. Optional selectors are `--sender`,
101
101
  6. Invoke only the public durable entrypoint:
102
102
  `mcp__sellable__refill_sends({ workspaceId, targetDate, untilDate, horizonSendDays, senderIds, senderNames, actionTypes, yolo, executionMode, requireWorkspace:true })`.
103
103
  Preserve the exact scope and approval echo returned by the tool on resume.
104
+ Pass `expectedActionKey` only when the rendered first global action contains
105
+ an actual non-empty `actionKey`; never infer it from `type`, `toolName`, or
106
+ `actionFingerprint`.
104
107
 
105
108
  ## Operator packet
106
109