@yawlabs/mcp 0.60.1 → 0.60.2
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/CHANGELOG.md +17 -0
- package/dist/index.js +22 -15
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@yawlabs/mcp` (formerly `@yawlabs/mcph`) are documented here. This project uses [semantic versioning](https://semver.org) and a CI-gated release flow: pushing a `vX.Y.Z` tag triggers `.github/workflows/release.yml`, which publishes to npm.
|
|
4
4
|
|
|
5
|
+
## 0.60.2 -- pnpm/bun global stores upgrade with their owning tool
|
|
6
|
+
|
|
7
|
+
- `yaw-mcp upgrade` now detects pnpm global stores (`<pnpm-home>/global/<n>/node_modules/...`) and bun global installs (`~/.bun/install/global/...`) as their own install methods. `--run` spawns `pnpm add -g` / `bun add -g @yawlabs/mcp@latest` instead of misclassifying them as local node_modules trees -- which would have npm-installed a foreign package-lock + node_modules into the tool manager's internal store.
|
|
8
|
+
- `yaw-mcp doctor`'s UPGRADE AVAILABLE hint includes pnpm/bun globals in the "`yaw-mcp upgrade --run` works here" set.
|
|
9
|
+
|
|
10
|
+
## 0.60.1 -- scoop/custom-prefix npm globals detected correctly
|
|
11
|
+
|
|
12
|
+
- npm prefixes that live in a `bin` directory (scoop's nodejs persist dir, custom prefixes) put globals at `<prefix>/node_modules` with no `npm`/`lib`/`AppData` marker in the path, so they misclassified as `local-node-modules` -- `upgrade --run` then refused (pre-0.60.0) or npm-installed into the node prefix instead of upgrading the global. New `/bin/node_modules/` marker classifies them as `global-npm`.
|
|
13
|
+
|
|
14
|
+
## 0.60.0 -- nag removed; `upgrade --run` actually upgrades
|
|
15
|
+
|
|
16
|
+
- **The free-tier nag interstitial is gone.** Yaw MCP is free (the Pro tier is retired); `src/nag.ts`, its state file handling, and the dispatch gate were deleted. `YAW_MCP_NO_NAG` no longer has any effect -- there is nothing left to suppress. Remaining Pro references in help text, README, and the package description now read Yaw Team.
|
|
17
|
+
- **`yaw-mcp upgrade --run` upgrades local node_modules installs in place** instead of refusing and printing another command: it derives the package-tree root from the running entrypoint's path and runs `npm install @yawlabs/mcp@latest` there.
|
|
18
|
+
- **New `bundled-app` install method** for the copy that ships inside Yaw Terminal (`app.asar.unpacked`): upgrade/doctor say plainly that it updates with the app instead of suggesting an npm command that can never affect it.
|
|
19
|
+
- **Method-aware `doctor` upgrade hints**: the UPGRADE AVAILABLE section prints the user's terminal action for their install method, never a command that turns around and prints another command.
|
|
20
|
+
- Upgrade/doctor output puts commands on their own line with no trailing punctuation so they copy cleanly.
|
|
21
|
+
|
|
5
22
|
## 0.58.0 -- Rename to Yaw MCP + local-first Free mode + Pro nag + sync client
|
|
6
23
|
|
|
7
24
|
### Secrets sync + spawn-time substitution (Phase 6c)
|
package/dist/index.js
CHANGED
|
@@ -2849,6 +2849,8 @@ function detectInstallMethod(argvPath) {
|
|
|
2849
2849
|
if (/\/lib\/node_modules\/@yawlabs\/mcp\//.test(normalized)) return "global-npm";
|
|
2850
2850
|
if (/\/AppData\/Roaming\/npm\/node_modules\/@yawlabs\/mcp\//.test(normalized)) return "global-npm";
|
|
2851
2851
|
if (/\/bin\/node_modules\/@yawlabs\/mcp\//.test(normalized)) return "global-npm";
|
|
2852
|
+
if (/\/pnpm\/global\/\d+\/node_modules\/@yawlabs\/mcp\//.test(normalized)) return "pnpm-global";
|
|
2853
|
+
if (/\/\.bun\/install\/global\/node_modules\/@yawlabs\/mcp\//.test(normalized)) return "bun-global";
|
|
2852
2854
|
if (/\/node_modules\/@yawlabs\/mcp\//.test(normalized)) return "local-node-modules";
|
|
2853
2855
|
if (/\/(yaw-mcp|mcph)\/(dist|src)\//.test(normalized)) return "dev-checkout";
|
|
2854
2856
|
return "unknown";
|
|
@@ -2866,6 +2868,12 @@ function buildUpgradePlan(input) {
|
|
|
2866
2868
|
case "global-npm":
|
|
2867
2869
|
command = "npm install -g @yawlabs/mcp@latest";
|
|
2868
2870
|
break;
|
|
2871
|
+
case "pnpm-global":
|
|
2872
|
+
command = "pnpm add -g @yawlabs/mcp@latest";
|
|
2873
|
+
break;
|
|
2874
|
+
case "bun-global":
|
|
2875
|
+
command = "bun add -g @yawlabs/mcp@latest";
|
|
2876
|
+
break;
|
|
2869
2877
|
case "npx":
|
|
2870
2878
|
command = null;
|
|
2871
2879
|
break;
|
|
@@ -2988,9 +2996,9 @@ async function runUpgrade(opts = {}) {
|
|
|
2988
2996
|
return { exitCode: 0, lines };
|
|
2989
2997
|
}
|
|
2990
2998
|
const installRoot = method === "local-node-modules" ? localInstallRoot(argvPath) : null;
|
|
2991
|
-
const
|
|
2999
|
+
const runSpec = method === "global-npm" ? { cmd: "npm", args: ["install", "-g", "@yawlabs/mcp@latest"] } : method === "pnpm-global" ? { cmd: "pnpm", args: ["add", "-g", "@yawlabs/mcp@latest"] } : method === "bun-global" ? { cmd: "bun", args: ["add", "-g", "@yawlabs/mcp@latest"] } : method === "local-node-modules" && installRoot !== null ? { cmd: "npm", args: ["install", "@yawlabs/mcp@latest"], cwd: installRoot } : null;
|
|
2992
3000
|
if (!opts.run) {
|
|
2993
|
-
if (
|
|
3001
|
+
if (runSpec) {
|
|
2994
3002
|
print("Run `yaw-mcp upgrade --run` to upgrade in place, or run it yourself:");
|
|
2995
3003
|
} else {
|
|
2996
3004
|
print("Run it yourself (--run can't safely automate this install method):");
|
|
@@ -2999,34 +3007,33 @@ async function runUpgrade(opts = {}) {
|
|
|
2999
3007
|
print(` ${plan.command}`);
|
|
3000
3008
|
return { exitCode: 1, lines };
|
|
3001
3009
|
}
|
|
3002
|
-
if (!
|
|
3010
|
+
if (!runSpec) {
|
|
3003
3011
|
printErr(`yaw-mcp upgrade --run: a "${method}" install can't be upgraded automatically. Run it yourself:`);
|
|
3004
3012
|
printErr("");
|
|
3005
3013
|
printErr(` ${plan.command}`);
|
|
3006
3014
|
return { exitCode: 2, lines };
|
|
3007
3015
|
}
|
|
3008
3016
|
const runner = opts.spawnImpl ?? defaultSpawn;
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
print(`Running in ${installRoot}:`);
|
|
3017
|
+
if (runSpec.cwd) {
|
|
3018
|
+
print(`Running in ${runSpec.cwd}:`);
|
|
3012
3019
|
} else {
|
|
3013
3020
|
print("Running:");
|
|
3014
3021
|
}
|
|
3015
3022
|
print(` ${plan.command}`);
|
|
3016
3023
|
print("");
|
|
3017
|
-
const code = await runner(
|
|
3024
|
+
const code = await runner(runSpec.cmd, runSpec.args, runSpec.cwd);
|
|
3018
3025
|
if (code === 0) {
|
|
3019
3026
|
print("");
|
|
3020
3027
|
print(`\u2713 Upgraded @yawlabs/mcp to ${latest}`);
|
|
3021
3028
|
return { exitCode: 0, lines };
|
|
3022
3029
|
}
|
|
3023
|
-
printErr(`yaw-mcp upgrade:
|
|
3030
|
+
printErr(`yaw-mcp upgrade: ${runSpec.cmd} exited ${code}. Try running the command yourself:`);
|
|
3024
3031
|
printErr("");
|
|
3025
3032
|
printErr(` ${plan.command}`);
|
|
3026
3033
|
return { exitCode: 3, lines };
|
|
3027
3034
|
}
|
|
3028
3035
|
function readCurrentVersion() {
|
|
3029
|
-
return true ? "0.60.
|
|
3036
|
+
return true ? "0.60.2" : "dev";
|
|
3030
3037
|
}
|
|
3031
3038
|
|
|
3032
3039
|
// src/usage-hints.ts
|
|
@@ -3088,7 +3095,7 @@ function selectFlakyNamespaces(entries, limit) {
|
|
|
3088
3095
|
}
|
|
3089
3096
|
|
|
3090
3097
|
// src/doctor-cmd.ts
|
|
3091
|
-
var VERSION = true ? "0.60.
|
|
3098
|
+
var VERSION = true ? "0.60.2" : "dev";
|
|
3092
3099
|
async function runDoctor(opts = {}) {
|
|
3093
3100
|
if (opts.json) return runDoctorJson(opts);
|
|
3094
3101
|
const lines = [];
|
|
@@ -3168,7 +3175,7 @@ async function runDoctor(opts = {}) {
|
|
|
3168
3175
|
} else if (method === "npx") {
|
|
3169
3176
|
print(` Running ${VERSION}; npm latest is ${staleHint}. npx fetches the latest`);
|
|
3170
3177
|
print(" on each spawn \u2014 restart your MCP client to pick it up.");
|
|
3171
|
-
} else if (method === "global-npm" || method === "local-node-modules") {
|
|
3178
|
+
} else if (method === "global-npm" || method === "pnpm-global" || method === "bun-global" || method === "local-node-modules") {
|
|
3172
3179
|
print(` Running ${VERSION}; npm latest is ${staleHint}. To upgrade in place:`);
|
|
3173
3180
|
print("");
|
|
3174
3181
|
print(" yaw-mcp upgrade --run");
|
|
@@ -5076,7 +5083,7 @@ function defaultSpawn2(cmd, args) {
|
|
|
5076
5083
|
async function maybeAutoUpgrade(deps = {}) {
|
|
5077
5084
|
const optOut = process.env.YAW_MCP_AUTO_UPGRADE;
|
|
5078
5085
|
if (optOut === "0" || optOut?.toLowerCase() === "false") return;
|
|
5079
|
-
const current = deps.currentVersion ?? (true ? "0.60.
|
|
5086
|
+
const current = deps.currentVersion ?? (true ? "0.60.2" : "dev");
|
|
5080
5087
|
if (current === "dev") return;
|
|
5081
5088
|
const method = detectInstallMethod(deps.argvPath ?? process.argv[1]);
|
|
5082
5089
|
const latest = await (deps.fetchLatestImpl ?? fetchLatestVersion2)();
|
|
@@ -7349,7 +7356,7 @@ function categorizeSpawnError(err) {
|
|
|
7349
7356
|
}
|
|
7350
7357
|
async function connectToUpstream(config, onDisconnect, onListChanged) {
|
|
7351
7358
|
const client = new Client(
|
|
7352
|
-
{ name: "yaw-mcp", version: true ? "0.60.
|
|
7359
|
+
{ name: "yaw-mcp", version: true ? "0.60.2" : "dev" },
|
|
7353
7360
|
{ capabilities: {} }
|
|
7354
7361
|
);
|
|
7355
7362
|
let transport;
|
|
@@ -7658,7 +7665,7 @@ var ConnectServer = class _ConnectServer {
|
|
|
7658
7665
|
this.apiUrl = apiUrl5;
|
|
7659
7666
|
this.token = token5;
|
|
7660
7667
|
this.server = new Server(
|
|
7661
|
-
{ name: "yaw-mcp", version: true ? "0.60.
|
|
7668
|
+
{ name: "yaw-mcp", version: true ? "0.60.2" : "dev" },
|
|
7662
7669
|
{
|
|
7663
7670
|
capabilities: {
|
|
7664
7671
|
tools: { listChanged: true },
|
|
@@ -10629,7 +10636,7 @@ if (subcommand === "compliance") {
|
|
|
10629
10636
|
`);
|
|
10630
10637
|
process.exit(0);
|
|
10631
10638
|
} else if (subcommand === "--version" || subcommand === "-V") {
|
|
10632
|
-
process.stdout.write(`yaw-mcp ${true ? "0.60.
|
|
10639
|
+
process.stdout.write(`yaw-mcp ${true ? "0.60.2" : "dev"}
|
|
10633
10640
|
`);
|
|
10634
10641
|
process.exit(0);
|
|
10635
10642
|
} else if (subcommand && !subcommand.startsWith("-")) {
|
package/package.json
CHANGED