@reumbra/forge 0.3.6 → 0.3.7

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.
@@ -1,7 +1,7 @@
1
1
  import { cpSync, existsSync, mkdirSync, readdirSync, rmSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { ApiError, apiRequest, downloadFile } from "../lib/api.js";
4
- import { enablePlugin, registerMarketplace } from "../lib/claude-integration.js";
4
+ import { enablePlugin, invalidatePluginCache, registerMarketplace, } from "../lib/claude-integration.js";
5
5
  import { loadConfig, saveConfig } from "../lib/config.js";
6
6
  import { log } from "../lib/logger.js";
7
7
  import { ensureMarketplaceDir, marketplacePluginDir, updateMarketplaceJson, } from "../lib/marketplace.js";
@@ -64,6 +64,8 @@ export async function install(pluginName, version) {
64
64
  registerMarketplace();
65
65
  // Enable plugin in Claude Code settings
66
66
  enablePlugin(fullName);
67
+ // Clear stale Claude Code cache so next restart picks up new version
68
+ invalidatePluginCache(fullName);
67
69
  // Update config
68
70
  config.installed_plugins[fullName] = {
69
71
  version: result.version,
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,14 @@ export declare function removeMarketplace(): void;
3
3
  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
+ /**
7
+ * Remove stale plugin data from Claude Code's internal cache.
8
+ *
9
+ * After `forge install/update`, the marketplace has the new version, but
10
+ * Claude Code may still load the old version from its cache. This function:
11
+ * 1. Removes the plugin entry from `installed_plugins.json` so Claude Code
12
+ * treats the plugin as newly enabled on next restart.
13
+ * 2. Deletes all cached version directories under `cache/reumbra/<plugin>/`
14
+ * so Claude Code re-copies from the updated marketplace.
15
+ */
16
+ export declare function invalidatePluginCache(pluginName: string): void;
@@ -1,6 +1,6 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
- import { dirname } from "node:path";
3
- import { claudeKnownMarketplacesPath, claudeSettingsPath, MARKETPLACE_DIR } from "./paths.js";
1
+ import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import { claudeInstalledPluginsPath, claudeKnownMarketplacesPath, claudePluginCacheDir, claudeSettingsPath, MARKETPLACE_DIR, } from "./paths.js";
4
4
  const MARKETPLACE_NAME = "reumbra";
5
5
  // --- known_marketplaces.json ---
6
6
  export function registerMarketplace() {
@@ -55,6 +55,34 @@ export function isPluginEnabled(pluginName) {
55
55
  const enabled = data.enabledPlugins;
56
56
  return enabled?.[`${pluginName}@${MARKETPLACE_NAME}`] === true;
57
57
  }
58
+ // --- cache invalidation ---
59
+ /**
60
+ * Remove stale plugin data from Claude Code's internal cache.
61
+ *
62
+ * After `forge install/update`, the marketplace has the new version, but
63
+ * Claude Code may still load the old version from its cache. This function:
64
+ * 1. Removes the plugin entry from `installed_plugins.json` so Claude Code
65
+ * treats the plugin as newly enabled on next restart.
66
+ * 2. Deletes all cached version directories under `cache/reumbra/<plugin>/`
67
+ * so Claude Code re-copies from the updated marketplace.
68
+ */
69
+ export function invalidatePluginCache(pluginName) {
70
+ // 1. Remove entry from installed_plugins.json
71
+ const installedPath = claudeInstalledPluginsPath();
72
+ if (existsSync(installedPath)) {
73
+ const data = readJsonSafe(installedPath, {});
74
+ const plugins = data.plugins;
75
+ if (plugins) {
76
+ delete plugins[`${pluginName}@${MARKETPLACE_NAME}`];
77
+ writeJsonSafe(installedPath, data);
78
+ }
79
+ }
80
+ // 2. Remove cached version directories
81
+ const cacheDir = join(claudePluginCacheDir(), MARKETPLACE_NAME, pluginName);
82
+ if (existsSync(cacheDir)) {
83
+ rmSync(cacheDir, { recursive: true, force: true });
84
+ }
85
+ }
58
86
  // --- JSON helpers ---
59
87
  function readJsonSafe(filePath, fallback) {
60
88
  if (!existsSync(filePath))
@@ -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,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9F,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,uBAAuB;AAEvB,SAAS,YAAY,CAAI,QAAgB,EAAE,QAAW;IACpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAM,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,IAAa;IACpD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"claude-integration.js","sourceRoot":"","sources":["../../src/lib/claude-integration.ts"],"names":[],"mappings":"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"}
@@ -12,3 +12,7 @@ export declare function claudePluginDir(): string;
12
12
  export declare function claudeSettingsPath(): string;
13
13
  /** Claude Code known_marketplaces.json */
14
14
  export declare function claudeKnownMarketplacesPath(): string;
15
+ /** Claude Code installed_plugins.json */
16
+ export declare function claudeInstalledPluginsPath(): string;
17
+ /** Claude Code plugin cache directory (~/.claude/plugins/cache/) */
18
+ export declare function claudePluginCacheDir(): string;
package/dist/lib/paths.js CHANGED
@@ -20,4 +20,12 @@ export function claudeSettingsPath() {
20
20
  export function claudeKnownMarketplacesPath() {
21
21
  return join(homedir(), ".claude", "plugins", "known_marketplaces.json");
22
22
  }
23
+ /** Claude Code installed_plugins.json */
24
+ export function claudeInstalledPluginsPath() {
25
+ return join(homedir(), ".claude", "plugins", "installed_plugins.json");
26
+ }
27
+ /** Claude Code plugin cache directory (~/.claude/plugins/cache/) */
28
+ export function claudePluginCacheDir() {
29
+ return join(homedir(), ".claude", "plugins", "cache");
30
+ }
23
31
  //# sourceMappingURL=paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,sBAAsB;AACtB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAEnD,mCAAmC;AACnC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAE1D,iCAAiC;AACjC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAElD,6CAA6C;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAE9D,mCAAmC;AACnC,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AACrD,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,2BAA2B;IACzC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,sBAAsB;AACtB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAEnD,mCAAmC;AACnC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAE1D,iCAAiC;AACjC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAElD,6CAA6C;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAE9D,mCAAmC;AACnC,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AACrD,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,2BAA2B;IACzC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;AAC1E,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC;AACzE,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reumbra/forge",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "description": "CLI for installing and managing Forge plugins for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {