@reumbra/forge 0.3.7 → 0.3.8
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.
|
@@ -4,13 +4,17 @@ export declare function enablePlugin(pluginName: string): void;
|
|
|
4
4
|
export declare function disablePlugin(pluginName: string): void;
|
|
5
5
|
export declare function isPluginEnabled(pluginName: string): boolean;
|
|
6
6
|
/**
|
|
7
|
-
* Remove stale plugin data from Claude Code's internal
|
|
7
|
+
* Remove stale plugin data from Claude Code's internal state.
|
|
8
8
|
*
|
|
9
9
|
* After `forge install/update`, the marketplace has the new version, but
|
|
10
|
-
* Claude Code may still load the old version
|
|
10
|
+
* Claude Code may still load the old version. This function clears all
|
|
11
|
+
* three layers of Claude Code's plugin state:
|
|
11
12
|
* 1. Removes the plugin entry from `installed_plugins.json` so Claude Code
|
|
12
13
|
* treats the plugin as newly enabled on next restart.
|
|
13
|
-
* 2. Deletes
|
|
14
|
+
* 2. Deletes cached version directories under `cache/reumbra/<plugin>/`
|
|
14
15
|
* so Claude Code re-copies from the updated marketplace.
|
|
16
|
+
* 3. Deletes the "active copy" at `~/.claude/plugins/<plugin>/` which
|
|
17
|
+
* takes priority over cache — without this, Claude Code loads the
|
|
18
|
+
* stale active copy and never checks cache for newer versions.
|
|
15
19
|
*/
|
|
16
20
|
export declare function invalidatePluginCache(pluginName: string): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
|
-
import { claudeInstalledPluginsPath, claudeKnownMarketplacesPath, claudePluginCacheDir, claudeSettingsPath, MARKETPLACE_DIR, } from "./paths.js";
|
|
3
|
+
import { claudeInstalledPluginsPath, claudeKnownMarketplacesPath, claudePluginCacheDir, claudePluginDir, claudeSettingsPath, MARKETPLACE_DIR, } from "./paths.js";
|
|
4
4
|
const MARKETPLACE_NAME = "reumbra";
|
|
5
5
|
// --- known_marketplaces.json ---
|
|
6
6
|
export function registerMarketplace() {
|
|
@@ -57,14 +57,18 @@ export function isPluginEnabled(pluginName) {
|
|
|
57
57
|
}
|
|
58
58
|
// --- cache invalidation ---
|
|
59
59
|
/**
|
|
60
|
-
* Remove stale plugin data from Claude Code's internal
|
|
60
|
+
* Remove stale plugin data from Claude Code's internal state.
|
|
61
61
|
*
|
|
62
62
|
* After `forge install/update`, the marketplace has the new version, but
|
|
63
|
-
* Claude Code may still load the old version
|
|
63
|
+
* Claude Code may still load the old version. This function clears all
|
|
64
|
+
* three layers of Claude Code's plugin state:
|
|
64
65
|
* 1. Removes the plugin entry from `installed_plugins.json` so Claude Code
|
|
65
66
|
* treats the plugin as newly enabled on next restart.
|
|
66
|
-
* 2. Deletes
|
|
67
|
+
* 2. Deletes cached version directories under `cache/reumbra/<plugin>/`
|
|
67
68
|
* so Claude Code re-copies from the updated marketplace.
|
|
69
|
+
* 3. Deletes the "active copy" at `~/.claude/plugins/<plugin>/` which
|
|
70
|
+
* takes priority over cache — without this, Claude Code loads the
|
|
71
|
+
* stale active copy and never checks cache for newer versions.
|
|
68
72
|
*/
|
|
69
73
|
export function invalidatePluginCache(pluginName) {
|
|
70
74
|
// 1. Remove entry from installed_plugins.json
|
|
@@ -82,6 +86,11 @@ export function invalidatePluginCache(pluginName) {
|
|
|
82
86
|
if (existsSync(cacheDir)) {
|
|
83
87
|
rmSync(cacheDir, { recursive: true, force: true });
|
|
84
88
|
}
|
|
89
|
+
// 3. Remove stale "active copy" (highest priority in Claude Code's loading)
|
|
90
|
+
const activeCopy = join(claudePluginDir(), pluginName);
|
|
91
|
+
if (existsSync(activeCopy)) {
|
|
92
|
+
rmSync(activeCopy, { recursive: true, force: true });
|
|
93
|
+
}
|
|
85
94
|
}
|
|
86
95
|
// --- JSON helpers ---
|
|
87
96
|
function readJsonSafe(filePath, fallback) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-integration.js","sourceRoot":"","sources":["../../src/lib/claude-integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEnC,kCAAkC;AAElC,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG,2BAA2B,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,YAAY,CAA0B,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEjE,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAAE,OAAO,CAAC,qBAAqB;IAEzD,IAAI,CAAC,gBAAgB,CAAC,GAAG;QACvB,MAAM,EAAE;YACN,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,eAAe;SACtB;QACD,eAAe,EAAE,eAAe;QAChC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;IAEF,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,QAAQ,GAAG,2BAA2B,EAAE,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAElC,MAAM,IAAI,GAAG,YAAY,CAA0B,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9B,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,yCAAyC;AAEzC,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC7C,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,YAAY,CAA0B,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEjE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;QACpE,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;IAEA,IAAI,CAAC,cAA0C,CAAC,GAAG,UAAU,IAAI,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC;IAC7F,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAElC,MAAM,IAAI,GAAG,YAAY,CAA0B,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAqD,CAAC;IAC3E,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,OAAO,OAAO,CAAC,GAAG,UAAU,IAAI,gBAAgB,EAAE,CAAC,CAAC;IACpD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,MAAM,IAAI,GAAG,YAAY,CAA0B,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAqD,CAAC;IAC3E,OAAO,OAAO,EAAE,CAAC,GAAG,UAAU,IAAI,gBAAgB,EAAE,CAAC,KAAK,IAAI,CAAC;AACjE,CAAC;AAED,6BAA6B;AAE7B
|
|
1
|
+
{"version":3,"file":"claude-integration.js","sourceRoot":"","sources":["../../src/lib/claude-integration.ts"],"names":[],"mappings":"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"}
|