archtracker-mcp 0.3.1 → 0.3.2

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/dist/mcp/index.js CHANGED
@@ -928,6 +928,25 @@ async function scanExtensions(dir, counts, maxDepth, currentDepth) {
928
928
  // src/analyzer/engines/languages.ts
929
929
  import { readFileSync } from "fs";
930
930
  import { join as join3, dirname, resolve as resolve3 } from "path";
931
+
932
+ // src/analyzer/engines/types.ts
933
+ var LANGUAGE_IDS = [
934
+ "javascript",
935
+ "python",
936
+ "rust",
937
+ "go",
938
+ "java",
939
+ "c-cpp",
940
+ "c-sharp",
941
+ "ruby",
942
+ "php",
943
+ "swift",
944
+ "kotlin",
945
+ "dart",
946
+ "scala"
947
+ ];
948
+
949
+ // src/analyzer/engines/languages.ts
931
950
  var python = {
932
951
  id: "python",
933
952
  extensions: [".py"],
@@ -1982,19 +2001,44 @@ var PathTraversalError = class extends Error {
1982
2001
  }
1983
2002
  };
1984
2003
 
2004
+ // src/utils/version.ts
2005
+ import { readFileSync as readFileSync2 } from "fs";
2006
+ import { join as join5, dirname as dirname2 } from "path";
2007
+ import { fileURLToPath } from "url";
2008
+ function loadVersion() {
2009
+ let dir = dirname2(fileURLToPath(import.meta.url));
2010
+ for (let i = 0; i < 5; i++) {
2011
+ try {
2012
+ const pkg = JSON.parse(readFileSync2(join5(dir, "package.json"), "utf-8"));
2013
+ return pkg.version;
2014
+ } catch {
2015
+ dir = dirname2(dir);
2016
+ }
2017
+ }
2018
+ return "0.0.0";
2019
+ }
2020
+ var VERSION = loadVersion();
2021
+
1985
2022
  // src/mcp/index.ts
1986
2023
  var server = new McpServer({
1987
2024
  name: "archtracker",
1988
- version: "0.3.1"
2025
+ version: VERSION
1989
2026
  });
2027
+ var languageEnum = z2.enum(LANGUAGE_IDS);
2028
+ var LANG_DISPLAY = {
2029
+ javascript: "JS/TS",
2030
+ "c-cpp": "C/C++",
2031
+ "c-sharp": "C#"
2032
+ };
2033
+ var languageList = LANGUAGE_IDS.map((id) => LANG_DISPLAY[id] ?? id.charAt(0).toUpperCase() + id.slice(1)).join(", ");
1990
2034
  server.tool(
1991
2035
  "generate_map",
1992
- "Analyze dependency graph of a directory and return file import/export structure as JSON. Supports JS/TS, Python, Rust, Go, Java, C/C++, C#, Ruby, PHP, Swift, Kotlin, Dart, Scala.",
2036
+ `Analyze dependency graph of a directory and return file import/export structure as JSON. Supports ${languageList}.`,
1993
2037
  {
1994
2038
  targetDir: z2.string().default("src").describe("Target directory path (default: src)"),
1995
2039
  exclude: z2.array(z2.string()).optional().describe("Array of regex patterns to exclude (e.g. ['test', 'mock'])"),
1996
2040
  maxDepth: z2.number().int().min(0).optional().describe("Max analysis depth (0 = unlimited)"),
1997
- language: z2.enum(["javascript", "python", "rust", "go", "java", "c-cpp", "c-sharp", "ruby", "php", "swift", "kotlin", "dart", "scala"]).optional().describe("Target language (auto-detected if omitted)")
2041
+ language: languageEnum.optional().describe("Target language (auto-detected if omitted)")
1998
2042
  },
1999
2043
  async ({ targetDir, exclude, maxDepth, language }) => {
2000
2044
  try {
@@ -2017,14 +2061,14 @@ server.tool(
2017
2061
  );
2018
2062
  server.tool(
2019
2063
  "analyze_existing_architecture",
2020
- "Comprehensive architecture analysis for existing projects. Shows critical components, circular dependencies, orphan files, coupling hotspots, and directory breakdown. Supports 13 languages.",
2064
+ `Comprehensive architecture analysis for existing projects. Shows critical components, circular dependencies, orphan files, coupling hotspots, and directory breakdown. Supports ${LANGUAGE_IDS.length} languages.`,
2021
2065
  {
2022
2066
  targetDir: z2.string().default("src").describe("Target directory path (default: src)"),
2023
2067
  exclude: z2.array(z2.string()).optional().describe("Array of regex patterns to exclude"),
2024
2068
  topN: z2.number().int().min(1).max(50).optional().describe("Number of top items to show in each section (default: 10)"),
2025
2069
  saveSnapshot: z2.boolean().optional().describe("Also save a snapshot after analysis (default: false)"),
2026
2070
  projectRoot: z2.string().default(".").describe("Project root (needed only when saveSnapshot is true)"),
2027
- language: z2.enum(["javascript", "python", "rust", "go", "java", "c-cpp", "c-sharp", "ruby", "php", "swift", "kotlin", "dart", "scala"]).optional().describe("Target language (auto-detected if omitted)")
2071
+ language: languageEnum.optional().describe("Target language (auto-detected if omitted)")
2028
2072
  },
2029
2073
  async ({ targetDir, exclude, topN, saveSnapshot: doSave, projectRoot, language }) => {
2030
2074
  try {
@@ -2051,7 +2095,7 @@ server.tool(
2051
2095
  {
2052
2096
  targetDir: z2.string().default("src").describe("Target directory path"),
2053
2097
  projectRoot: z2.string().default(".").describe("Project root (where .archtracker is placed)"),
2054
- language: z2.enum(["javascript", "python", "rust", "go", "java", "c-cpp", "c-sharp", "ruby", "php", "swift", "kotlin", "dart", "scala"]).optional().describe("Target language (auto-detected if omitted)")
2098
+ language: languageEnum.optional().describe("Target language (auto-detected if omitted)")
2055
2099
  },
2056
2100
  async ({ targetDir, projectRoot, language }) => {
2057
2101
  try {
@@ -2081,7 +2125,7 @@ server.tool(
2081
2125
  {
2082
2126
  targetDir: z2.string().default("src").describe("Target directory path"),
2083
2127
  projectRoot: z2.string().default(".").describe("Project root (where .archtracker is placed)"),
2084
- language: z2.enum(["javascript", "python", "rust", "go", "java", "c-cpp", "c-sharp", "ruby", "php", "swift", "kotlin", "dart", "scala"]).optional().describe("Target language (auto-detected if omitted)")
2128
+ language: languageEnum.optional().describe("Target language (auto-detected if omitted)")
2085
2129
  },
2086
2130
  async ({ targetDir, projectRoot, language }) => {
2087
2131
  try {
@@ -2119,7 +2163,7 @@ server.tool(
2119
2163
  {
2120
2164
  targetDir: z2.string().default("src").describe("Target directory path"),
2121
2165
  projectRoot: z2.string().default(".").describe("Project root"),
2122
- language: z2.enum(["javascript", "python", "rust", "go", "java", "c-cpp", "c-sharp", "ruby", "php", "swift", "kotlin", "dart", "scala"]).optional().describe("Target language (auto-detected if omitted)")
2166
+ language: languageEnum.optional().describe("Target language (auto-detected if omitted)")
2123
2167
  },
2124
2168
  async ({ targetDir, projectRoot, language }) => {
2125
2169
  try {
@@ -2179,7 +2223,7 @@ server.tool(
2179
2223
  targetDir: z2.string().default("src").describe("Target directory path"),
2180
2224
  projectRoot: z2.string().default(".").describe("Project root"),
2181
2225
  limit: z2.number().int().min(1).max(50).optional().describe("Max results (default: 10)"),
2182
- language: z2.enum(["javascript", "python", "rust", "go", "java", "c-cpp", "c-sharp", "ruby", "php", "swift", "kotlin", "dart", "scala"]).optional().describe("Target language (auto-detected if omitted)")
2226
+ language: languageEnum.optional().describe("Target language (auto-detected if omitted)")
2183
2227
  },
2184
2228
  async ({ query, mode, targetDir, projectRoot, limit, language }) => {
2185
2229
  try {