md4ai 0.6.0 → 0.6.1

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.
@@ -1161,7 +1161,7 @@ function escapeHtml(text) {
1161
1161
 
1162
1162
  // dist/check-update.js
1163
1163
  import chalk8 from "chalk";
1164
- var CURRENT_VERSION = "0.6.0";
1164
+ var CURRENT_VERSION = "0.6.1";
1165
1165
  async function checkForUpdate() {
1166
1166
  try {
1167
1167
  const controller = new AbortController();
@@ -2050,9 +2050,33 @@ function parseServers(data, source) {
2050
2050
  }
2051
2051
  return entries;
2052
2052
  }
2053
+ function parseFlatConfig(data, source) {
2054
+ if (!data)
2055
+ return [];
2056
+ const entries = [];
2057
+ for (const [name, server] of Object.entries(data)) {
2058
+ if (typeof server !== "object" || server === null)
2059
+ continue;
2060
+ if (!server.command && !server.url)
2061
+ continue;
2062
+ const serverType = server.type === "http" ? "http" : "stdio";
2063
+ entries.push({
2064
+ name,
2065
+ source,
2066
+ type: serverType,
2067
+ command: server.command,
2068
+ args: server.args,
2069
+ env: server.env,
2070
+ url: server.url
2071
+ });
2072
+ }
2073
+ return entries;
2074
+ }
2053
2075
  async function readAllMcpConfigs() {
2054
2076
  const home = homedir7();
2055
2077
  const entries = [];
2078
+ const userConfig = await readJsonSafe(join11(home, ".claude.json"));
2079
+ entries.push(...parseServers(userConfig, "global"));
2056
2080
  const globalMcp = await readJsonSafe(join11(home, ".claude", "mcp.json"));
2057
2081
  entries.push(...parseServers(globalMcp, "global"));
2058
2082
  const cwdMcp = await readJsonSafe(join11(process.cwd(), ".mcp.json"));
@@ -2078,6 +2102,34 @@ async function readAllMcpConfigs() {
2078
2102
  } catch {
2079
2103
  }
2080
2104
  }
2105
+ const cacheBase = join11(home, ".claude", "plugins", "cache");
2106
+ if (existsSync10(cacheBase)) {
2107
+ try {
2108
+ const registries = await readdir3(cacheBase, { withFileTypes: true });
2109
+ for (const reg of registries) {
2110
+ if (!reg.isDirectory())
2111
+ continue;
2112
+ const regDir = join11(cacheBase, reg.name);
2113
+ const plugins = await readdir3(regDir, { withFileTypes: true });
2114
+ for (const plugin of plugins) {
2115
+ if (!plugin.isDirectory())
2116
+ continue;
2117
+ const versionDirs = await readdir3(join11(regDir, plugin.name), { withFileTypes: true });
2118
+ for (const ver of versionDirs) {
2119
+ if (!ver.isDirectory())
2120
+ continue;
2121
+ const mcpPath = join11(regDir, plugin.name, ver.name, ".mcp.json");
2122
+ const flatData = await readJsonSafe(mcpPath);
2123
+ if (flatData) {
2124
+ entries.push(...parseFlatConfig(flatData, "plugin"));
2125
+ break;
2126
+ }
2127
+ }
2128
+ }
2129
+ }
2130
+ } catch {
2131
+ }
2132
+ }
2081
2133
  const seen = /* @__PURE__ */ new Set();
2082
2134
  const deduped = [];
2083
2135
  for (const entry of entries) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "md4ai",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "CLI for MD4AI — scan Claude projects and sync to your dashboard",
5
5
  "type": "module",
6
6
  "bin": {