@sellable/install 0.1.21 → 0.1.23
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/bin/sellable-install.mjs +22 -4
- package/package.json +1 -1
package/bin/sellable-install.mjs
CHANGED
|
@@ -15,7 +15,7 @@ import { createInterface } from "node:readline/promises";
|
|
|
15
15
|
const DEFAULT_API_URL = "https://app.sellable.dev";
|
|
16
16
|
const DEFAULT_SERVER_PACKAGE =
|
|
17
17
|
process.env.SELLABLE_MCP_PACKAGE || "@sellable/mcp";
|
|
18
|
-
const CODEX_PLUGIN_VERSION = "0.1.
|
|
18
|
+
const CODEX_PLUGIN_VERSION = "0.1.23";
|
|
19
19
|
const CODEX_PLUGIN_COMPAT_VERSIONS = [
|
|
20
20
|
"0.1.8",
|
|
21
21
|
"0.1.9",
|
|
@@ -30,6 +30,8 @@ const CODEX_PLUGIN_COMPAT_VERSIONS = [
|
|
|
30
30
|
"0.1.18",
|
|
31
31
|
"0.1.19",
|
|
32
32
|
"0.1.20",
|
|
33
|
+
"0.1.21",
|
|
34
|
+
"0.1.22",
|
|
33
35
|
];
|
|
34
36
|
const INSTALL_PACKAGE_SPEC = `@sellable/install@${CODEX_PLUGIN_VERSION}`;
|
|
35
37
|
|
|
@@ -858,9 +860,16 @@ for inspection, not a replacement for showing the content in chat.
|
|
|
858
860
|
|
|
859
861
|
This applies especially to message approvals. Never ask someone to approve a
|
|
860
862
|
message they cannot see. Show the subject, tokenized template, a filled sample
|
|
861
|
-
prospect version,
|
|
862
|
-
|
|
863
|
-
|
|
863
|
+
prospect version, good fill example, good omit example, bad fill example, why
|
|
864
|
+
the bad fill is wrong, token notes, your take, and suggested adjustment first.
|
|
865
|
+
The user should be able to compare "here is the template" against "here is what
|
|
866
|
+
one real prospect would receive" before approving, and understand exactly how
|
|
867
|
+
the tokens should and should not be filled.
|
|
868
|
+
|
|
869
|
+
Approved token guidance is part of the campaign, not just the review. When a
|
|
870
|
+
campaign is minted, the approved brief should carry forward the token fill
|
|
871
|
+
rules and examples: good fills, good omits, bad fills, and why the bad fills are
|
|
872
|
+
blocked.
|
|
864
873
|
|
|
865
874
|
For lead-source decisions, confidence comes from concrete counts. Do not say
|
|
866
875
|
"strong sample", "73% match", or "meaningful concentration" without showing the
|
|
@@ -1172,6 +1181,14 @@ function writeAuth(opts) {
|
|
|
1172
1181
|
writeJson(sellablePath, config, opts);
|
|
1173
1182
|
}
|
|
1174
1183
|
|
|
1184
|
+
function installSelfShim(opts) {
|
|
1185
|
+
const binPath = join(homedir(), ".local", "bin", "sellable");
|
|
1186
|
+
const shim = `#!/usr/bin/env sh
|
|
1187
|
+
exec npx -y ${INSTALL_PACKAGE_SPEC} "$@"
|
|
1188
|
+
`;
|
|
1189
|
+
writeFile(binPath, shim, opts, 0o755);
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1175
1192
|
function mcpCommand(opts) {
|
|
1176
1193
|
if (opts.server === "package") {
|
|
1177
1194
|
return ["npx", ["-y", opts.mcpPackage]];
|
|
@@ -1345,6 +1362,7 @@ async function main() {
|
|
|
1345
1362
|
if (!opts.verifyOnly) {
|
|
1346
1363
|
await promptForMissingAuth(opts);
|
|
1347
1364
|
writeAuth(opts);
|
|
1365
|
+
installSelfShim(opts);
|
|
1348
1366
|
if (opts.host === "claude" || opts.host === "all") {
|
|
1349
1367
|
if (installClaude(opts)) installedHosts.push("Claude Code");
|
|
1350
1368
|
}
|