context-mode 1.0.121 → 1.0.123
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.openclaw-plugin/openclaw.plugin.json +1 -1
- package/.openclaw-plugin/package.json +1 -1
- package/README.md +4 -4
- package/build/adapters/claude-code/hooks.d.ts +16 -1
- package/build/adapters/claude-code/hooks.js +16 -0
- package/build/adapters/claude-code/index.js +2 -11
- package/build/adapters/client-map.js +6 -0
- package/build/adapters/codex/hooks.d.ts +19 -0
- package/build/adapters/codex/hooks.js +22 -0
- package/build/adapters/codex/index.js +8 -1
- package/build/adapters/copilot-base.d.ts +17 -1
- package/build/adapters/copilot-base.js +18 -2
- package/build/adapters/cursor/hooks.d.ts +14 -1
- package/build/adapters/cursor/hooks.js +14 -0
- package/build/adapters/detect.d.ts +12 -2
- package/build/adapters/detect.js +96 -13
- package/build/adapters/gemini-cli/hooks.d.ts +16 -0
- package/build/adapters/gemini-cli/hooks.js +19 -0
- package/build/adapters/gemini-cli/index.js +4 -2
- package/build/adapters/kiro/hooks.d.ts +16 -1
- package/build/adapters/kiro/hooks.js +19 -0
- package/build/adapters/pi/extension.d.ts +9 -0
- package/build/adapters/pi/extension.js +52 -1
- package/build/adapters/qwen-code/hooks.d.ts +26 -0
- package/build/adapters/qwen-code/hooks.js +29 -0
- package/build/adapters/qwen-code/index.js +6 -0
- package/build/cli.js +46 -5
- package/build/executor.js +18 -3
- package/build/lifecycle.d.ts +15 -0
- package/build/lifecycle.js +24 -1
- package/build/runtime.js +34 -13
- package/build/server.js +17 -2
- package/build/session/extract.js +150 -48
- package/build/session/snapshot.js +46 -0
- package/cli.bundle.mjs +151 -150
- package/configs/codex/hooks.json +1 -1
- package/configs/cursor/hooks.json +1 -1
- package/configs/kiro/agent.json +1 -1
- package/hooks/core/routing.mjs +56 -1
- package/hooks/cursor/hooks.json +1 -1
- package/hooks/ensure-deps.mjs +45 -10
- package/hooks/hooks.json +9 -0
- package/hooks/routing-block.mjs +5 -0
- package/hooks/session-extract.bundle.mjs +2 -2
- package/hooks/session-snapshot.bundle.mjs +21 -20
- package/openclaw.plugin.json +1 -1
- package/package.json +3 -3
- package/scripts/heal-better-sqlite3.mjs +188 -10
- package/scripts/heal-installed-plugins.mjs +111 -0
- package/scripts/postinstall.mjs +35 -9
- package/server.bundle.mjs +118 -118
- package/start.mjs +14 -1
- package/.mcp.json +0 -8
package/start.mjs
CHANGED
|
@@ -122,7 +122,7 @@ if (cacheMatch) {
|
|
|
122
122
|
// truth) so users who fix themselves via `npm install -g context-mode`
|
|
123
123
|
// follow the exact same code path. Best-effort, never blocks MCP boot.
|
|
124
124
|
try {
|
|
125
|
-
const { healInstalledPlugins, healSettingsEnabledPlugins, healPluginJsonMcpServers } =
|
|
125
|
+
const { healInstalledPlugins, healSettingsEnabledPlugins, healPluginJsonMcpServers, healMcpJsonArgs } =
|
|
126
126
|
await import("./scripts/heal-installed-plugins.mjs");
|
|
127
127
|
const pluginKey = "context-mode@context-mode";
|
|
128
128
|
const registryPath = resolve(homedir(), ".claude", "plugins", "installed_plugins.json");
|
|
@@ -140,6 +140,12 @@ try {
|
|
|
140
140
|
// path baked in. Iterates EVERY installed cache entry's installPath so
|
|
141
141
|
// multi-version installs all self-recover. Each call is independently wrapped
|
|
142
142
|
// because one poisoned entry must not block heals on the others. Best effort.
|
|
143
|
+
//
|
|
144
|
+
// v1.0.122 — Layer 5b extended (Issue #531): asymmetric-heal sibling for the
|
|
145
|
+
// `.mcp.json` file Claude Code reads at plugin load. Same per-entry loop, same
|
|
146
|
+
// defensive wrap. Covers both the #253/aea633c bare `./start.mjs` fresh-install
|
|
147
|
+
// regression AND the /ctx-upgrade tmpdir leak class. Both heals must run on
|
|
148
|
+
// every boot so users self-recover regardless of which drift shape hit them.
|
|
143
149
|
try {
|
|
144
150
|
if (existsSync(registryPath)) {
|
|
145
151
|
const ip = JSON.parse(readFileSync(registryPath, "utf-8"));
|
|
@@ -155,6 +161,13 @@ try {
|
|
|
155
161
|
pluginKey,
|
|
156
162
|
});
|
|
157
163
|
} catch { /* best effort — per-entry */ }
|
|
164
|
+
try {
|
|
165
|
+
healMcpJsonArgs({
|
|
166
|
+
pluginRoot: installPath,
|
|
167
|
+
pluginCacheRoot,
|
|
168
|
+
pluginKey,
|
|
169
|
+
});
|
|
170
|
+
} catch { /* best effort — per-entry */ }
|
|
158
171
|
}
|
|
159
172
|
}
|
|
160
173
|
}
|