crosspad-mcp-server 4.0.1 → 5.0.0
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/config.d.ts +13 -3
- package/dist/config.js +89 -20
- package/dist/config.js.map +1 -1
- package/dist/index.js +214 -308
- package/dist/index.js.map +1 -1
- package/dist/tools/app-manager.d.ts +37 -0
- package/dist/tools/app-manager.js +230 -0
- package/dist/tools/app-manager.js.map +1 -0
- package/dist/tools/architecture.d.ts +1 -1
- package/dist/tools/architecture.js +43 -32
- package/dist/tools/architecture.js.map +1 -1
- package/dist/tools/build-check.js +2 -2
- package/dist/tools/build-check.js.map +1 -1
- package/dist/tools/build.js +2 -4
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/diff-core.js.map +1 -1
- package/dist/tools/idf-build.js +3 -3
- package/dist/tools/idf-build.js.map +1 -1
- package/dist/tools/log.js +3 -3
- package/dist/tools/log.js.map +1 -1
- package/dist/tools/repos.js +38 -28
- package/dist/tools/repos.js.map +1 -1
- package/dist/tools/screenshot.d.ts +1 -2
- package/dist/tools/screenshot.js +3 -10
- package/dist/tools/screenshot.js.map +1 -1
- package/dist/tools/symbols.js +4 -3
- package/dist/tools/symbols.js.map +1 -1
- package/dist/tools/test.js +2 -5
- package/dist/tools/test.js.map +1 -1
- package/dist/utils/exec.d.ts +12 -4
- package/dist/utils/exec.js +52 -17
- package/dist/utils/exec.js.map +1 -1
- package/package.json +24 -4
- package/.mcpregistry_github_token +0 -1
- package/.mcpregistry_registry_token +0 -1
- package/mcp-publisher.exe +0 -0
- package/mcp-publisher.tar.gz +0 -0
- package/server.json +0 -21
- package/src/config.ts +0 -45
- package/src/index.ts +0 -484
- package/src/tools/architecture.ts +0 -260
- package/src/tools/build-check.ts +0 -178
- package/src/tools/build.ts +0 -130
- package/src/tools/diff-core.ts +0 -130
- package/src/tools/idf-build.ts +0 -182
- package/src/tools/input.ts +0 -80
- package/src/tools/log.ts +0 -75
- package/src/tools/repos.ts +0 -75
- package/src/tools/scaffold.ts +0 -229
- package/src/tools/screenshot.ts +0 -100
- package/src/tools/settings.ts +0 -68
- package/src/tools/stats.ts +0 -38
- package/src/tools/symbols.ts +0 -185
- package/src/tools/test.ts +0 -264
- package/src/utils/exec.ts +0 -376
- package/src/utils/git.ts +0 -45
- package/src/utils/remote-client.ts +0 -107
- package/tsconfig.json +0 -16
package/dist/config.d.ts
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
export declare const IS_WINDOWS: boolean;
|
|
2
2
|
export declare const IS_MAC: boolean;
|
|
3
3
|
export declare const CROSSPAD_PC_ROOT: string;
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const CROSSPAD_IDF_ROOT: string;
|
|
5
|
+
export declare const IDF_PATH: string;
|
|
5
6
|
export declare const VCVARSALL: string;
|
|
6
7
|
export declare const VCPKG_TOOLCHAIN: string;
|
|
7
8
|
export declare const BUILD_DIR: string;
|
|
8
9
|
export declare const BIN_EXE: string;
|
|
9
|
-
|
|
10
|
-
export declare
|
|
10
|
+
/** Returns only repos that actually exist on disk. Cached for server lifetime. */
|
|
11
|
+
export declare function getRepos(): Record<string, string>;
|
|
12
|
+
export declare const REPOS: Record<string, string>;
|
|
13
|
+
/**
|
|
14
|
+
* Resolve the crosspad-core include path. Checks:
|
|
15
|
+
* 1. Standalone repo at $GIT_DIR/crosspad-core
|
|
16
|
+
* 2. Submodule inside platform-idf: $IDF_ROOT/components/crosspad-core
|
|
17
|
+
* 3. Submodule inside crosspad-pc: $PC_ROOT/crosspad-core
|
|
18
|
+
* Returns null if not found anywhere.
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveCrosspadCore(): string | null;
|
package/dist/config.js
CHANGED
|
@@ -1,33 +1,102 @@
|
|
|
1
|
+
import fs from "fs";
|
|
1
2
|
import path from "path";
|
|
2
3
|
import os from "os";
|
|
3
4
|
export const IS_WINDOWS = process.platform === "win32";
|
|
4
5
|
export const IS_MAC = process.platform === "darwin";
|
|
5
|
-
//
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const GIT_DIR = process.env.CROSSPAD_GIT_DIR || defaultGitDir;
|
|
6
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
7
|
+
// BASE PATHS — all overridable via env vars
|
|
8
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
9
|
+
const GIT_DIR = process.env.CROSSPAD_GIT_DIR || path.join(os.homedir(), "GIT");
|
|
10
10
|
export const CROSSPAD_PC_ROOT = process.env.CROSSPAD_PC_ROOT || path.join(GIT_DIR, "crosspad-pc");
|
|
11
|
-
export const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
export const CROSSPAD_IDF_ROOT = process.env.CROSSPAD_IDF_ROOT || path.join(GIT_DIR, "platform-idf");
|
|
12
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
13
|
+
// ESP-IDF SDK PATH — fallback chain
|
|
14
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
15
|
+
function findIdfPath() {
|
|
16
|
+
if (process.env.IDF_PATH)
|
|
17
|
+
return process.env.IDF_PATH;
|
|
18
|
+
// Try common paths
|
|
19
|
+
const candidates = [
|
|
20
|
+
path.join(os.homedir(), "esp", "esp-idf"),
|
|
21
|
+
path.join(os.homedir(), "esp", "v5.5.4", "esp-idf"),
|
|
22
|
+
path.join(os.homedir(), "esp", "v5.5", "esp-idf"),
|
|
23
|
+
];
|
|
24
|
+
for (const p of candidates) {
|
|
25
|
+
if (fs.existsSync(p))
|
|
26
|
+
return p;
|
|
27
|
+
}
|
|
28
|
+
// Last resort — return the most common default even if missing
|
|
29
|
+
return path.join(os.homedir(), "esp", "esp-idf");
|
|
30
|
+
}
|
|
31
|
+
export const IDF_PATH = findIdfPath();
|
|
32
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
33
|
+
// MSVC / VCPKG — Windows-only build tools
|
|
34
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
20
35
|
export const VCVARSALL = process.env.VCVARSALL ||
|
|
21
36
|
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Auxiliary\\Build\\vcvarsall.bat";
|
|
22
|
-
// vcpkg — platform-aware defaults
|
|
23
37
|
const defaultVcpkgRoot = IS_WINDOWS ? "C:/vcpkg" : path.join(os.homedir(), "vcpkg");
|
|
24
38
|
const vcpkgRoot = process.env.VCPKG_ROOT || defaultVcpkgRoot;
|
|
25
39
|
export const VCPKG_TOOLCHAIN = path.join(vcpkgRoot, "scripts", "buildsystems", "vcpkg.cmake");
|
|
40
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
41
|
+
// PC SIMULATOR PATHS
|
|
42
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
26
43
|
export const BUILD_DIR = path.join(CROSSPAD_PC_ROOT, "build");
|
|
27
44
|
const EXE_EXT = IS_WINDOWS ? ".exe" : "";
|
|
28
|
-
export const BIN_EXE = path.join(CROSSPAD_PC_ROOT, "bin", `
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
45
|
+
export const BIN_EXE = path.join(CROSSPAD_PC_ROOT, "bin", `main${EXE_EXT}`);
|
|
46
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
47
|
+
// REPOS — dynamic discovery, cached
|
|
48
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
49
|
+
/** Known repo candidates: name → expected path */
|
|
50
|
+
const REPO_CANDIDATES = {
|
|
51
|
+
"crosspad-core": path.join(GIT_DIR, "crosspad-core"),
|
|
52
|
+
"crosspad-gui": path.join(GIT_DIR, "crosspad-gui"),
|
|
53
|
+
"crosspad-pc": CROSSPAD_PC_ROOT,
|
|
54
|
+
"platform-idf": CROSSPAD_IDF_ROOT,
|
|
55
|
+
"ESP32-S3": path.join(GIT_DIR, "ESP32-S3"),
|
|
56
|
+
"2playerCrosspad": path.join(GIT_DIR, "2playerCrosspad"),
|
|
57
|
+
};
|
|
58
|
+
let cachedRepos = null;
|
|
59
|
+
/** Returns only repos that actually exist on disk. Cached for server lifetime. */
|
|
60
|
+
export function getRepos() {
|
|
61
|
+
if (cachedRepos)
|
|
62
|
+
return cachedRepos;
|
|
63
|
+
const found = {};
|
|
64
|
+
for (const [name, repoPath] of Object.entries(REPO_CANDIDATES)) {
|
|
65
|
+
if (fs.existsSync(repoPath)) {
|
|
66
|
+
found[name] = repoPath;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
cachedRepos = found;
|
|
70
|
+
return found;
|
|
71
|
+
}
|
|
72
|
+
// Legacy compat — some tool files still import REPOS directly
|
|
73
|
+
export const REPOS = REPO_CANDIDATES;
|
|
74
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
75
|
+
// CROSSPAD-CORE RESOLUTION — finds crosspad-core wherever it lives
|
|
76
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
77
|
+
let cachedCrosspadCorePath = undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Resolve the crosspad-core include path. Checks:
|
|
80
|
+
* 1. Standalone repo at $GIT_DIR/crosspad-core
|
|
81
|
+
* 2. Submodule inside platform-idf: $IDF_ROOT/components/crosspad-core
|
|
82
|
+
* 3. Submodule inside crosspad-pc: $PC_ROOT/crosspad-core
|
|
83
|
+
* Returns null if not found anywhere.
|
|
84
|
+
*/
|
|
85
|
+
export function resolveCrosspadCore() {
|
|
86
|
+
if (cachedCrosspadCorePath !== undefined)
|
|
87
|
+
return cachedCrosspadCorePath;
|
|
88
|
+
const candidates = [
|
|
89
|
+
path.join(GIT_DIR, "crosspad-core"),
|
|
90
|
+
path.join(CROSSPAD_IDF_ROOT, "components", "crosspad-core"),
|
|
91
|
+
path.join(CROSSPAD_PC_ROOT, "crosspad-core"),
|
|
92
|
+
];
|
|
93
|
+
for (const p of candidates) {
|
|
94
|
+
if (fs.existsSync(path.join(p, "include", "crosspad"))) {
|
|
95
|
+
cachedCrosspadCorePath = p;
|
|
96
|
+
return p;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
cachedCrosspadCorePath = null;
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
33
102
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AACvD,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAEpD,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|