@everme/cli 0.28.1 → 0.29.0
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/package.json +1 -1
- package/scripts/upgrade-plugins.js +67 -8
- package/sha256sums.txt +6 -6
package/package.json
CHANGED
|
@@ -96,9 +96,10 @@ function patchNpxSpec(configPath) {
|
|
|
96
96
|
// are required: `evercli plugin install claude-code` reuses an already-present
|
|
97
97
|
// global npm package without upgrading it (pluginSourceSpec short-circuits on
|
|
98
98
|
// the existing `npm root -g` path), so the @latest bump must happen first; the
|
|
99
|
-
// re-install then runs
|
|
100
|
-
//
|
|
101
|
-
//
|
|
99
|
+
// re-install then runs marketplace add-or-update + plugin install-or-update so
|
|
100
|
+
// Claude Code actually loads the fresh hooks/commands/MCP, and asserts the
|
|
101
|
+
// cached version matches the payload. Step 2 rotates the local agent token
|
|
102
|
+
// (per-(platform, fingerprint) — other devices unaffected).
|
|
102
103
|
function refreshClaudeCode(binPath, runner) {
|
|
103
104
|
const run = runner || defaultRunner;
|
|
104
105
|
run(npmCommand(), ["install", "-g", "@everme/claude-code@latest"], {
|
|
@@ -137,6 +138,52 @@ function refreshHermes(binPath, runner) {
|
|
|
137
138
|
});
|
|
138
139
|
}
|
|
139
140
|
|
|
141
|
+
// Codex needs BOTH refresh paths and used to get only the npx one: its
|
|
142
|
+
// memory-mcp spec lives in config.toml (patchNpxSpec), but its hook bundle
|
|
143
|
+
// ships through the marketplace cache, which Codex refreshes only when a
|
|
144
|
+
// `marketplace upgrade` runs against a changed manifest version. That
|
|
145
|
+
// upgrade lives inside `evercli plugin install codex`, so without this the
|
|
146
|
+
// hooks stayed pinned to whatever version first installed them.
|
|
147
|
+
function refreshCodex(binPath, runner) {
|
|
148
|
+
const run = runner || defaultRunner;
|
|
149
|
+
run(binPath, ["plugin", "install", "codex"], {
|
|
150
|
+
encoding: "utf8",
|
|
151
|
+
timeout: REFRESH_TIMEOUT_MS,
|
|
152
|
+
stdio: ["ignore", "ignore", "inherit"],
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// Kimi Code mirrors claude-code's npm-first shape: evercli stages the
|
|
157
|
+
// bundle from the global npm package and short-circuits on an existing
|
|
158
|
+
// directory, so the @latest bump must happen first. Registration is the
|
|
159
|
+
// one step evercli cannot do headlessly (`/plugins install` is TUI-only),
|
|
160
|
+
// so the staged bundle only reaches Kimi Code after the user re-registers.
|
|
161
|
+
function refreshKimicode(binPath, runner) {
|
|
162
|
+
const run = runner || defaultRunner;
|
|
163
|
+
run(npmCommand(), ["install", "-g", "@everme/kimicode@latest"], {
|
|
164
|
+
encoding: "utf8",
|
|
165
|
+
timeout: REFRESH_TIMEOUT_MS,
|
|
166
|
+
stdio: ["ignore", "ignore", "inherit"],
|
|
167
|
+
});
|
|
168
|
+
run(binPath, ["plugin", "install", "kimicode"], {
|
|
169
|
+
encoding: "utf8",
|
|
170
|
+
timeout: REFRESH_TIMEOUT_MS,
|
|
171
|
+
stdio: ["ignore", "ignore", "inherit"],
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// Raven's Python backend is embedded in the evercli binary, so the freshly
|
|
176
|
+
// downloaded binary is the new payload — re-running install is what
|
|
177
|
+
// rewrites ~/.raven/plugins/everme-memory/. Nothing to bump on npm.
|
|
178
|
+
function refreshRaven(binPath, runner) {
|
|
179
|
+
const run = runner || defaultRunner;
|
|
180
|
+
run(binPath, ["plugin", "install", "raven"], {
|
|
181
|
+
encoding: "utf8",
|
|
182
|
+
timeout: REFRESH_TIMEOUT_MS,
|
|
183
|
+
stdio: ["ignore", "ignore", "inherit"],
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
|
|
140
187
|
function skipReason(env) {
|
|
141
188
|
if (env.EVERME_SKIP_PLUGIN_UPGRADE) return "EVERME_SKIP_PLUGIN_UPGRADE is set";
|
|
142
189
|
if (env.CI) return "CI environment";
|
|
@@ -166,19 +213,28 @@ function refreshPlugins(opts) {
|
|
|
166
213
|
return;
|
|
167
214
|
}
|
|
168
215
|
|
|
216
|
+
// The npx patch and the plugin refresh are not alternatives: codex needs
|
|
217
|
+
// both (npx spec in config.toml + marketplace-shipped hook bundle), so
|
|
218
|
+
// the two dispatches run in sequence rather than as one if/else chain.
|
|
169
219
|
for (const h of hosts) {
|
|
170
220
|
if (!h || h.hasEverMeEntry !== true) continue;
|
|
171
221
|
try {
|
|
172
|
-
if (NPX_PLATFORMS.has(h.platform)) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
} else if (h.platform === "claude-code") {
|
|
222
|
+
if (NPX_PLATFORMS.has(h.platform) && h.configPath && patchNpxSpec(h.configPath)) {
|
|
223
|
+
log(`[@everme/cli] ${h.platform}: pinned memory-mcp to @latest`);
|
|
224
|
+
}
|
|
225
|
+
if (h.platform === "claude-code") {
|
|
177
226
|
refreshClaudeCode(binPath, runner);
|
|
227
|
+
} else if (h.platform === "codex") {
|
|
228
|
+
refreshCodex(binPath, runner);
|
|
178
229
|
} else if (h.platform === "openclaw") {
|
|
179
230
|
refreshOpenClaw(runner);
|
|
180
231
|
} else if (h.platform === "hermes") {
|
|
181
232
|
refreshHermes(binPath, runner);
|
|
233
|
+
} else if (h.platform === "raven") {
|
|
234
|
+
refreshRaven(binPath, runner);
|
|
235
|
+
} else if (h.platform === "kimicode") {
|
|
236
|
+
refreshKimicode(binPath, runner);
|
|
237
|
+
log("[@everme/cli] kimicode: bundle staged — run `/plugins install ~/.kimi-code/everme` in the Kimi Code TUI to load it");
|
|
182
238
|
}
|
|
183
239
|
} catch (e) {
|
|
184
240
|
log(`[@everme/cli] ${h.platform}: refresh failed (continuing): ${e.message}`);
|
|
@@ -207,8 +263,11 @@ module.exports = {
|
|
|
207
263
|
discoverHosts,
|
|
208
264
|
patchNpxSpec,
|
|
209
265
|
refreshClaudeCode,
|
|
266
|
+
refreshCodex,
|
|
210
267
|
refreshOpenClaw,
|
|
211
268
|
refreshHermes,
|
|
269
|
+
refreshKimicode,
|
|
270
|
+
refreshRaven,
|
|
212
271
|
skipReason,
|
|
213
272
|
refreshPlugins,
|
|
214
273
|
logUnconnectedHosts,
|
package/sha256sums.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
8baf8fae3ba2fb76affbd243d7c8fd6d3cddb905f9f55201a7168793153eeae7 evercli_darwin_amd64.tar.gz
|
|
2
|
+
973ee6c170867fd03f1b1d4c93e25fe389b46d531056d0a591f0bbfad35713cb evercli_darwin_arm64.tar.gz
|
|
3
|
+
c2d9ad36fdc9fa0210febbc62409172b90e563ee58de97bee2ea52b96296a2b9 evercli_linux_amd64.tar.gz
|
|
4
|
+
09ba0fe90824ff94aef6da1f1a83151b1bd487edaaadd0cbbf2f18b2c5e11d4d evercli_linux_arm64.tar.gz
|
|
5
|
+
93373d46dc554bb5bd3076de108bcde505d624d689a995ff1092f7a3951c3d67 evercli_windows_amd64.zip
|
|
6
|
+
f18f2313f1b2b27f3e02fb3524381e27695f4c3ba4b492453aec31e4ad78ba84 evercli_windows_arm64.zip
|