get-claudia 1.53.2 → 1.53.3

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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to Claudia will be documented in this file.
4
4
 
5
+ ## 1.53.3 (2026-03-04)
6
+
7
+ ### Fix: Actually restore disabled MCP servers on upgrade
8
+
9
+ v1.53.2 added restore logic for `_disabled_`-prefixed keys in `mcpServers`, but an early return (`if (!config._disabled_mcpServers) return`) prevented it from running. The function now handles both migration paths independently: the `_disabled_mcpServers` stash (Path 1) and `_disabled_*` prefixed keys directly in `mcpServers` (Path 2). Path 2 is now generic and renames any `_disabled_*` key, not just gmail/google-calendar.
10
+
5
11
  ## 1.53.2 (2026-03-04)
6
12
 
7
13
  ### Re-enable Gmail and Calendar MCPs
package/bin/index.js CHANGED
@@ -1014,31 +1014,38 @@ function restoreMcpServers(targetPath) {
1014
1014
  try {
1015
1015
  const raw = readFileSync(mcpPath, 'utf-8');
1016
1016
  const config = JSON.parse(raw);
1017
- if (!config._disabled_mcpServers) return;
1018
1017
  if (!config.mcpServers) config.mcpServers = {};
1019
1018
 
1020
- // Restore all previously disabled servers (memory, gmail, google-calendar)
1021
- const toRestore = ['claudia-memory', 'claudia_memory', 'gmail', 'google-calendar'];
1022
1019
  let changed = false;
1023
1020
  const restored = [];
1024
1021
 
1025
- for (const key of toRestore) {
1026
- if (config._disabled_mcpServers[key] && !config.mcpServers[key]) {
1027
- const serverConfig = { ...config._disabled_mcpServers[key] };
1028
- delete serverConfig._replaced_by;
1029
- delete serverConfig._warning;
1030
- config.mcpServers[key] = serverConfig;
1031
- delete config._disabled_mcpServers[key];
1032
- changed = true;
1033
- restored.push(key);
1022
+ // Path 1: Restore from _disabled_mcpServers stash (older migration format)
1023
+ if (config._disabled_mcpServers) {
1024
+ const toRestore = ['claudia-memory', 'claudia_memory', 'gmail', 'google-calendar'];
1025
+ for (const key of toRestore) {
1026
+ if (config._disabled_mcpServers[key] && !config.mcpServers[key]) {
1027
+ const serverConfig = { ...config._disabled_mcpServers[key] };
1028
+ delete serverConfig._replaced_by;
1029
+ delete serverConfig._warning;
1030
+ config.mcpServers[key] = serverConfig;
1031
+ delete config._disabled_mcpServers[key];
1032
+ changed = true;
1033
+ restored.push(key);
1034
+ }
1035
+ }
1036
+
1037
+ // Clean up _disabled_mcpServers if it's now empty
1038
+ if (Object.keys(config._disabled_mcpServers).length === 0) {
1039
+ delete config._disabled_mcpServers;
1034
1040
  }
1035
1041
  }
1036
1042
 
1037
- // Also rename _disabled_ prefixed keys in mcpServers itself
1043
+ // Path 2: Rename _disabled_ prefixed keys in mcpServers itself
1044
+ // This handles the case where keys like "_disabled_gmail" exist directly in mcpServers
1038
1045
  for (const key of Object.keys(config.mcpServers)) {
1039
1046
  if (key.startsWith('_disabled_')) {
1040
1047
  const realKey = key.replace('_disabled_', '');
1041
- if (['gmail', 'google-calendar'].includes(realKey) && !config.mcpServers[realKey]) {
1048
+ if (!config.mcpServers[realKey]) {
1042
1049
  const serverConfig = { ...config.mcpServers[key] };
1043
1050
  delete serverConfig._warning;
1044
1051
  config.mcpServers[realKey] = serverConfig;
@@ -1049,14 +1056,9 @@ function restoreMcpServers(targetPath) {
1049
1056
  }
1050
1057
  }
1051
1058
 
1052
- // Clean up _disabled_mcpServers if it's now empty
1053
- if (config._disabled_mcpServers && Object.keys(config._disabled_mcpServers).length === 0) {
1054
- delete config._disabled_mcpServers;
1055
- }
1056
-
1057
1059
  if (changed) {
1058
1060
  writeFileSync(mcpPath, JSON.stringify(config, null, 2) + '\n');
1059
- console.log(` ${colors.green}✓${colors.reset} Restored MCP servers: ${restored.join(', ')} (moved back from _disabled_mcpServers)`);
1061
+ console.log(` ${colors.green}✓${colors.reset} Restored MCP servers: ${restored.join(', ')}`);
1060
1062
  }
1061
1063
  } catch {
1062
1064
  // Not valid JSON or can't read -- skip silently
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "get-claudia",
3
- "version": "1.53.2",
3
+ "version": "1.53.3",
4
4
  "description": "An AI assistant who learns how you work.",
5
5
  "keywords": [
6
6
  "claudia",