switchroom 0.13.36 → 0.13.37

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.
@@ -23247,6 +23247,9 @@ function emitAgentService(lines, a, imageTag, buildMode, buildContext, homePrefi
23247
23247
  if (existsSync12(`${hostHomeForChecks}/.switchroom/skills`)) {
23248
23248
  lines.push(` - ${homePrefix}/.switchroom/skills:${homePrefix}/.switchroom/skills:ro`);
23249
23249
  }
23250
+ if (existsSync12(`${hostHomeForChecks}/.switchroom/mcp-launchers`)) {
23251
+ lines.push(` - ${homePrefix}/.switchroom/mcp-launchers:${homePrefix}/.switchroom/mcp-launchers:ro`);
23252
+ }
23250
23253
  if (existsSync12(`${hostHomeForChecks}/.switchroom/credentials/${a.name}`)) {
23251
23254
  lines.push(` - ${homePrefix}/.switchroom/credentials/${a.name}:${homePrefix}/.switchroom/credentials:ro`);
23252
23255
  }
@@ -29681,6 +29684,7 @@ __export(exports_doctor, {
29681
29684
  deriveEd25519PublicKeyBytes: () => deriveEd25519PublicKeyBytes,
29682
29685
  classifyReadError: () => classifyReadError,
29683
29686
  checkVaultBrokerSocketPairs: () => checkVaultBrokerSocketPairs,
29687
+ checkUserDeclaredMcps: () => checkUserDeclaredMcps,
29684
29688
  checkTelegram: () => checkTelegram,
29685
29689
  checkStartShStale: () => checkStartShStale,
29686
29690
  checkSkillsPrerequisites: () => checkSkillsPrerequisites,
@@ -29978,6 +29982,33 @@ function checkConfig(config, configPath) {
29978
29982
  });
29979
29983
  return results;
29980
29984
  }
29985
+ function checkUserDeclaredMcps(name, agentConfig, config, renderedMcpServers) {
29986
+ const resolved = resolveAgentConfig(config.defaults, config.profiles, agentConfig);
29987
+ const declaredMcp = resolved.mcp_servers ?? {};
29988
+ const declaredKeys = Object.entries(declaredMcp).filter(([, v]) => v !== false).map(([k]) => k);
29989
+ const renderedKeys = Object.keys(renderedMcpServers);
29990
+ const missing = declaredKeys.filter((k) => !renderedKeys.includes(k));
29991
+ if (declaredKeys.length === 0) {
29992
+ return {
29993
+ name: `${name}: user-declared MCPs`,
29994
+ status: "skip",
29995
+ detail: "no user-declared mcp_servers in switchroom.yaml"
29996
+ };
29997
+ }
29998
+ if (missing.length === 0) {
29999
+ return {
30000
+ name: `${name}: user-declared MCPs`,
30001
+ status: "ok",
30002
+ detail: `${declaredKeys.length} declared, all in .mcp.json (${declaredKeys.join(", ")})`
30003
+ };
30004
+ }
30005
+ return {
30006
+ name: `${name}: user-declared MCPs`,
30007
+ status: "warn",
30008
+ detail: `${missing.length}/${declaredKeys.length} declared but missing from .mcp.json: ${missing.join(", ")}`,
30009
+ fix: `Run \`switchroom agent reconcile ${name} --restart\`. If the entry still doesn't appear, check switchroom.yaml shape (defaults.mcp_servers.<key> or agents.${name}.mcp_servers.<key>).`
30010
+ };
30011
+ }
29981
30012
  function checkLegacyState() {
29982
30013
  const results = [];
29983
30014
  const h = process.env.HOME ?? "/root";
@@ -30739,6 +30770,7 @@ function checkAgents(config, configPath) {
30739
30770
  detail: memoryEnabled ? "switchroom-telegram + hindsight" : "switchroom-telegram"
30740
30771
  });
30741
30772
  }
30773
+ results.push(checkUserDeclaredMcps(name, agentConfig, config, mcp.mcpServers ?? {}));
30742
30774
  } catch (err) {
30743
30775
  results.push({
30744
30776
  name: `${name}: .mcp.json`,
@@ -31354,6 +31386,7 @@ var init_doctor = __esm(() => {
31354
31386
  init_doctor_status();
31355
31387
  init_vault();
31356
31388
  init_loader();
31389
+ init_merge();
31357
31390
  init_paths();
31358
31391
  init_helpers();
31359
31392
  init_lifecycle();
@@ -47711,8 +47744,8 @@ var {
47711
47744
  } = import__.default;
47712
47745
 
47713
47746
  // src/build-info.ts
47714
- var VERSION = "0.13.36";
47715
- var COMMIT_SHA = "73e8bb05";
47747
+ var VERSION = "0.13.37";
47748
+ var COMMIT_SHA = "623c57e0";
47716
47749
 
47717
47750
  // src/cli/agent.ts
47718
47751
  init_source();
@@ -49460,6 +49493,14 @@ function scaffoldAgent(name, agentConfigRaw, agentsDir, telegramConfig, switchro
49460
49493
  mcpServers[gdrive.key] = gdrive.value;
49461
49494
  }
49462
49495
  }
49496
+ if (agentConfig.mcp_servers) {
49497
+ const filtered = filterMcpServers(agentConfig.mcp_servers);
49498
+ if (filtered) {
49499
+ for (const [key, value] of Object.entries(filtered)) {
49500
+ mcpServers[key] = value;
49501
+ }
49502
+ }
49503
+ }
49463
49504
  writeIfChanged(mcpJsonPath, () => JSON.stringify({ mcpServers }, null, 2) + `
49464
49505
  `, created, skipped, 384);
49465
49506
  mcpServerKeysToTrust = Object.keys(mcpServers);
@@ -50504,6 +50545,14 @@ ${body}
50504
50545
  mcpServers[gdrive.key] = gdrive.value;
50505
50546
  }
50506
50547
  }
50548
+ if (agentConfig.mcp_servers) {
50549
+ const filtered = filterMcpServers(agentConfig.mcp_servers);
50550
+ if (filtered) {
50551
+ for (const [key, value] of Object.entries(filtered)) {
50552
+ mcpServers[key] = value;
50553
+ }
50554
+ }
50555
+ }
50507
50556
  const mcpJson = { mcpServers };
50508
50557
  const after = JSON.stringify(mcpJson, null, 2) + `
50509
50558
  `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "switchroom",
3
- "version": "0.13.36",
3
+ "version": "0.13.37",
4
4
  "description": "Run Claude Code 24/7 on your Claude Pro/Max subscription over Telegram. Open-source alternative to OpenClaw and NanoClaw — no API keys.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -48671,10 +48671,10 @@ function sweepStaleTurnActiveMarker(stateDir, opts) {
48671
48671
  }
48672
48672
 
48673
48673
  // ../src/build-info.ts
48674
- var VERSION = "0.13.36";
48675
- var COMMIT_SHA = "73e8bb05";
48676
- var COMMIT_DATE = "2026-05-25T03:53:49Z";
48677
- var LATEST_PR = 1785;
48674
+ var VERSION = "0.13.37";
48675
+ var COMMIT_SHA = "623c57e0";
48676
+ var COMMIT_DATE = "2026-05-25T06:09:28Z";
48677
+ var LATEST_PR = 1789;
48678
48678
  var COMMITS_AHEAD_OF_TAG = 0;
48679
48679
 
48680
48680
  // gateway/boot-version.ts