@everme/cli 0.28.1 → 0.30.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
|
+
a580e5b44aab54bd9a2146ae1d7abb3110fb1a8519cd6cd19295b395eb968324 evercli_darwin_amd64.tar.gz
|
|
2
|
+
1ca8d67f76209a40ee8bee49ffea08a39a600a03e0831f43afc280edd4682067 evercli_darwin_arm64.tar.gz
|
|
3
|
+
0b62c90f20d9c41bdec684ca148af191de28f75a6dba94d84fbbbde230224bc7 evercli_linux_amd64.tar.gz
|
|
4
|
+
1cba8ced8cabf0b8e66530daf52a5e2f00daa976aee382024100eff3f25fdfdb evercli_linux_arm64.tar.gz
|
|
5
|
+
3f0956cfbc646df9a700d6e67c83c8ff6bb2d1f007d770cf0fc768d62b431001 evercli_windows_amd64.zip
|
|
6
|
+
c697050fcbeb9da84a06121bc1e409a48feb39d28152d2413d22a76588ac75ab evercli_windows_arm64.zip
|