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/cli/index.js +22 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/index.js +53 -9
- package/dist/mcp/index.js.map +1 -1
- package/package.json +1 -1
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:
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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 {
|