@sellable/mcp 0.1.3 → 0.1.5
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/README.md +9 -8
- package/dist/auth.js +3 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/skills.js +3 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -66,7 +66,7 @@ Install MCP server:
|
|
|
66
66
|
claude mcp add --transport stdio sellable -- npx -y @sellable/mcp
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
Create auth config at `~/.
|
|
69
|
+
Create auth config at `~/.sellable/config.json`:
|
|
70
70
|
|
|
71
71
|
```json
|
|
72
72
|
{
|
|
@@ -99,14 +99,14 @@ The installer does the full local setup:
|
|
|
99
99
|
entry per workflow
|
|
100
100
|
- removes stale Personal Sellable skill copies, including
|
|
101
101
|
`sellable-create-campaign-v2`
|
|
102
|
-
- writes `~/.
|
|
102
|
+
- writes `~/.sellable/config.json`
|
|
103
103
|
- registers the `sellable` MCP server with Codex
|
|
104
104
|
- installs the local `sellable@sellable-local` Desktop plugin so Codex
|
|
105
105
|
Desktop loads the `mcp__sellable__*` tools into skill sessions
|
|
106
106
|
- runs a Codex CLI smoke that must load `get_auth_status` and the
|
|
107
107
|
`create-campaign-v2` prompt
|
|
108
108
|
|
|
109
|
-
If you already have `~/.
|
|
109
|
+
If you already have `~/.sellable/config.json`, verify the install without
|
|
110
110
|
rewriting auth:
|
|
111
111
|
|
|
112
112
|
```bash
|
|
@@ -206,9 +206,10 @@ Parallel execution contract:
|
|
|
206
206
|
Config path resolution (in order):
|
|
207
207
|
|
|
208
208
|
1. `SELLABLE_CONFIG_PATH`
|
|
209
|
-
2.
|
|
210
|
-
3.
|
|
211
|
-
4. `~/.
|
|
209
|
+
2. `~/.sellable/config.json`
|
|
210
|
+
3. `$CODEX_HOME/sellable.json` (compatibility fallback)
|
|
211
|
+
4. `~/.codex/sellable.json` (compatibility fallback)
|
|
212
|
+
5. `~/.claude/sellable.json` (compatibility fallback)
|
|
212
213
|
|
|
213
214
|
## Hetzner Smoke / UAT
|
|
214
215
|
|
|
@@ -251,7 +252,7 @@ with outcomes, and tracked people (LinkedIn profiles), all scoped by workspace.
|
|
|
251
252
|
|
|
252
253
|
## Config You Can Edit (Source Of Truth)
|
|
253
254
|
|
|
254
|
-
- Auth + active workspace:
|
|
255
|
+
- Auth + active workspace: `~/.sellable/config.json` (or `SELLABLE_CONFIG_PATH`; old `$CODEX_HOME/sellable.json`, `~/.codex/sellable.json`, and `~/.claude/sellable.json` files remain compatibility fallbacks)
|
|
255
256
|
- Engage memory (style guide + searches + tracked people): `sellable.engage.json` (or `SELLABLE_ENGAGE_MEMORY_PATH`)
|
|
256
257
|
- Team-editable, project-local configs (recommended to edit in git):
|
|
257
258
|
- `./.sellable/configs/writing/styleguide.md`
|
|
@@ -340,7 +341,7 @@ Self-interview skill to capture voice + ICP + boundaries into `./.sellable/confi
|
|
|
340
341
|
|
|
341
342
|
### "Sellable not configured" Error
|
|
342
343
|
|
|
343
|
-
Create `~/.
|
|
344
|
+
Create `~/.sellable/config.json` with your token. Get one at https://app.sellable.dev/settings/integrations.
|
|
344
345
|
|
|
345
346
|
### Token Not Working
|
|
346
347
|
|
package/dist/auth.js
CHANGED
|
@@ -23,6 +23,9 @@ function getConfigPathCandidates() {
|
|
|
23
23
|
if (explicitConfigPath) {
|
|
24
24
|
candidates.push(path.resolve(explicitConfigPath));
|
|
25
25
|
}
|
|
26
|
+
if (configFileName === "sellable.json") {
|
|
27
|
+
candidates.push(path.join(os.homedir(), ".sellable", "config.json"));
|
|
28
|
+
}
|
|
26
29
|
const codexHome = process.env.CODEX_HOME?.trim();
|
|
27
30
|
if (codexHome) {
|
|
28
31
|
candidates.push(path.resolve(codexHome, configFileName));
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Sellable MCP Server - Production
|
|
4
4
|
*
|
|
5
|
-
* Uses ~/.
|
|
5
|
+
* Uses ~/.sellable/config.json config (default prod URL: https://app.sellable.dev)
|
|
6
6
|
*/
|
|
7
7
|
// Uses default config (sellable.json), just import and run
|
|
8
8
|
import "./server.js";
|
package/dist/skills.js
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
2
|
import * as path from "path";
|
|
3
|
-
import { fileURLToPath } from "url";
|
|
4
3
|
export function resolveSkillsDir() {
|
|
5
4
|
const candidates = [];
|
|
6
5
|
if (process.env.SELLABLE_SKILLS_DIR) {
|
|
7
6
|
candidates.push(path.resolve(process.env.SELLABLE_SKILLS_DIR));
|
|
8
7
|
}
|
|
9
|
-
// Works for both source execution (src/../skills) and npm package execution
|
|
10
|
-
// (dist/../skills), including npx bin shims.
|
|
11
|
-
const moduleDir = path.dirname(fileURLToPath(import.meta.url));
|
|
12
|
-
candidates.push(path.resolve(moduleDir, "../skills"));
|
|
13
8
|
if (process.argv[1]) {
|
|
14
|
-
// When running as CLI, argv[1] is typically ".../dist/index.js".
|
|
9
|
+
// When running as CLI, argv[1] is typically ".../dist/index.js". When
|
|
10
|
+
// launched by npx, it can be a node_modules/.bin shim; realpath resolves
|
|
11
|
+
// that shim back into the package before we look for sibling skills.
|
|
15
12
|
candidates.push(path.resolve(path.dirname(process.argv[1]), "../skills"));
|
|
16
13
|
try {
|
|
17
14
|
const realEntryPath = fs.realpathSync(process.argv[1]);
|