crosspad-mcp-server 5.0.1 → 5.1.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/README.md +31 -18
- package/dist/config.d.ts +2 -2
- package/dist/config.js +17 -13
- package/dist/config.js.map +1 -1
- package/dist/index.js +21 -9
- package/dist/index.js.map +1 -1
- package/dist/tools/app-manager.d.ts +43 -9
- package/dist/tools/app-manager.js +152 -117
- package/dist/tools/app-manager.js.map +1 -1
- package/dist/tools/architecture.js +0 -2
- package/dist/tools/architecture.js.map +1 -1
- package/dist/tools/build.d.ts +4 -0
- package/dist/tools/build.js +4 -2
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/idf-build.d.ts +13 -0
- package/dist/tools/idf-build.js +8 -4
- package/dist/tools/idf-build.js.map +1 -1
- package/dist/tools/symbols.d.ts +14 -0
- package/dist/tools/symbols.js +10 -5
- package/dist/tools/symbols.js.map +1 -1
- package/dist/tools/test.d.ts +7 -0
- package/dist/tools/test.js +4 -2
- package/dist/tools/test.js.map +1 -1
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -8,10 +8,13 @@ MCP (Model Context Protocol) server that gives Claude Code full control over the
|
|
|
8
8
|
claude mcp add crosspad -- npx -y crosspad-mcp-server
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
Or with
|
|
11
|
+
Or with custom repo paths:
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
claude mcp add crosspad
|
|
14
|
+
claude mcp add crosspad \
|
|
15
|
+
--env CROSSPAD_IDF_ROOT=/path/to/platform-idf \
|
|
16
|
+
--env CROSSPAD_PC_ROOT=/path/to/crosspad-pc \
|
|
17
|
+
-- npx -y crosspad-mcp-server
|
|
15
18
|
```
|
|
16
19
|
|
|
17
20
|
That's it. Restart Claude Code and the tools are available.
|
|
@@ -28,7 +31,8 @@ Add to your repo root — Claude Code picks it up automatically:
|
|
|
28
31
|
"command": "npx",
|
|
29
32
|
"args": ["-y", "crosspad-mcp-server"],
|
|
30
33
|
"env": {
|
|
31
|
-
"
|
|
34
|
+
"CROSSPAD_IDF_ROOT": "/path/to/platform-idf",
|
|
35
|
+
"CROSSPAD_PC_ROOT": "/path/to/crosspad-pc"
|
|
32
36
|
}
|
|
33
37
|
}
|
|
34
38
|
}
|
|
@@ -46,7 +50,7 @@ Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) o
|
|
|
46
50
|
"command": "npx",
|
|
47
51
|
"args": ["-y", "crosspad-mcp-server"],
|
|
48
52
|
"env": {
|
|
49
|
-
"
|
|
53
|
+
"CROSSPAD_IDF_ROOT": "/path/to/platform-idf"
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
56
|
}
|
|
@@ -98,30 +102,35 @@ Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) o
|
|
|
98
102
|
| `apps` | List REGISTER_APP registrations per platform |
|
|
99
103
|
| `scaffold` | Generate new app boilerplate (cpp, hpp, CMakeLists.txt) |
|
|
100
104
|
|
|
101
|
-
### `crosspad_apps` — App package manager
|
|
105
|
+
### `crosspad_apps` — App package manager (multi-platform)
|
|
102
106
|
|
|
103
107
|
| Action | What it does |
|
|
104
108
|
|--------|-------------|
|
|
105
|
-
| `list` | Available apps from
|
|
106
|
-
| `install` | Install app as git submodule |
|
|
107
|
-
| `remove` | Remove app submodule |
|
|
108
|
-
| `update` | Update one or all installed apps |
|
|
109
|
-
| `sync` | Sync manifest with existing submodules |
|
|
109
|
+
| `list` | Available apps from registry + where installed (idf/pc/arduino) |
|
|
110
|
+
| `install` | Install app as git submodule (requires `platform` param) |
|
|
111
|
+
| `remove` | Remove app submodule (requires `platform` param) |
|
|
112
|
+
| `update` | Update one or all installed apps (requires `platform` param) |
|
|
113
|
+
| `sync` | Sync manifest with existing submodules (requires `platform` param) |
|
|
114
|
+
|
|
115
|
+
`list` aggregates `apps.json` from all detected repos. Mutations (`install`, `remove`, `update`, `sync`) target a specific platform via the `platform` parameter (`idf`, `pc`, or `arduino`).
|
|
110
116
|
|
|
111
117
|
## Configuration
|
|
112
118
|
|
|
113
|
-
|
|
119
|
+
Each repo path is individually configurable via env vars. If not set, falls back to `$CROSSPAD_GIT_DIR/<repo-name>` (flat layout).
|
|
114
120
|
|
|
115
121
|
| Variable | Default | Description |
|
|
116
122
|
|----------|---------|-------------|
|
|
117
|
-
| `CROSSPAD_GIT_DIR` | `~/GIT` | Base directory
|
|
123
|
+
| `CROSSPAD_GIT_DIR` | `~/GIT` | Base directory (flat layout fallback) |
|
|
118
124
|
| `CROSSPAD_PC_ROOT` | `$GIT_DIR/crosspad-pc` | PC simulator repo |
|
|
119
125
|
| `CROSSPAD_IDF_ROOT` | `$GIT_DIR/platform-idf` | ESP-IDF platform repo |
|
|
126
|
+
| `CROSSPAD_ARDUINO_ROOT` | `$GIT_DIR/ESP32-S3` | Arduino platform repo |
|
|
127
|
+
| `CROSSPAD_CORE_ROOT` | `$GIT_DIR/crosspad-core` | crosspad-core (standalone) |
|
|
128
|
+
| `CROSSPAD_GUI_ROOT` | `$GIT_DIR/crosspad-gui` | crosspad-gui (standalone) |
|
|
120
129
|
| `IDF_PATH` | auto-detected (`~/esp/esp-idf`) | ESP-IDF SDK path |
|
|
121
130
|
| `VCPKG_ROOT` | `~/vcpkg` (Linux) / `C:/vcpkg` (Win) | vcpkg installation |
|
|
122
131
|
| `VCVARSALL` | VS2022 default | MSVC vcvarsall.bat (Windows only) |
|
|
123
132
|
|
|
124
|
-
Repos are discovered dynamically — only repos that exist on disk appear in
|
|
133
|
+
Repos are discovered dynamically — only repos that exist on disk appear in tool results. No flat directory structure is assumed when env vars are set.
|
|
125
134
|
|
|
126
135
|
## How it works
|
|
127
136
|
|
|
@@ -131,7 +140,7 @@ Repos are discovered dynamically — only repos that exist on disk appear in sta
|
|
|
131
140
|
|
|
132
141
|
**Streaming** — long-running tools (build, test, log) emit output line-by-line via MCP logging, so Claude sees progress in real-time.
|
|
133
142
|
|
|
134
|
-
**App manager** —
|
|
143
|
+
**App manager** — reads registry JSON directly for listing (aggregated across all repos). Mutations delegate to `app_manager.py` (at `tools/` for IDF, `scripts/` for PC/Arduino) from [crosspad-apps](https://github.com/CrossPad/crosspad-apps).
|
|
135
144
|
|
|
136
145
|
## Development
|
|
137
146
|
|
|
@@ -139,20 +148,23 @@ Repos are discovered dynamically — only repos that exist on disk appear in sta
|
|
|
139
148
|
git clone https://github.com/CrossPad/crosspad-mcp.git
|
|
140
149
|
cd crosspad-mcp
|
|
141
150
|
npm install
|
|
142
|
-
npm run dev
|
|
143
|
-
npm run build
|
|
151
|
+
npm run dev # watch mode
|
|
152
|
+
npm run build # one-shot build
|
|
153
|
+
npm test # run unit tests
|
|
154
|
+
npm run test:watch # tests in watch mode
|
|
144
155
|
```
|
|
145
156
|
|
|
146
157
|
```
|
|
147
158
|
src/
|
|
148
159
|
index.ts — 6 tool registrations with action dispatch
|
|
149
|
-
config.ts —
|
|
160
|
+
config.ts — per-repo env vars, dynamic discovery, IDF/MSVC paths
|
|
161
|
+
config.test.ts — config unit tests (fs mocking)
|
|
150
162
|
utils/
|
|
151
163
|
exec.ts — platform-aware command execution (MSVC/IDF/shell)
|
|
152
164
|
git.ts — repo status, submodule pins
|
|
153
165
|
remote-client.ts — TCP client for simulator (localhost:19840)
|
|
154
166
|
tools/
|
|
155
|
-
app-manager.ts — crosspad_apps
|
|
167
|
+
app-manager.ts — crosspad_apps: multi-platform registry + Python subprocess
|
|
156
168
|
architecture.ts — interfaces, REGISTER_APP scan
|
|
157
169
|
build.ts — PC build + run
|
|
158
170
|
build-check.ts — build health check
|
|
@@ -167,6 +179,7 @@ src/
|
|
|
167
179
|
stats.ts — simulator runtime stats
|
|
168
180
|
symbols.ts — cross-repo symbol search
|
|
169
181
|
test.ts — Catch2 test runner
|
|
182
|
+
*.test.ts — unit tests for each module
|
|
170
183
|
```
|
|
171
184
|
|
|
172
185
|
## License
|
package/dist/config.d.ts
CHANGED
|
@@ -11,8 +11,8 @@ export declare const BIN_EXE: string;
|
|
|
11
11
|
export declare function getRepos(): Record<string, string>;
|
|
12
12
|
export declare const REPOS: Record<string, string>;
|
|
13
13
|
/**
|
|
14
|
-
* Resolve the crosspad-core
|
|
15
|
-
* 1. Standalone repo
|
|
14
|
+
* Resolve the crosspad-core path. Checks:
|
|
15
|
+
* 1. Standalone repo ($CROSSPAD_CORE_ROOT or $GIT_DIR/crosspad-core)
|
|
16
16
|
* 2. Submodule inside platform-idf: $IDF_ROOT/components/crosspad-core
|
|
17
17
|
* 3. Submodule inside crosspad-pc: $PC_ROOT/crosspad-core
|
|
18
18
|
* Returns null if not found anywhere.
|
package/dist/config.js
CHANGED
|
@@ -4,18 +4,24 @@ import os from "os";
|
|
|
4
4
|
export const IS_WINDOWS = process.platform === "win32";
|
|
5
5
|
export const IS_MAC = process.platform === "darwin";
|
|
6
6
|
// ═══════════════════════════════════════════════════════════════════════
|
|
7
|
-
// BASE
|
|
7
|
+
// BASE PATH — only used as fallback when per-repo env vars are not set
|
|
8
8
|
// ═══════════════════════════════════════════════════════════════════════
|
|
9
9
|
const GIT_DIR = process.env.CROSSPAD_GIT_DIR || path.join(os.homedir(), "GIT");
|
|
10
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
11
|
+
// PER-REPO PATHS — each overridable via its own env var
|
|
12
|
+
// Env var takes priority → then flat layout ($GIT_DIR/<name>)
|
|
13
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
10
14
|
export const CROSSPAD_PC_ROOT = process.env.CROSSPAD_PC_ROOT || path.join(GIT_DIR, "crosspad-pc");
|
|
11
15
|
export const CROSSPAD_IDF_ROOT = process.env.CROSSPAD_IDF_ROOT || path.join(GIT_DIR, "platform-idf");
|
|
16
|
+
const CROSSPAD_ARDUINO_ROOT = process.env.CROSSPAD_ARDUINO_ROOT || path.join(GIT_DIR, "ESP32-S3");
|
|
17
|
+
const CROSSPAD_CORE_ROOT = process.env.CROSSPAD_CORE_ROOT || path.join(GIT_DIR, "crosspad-core");
|
|
18
|
+
const CROSSPAD_GUI_ROOT = process.env.CROSSPAD_GUI_ROOT || path.join(GIT_DIR, "crosspad-gui");
|
|
12
19
|
// ═══════════════════════════════════════════════════════════════════════
|
|
13
20
|
// ESP-IDF SDK PATH — fallback chain
|
|
14
21
|
// ═══════════════════════════════════════════════════════════════════════
|
|
15
22
|
function findIdfPath() {
|
|
16
23
|
if (process.env.IDF_PATH)
|
|
17
24
|
return process.env.IDF_PATH;
|
|
18
|
-
// Try common paths
|
|
19
25
|
const candidates = [
|
|
20
26
|
path.join(os.homedir(), "esp", "esp-idf"),
|
|
21
27
|
path.join(os.homedir(), "esp", "v5.5.4", "esp-idf"),
|
|
@@ -25,7 +31,6 @@ function findIdfPath() {
|
|
|
25
31
|
if (fs.existsSync(p))
|
|
26
32
|
return p;
|
|
27
33
|
}
|
|
28
|
-
// Last resort — return the most common default even if missing
|
|
29
34
|
return path.join(os.homedir(), "esp", "esp-idf");
|
|
30
35
|
}
|
|
31
36
|
export const IDF_PATH = findIdfPath();
|
|
@@ -44,16 +49,15 @@ export const BUILD_DIR = path.join(CROSSPAD_PC_ROOT, "build");
|
|
|
44
49
|
const EXE_EXT = IS_WINDOWS ? ".exe" : "";
|
|
45
50
|
export const BIN_EXE = path.join(CROSSPAD_PC_ROOT, "bin", `main${EXE_EXT}`);
|
|
46
51
|
// ═══════════════════════════════════════════════════════════════════════
|
|
47
|
-
// REPOS — dynamic discovery, cached
|
|
52
|
+
// REPOS — dynamic discovery from per-repo paths, cached
|
|
48
53
|
// ═══════════════════════════════════════════════════════════════════════
|
|
49
|
-
/**
|
|
54
|
+
/** Maps repo name → resolved path (from env vars or flat layout default) */
|
|
50
55
|
const REPO_CANDIDATES = {
|
|
51
|
-
"crosspad-core":
|
|
52
|
-
"crosspad-gui":
|
|
56
|
+
"crosspad-core": CROSSPAD_CORE_ROOT,
|
|
57
|
+
"crosspad-gui": CROSSPAD_GUI_ROOT,
|
|
53
58
|
"crosspad-pc": CROSSPAD_PC_ROOT,
|
|
54
59
|
"platform-idf": CROSSPAD_IDF_ROOT,
|
|
55
|
-
"ESP32-S3":
|
|
56
|
-
"2playerCrosspad": path.join(GIT_DIR, "2playerCrosspad"),
|
|
60
|
+
"ESP32-S3": CROSSPAD_ARDUINO_ROOT,
|
|
57
61
|
};
|
|
58
62
|
let cachedRepos = null;
|
|
59
63
|
/** Returns only repos that actually exist on disk. Cached for server lifetime. */
|
|
@@ -69,15 +73,15 @@ export function getRepos() {
|
|
|
69
73
|
cachedRepos = found;
|
|
70
74
|
return found;
|
|
71
75
|
}
|
|
72
|
-
// Legacy compat
|
|
76
|
+
// Legacy compat
|
|
73
77
|
export const REPOS = REPO_CANDIDATES;
|
|
74
78
|
// ═══════════════════════════════════════════════════════════════════════
|
|
75
79
|
// CROSSPAD-CORE RESOLUTION — finds crosspad-core wherever it lives
|
|
76
80
|
// ═══════════════════════════════════════════════════════════════════════
|
|
77
81
|
let cachedCrosspadCorePath = undefined;
|
|
78
82
|
/**
|
|
79
|
-
* Resolve the crosspad-core
|
|
80
|
-
* 1. Standalone repo
|
|
83
|
+
* Resolve the crosspad-core path. Checks:
|
|
84
|
+
* 1. Standalone repo ($CROSSPAD_CORE_ROOT or $GIT_DIR/crosspad-core)
|
|
81
85
|
* 2. Submodule inside platform-idf: $IDF_ROOT/components/crosspad-core
|
|
82
86
|
* 3. Submodule inside crosspad-pc: $PC_ROOT/crosspad-core
|
|
83
87
|
* Returns null if not found anywhere.
|
|
@@ -86,7 +90,7 @@ export function resolveCrosspadCore() {
|
|
|
86
90
|
if (cachedCrosspadCorePath !== undefined)
|
|
87
91
|
return cachedCrosspadCorePath;
|
|
88
92
|
const candidates = [
|
|
89
|
-
|
|
93
|
+
CROSSPAD_CORE_ROOT,
|
|
90
94
|
path.join(CROSSPAD_IDF_ROOT, "components", "crosspad-core"),
|
|
91
95
|
path.join(CROSSPAD_PC_ROOT, "crosspad-core"),
|
|
92
96
|
];
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,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,0EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -218,9 +218,11 @@ server.tool("crosspad_code", "Search symbols, query interfaces, list registered
|
|
|
218
218
|
// ═══════════════════════════════════════════════════════════════════════
|
|
219
219
|
// TOOL 6: crosspad_apps
|
|
220
220
|
// ═══════════════════════════════════════════════════════════════════════
|
|
221
|
-
server.tool("crosspad_apps", "Manage CrossPad app packages: list, install, remove, update from the crosspad-apps registry.", {
|
|
221
|
+
server.tool("crosspad_apps", "Manage CrossPad app packages: list, install, remove, update from the crosspad-apps registry. List aggregates status across all detected repos (idf, pc, arduino).", {
|
|
222
222
|
action: z.enum(["list", "install", "remove", "update", "sync"])
|
|
223
|
-
.describe("list: available apps. install: add app submodule. remove: remove app. update: update app(s). sync: sync manifest."),
|
|
223
|
+
.describe("list: available apps + where installed. install: add app submodule. remove: remove app. update: update app(s). sync: sync manifest."),
|
|
224
|
+
platform: z.enum(["idf", "pc", "arduino"]).optional()
|
|
225
|
+
.describe("install/remove/update/sync: target platform repo (required for mutations)"),
|
|
224
226
|
app_name: z.string().optional()
|
|
225
227
|
.describe("install/remove/update: app ID from registry"),
|
|
226
228
|
ref: z.string().default("main").optional()
|
|
@@ -231,7 +233,7 @@ server.tool("crosspad_apps", "Manage CrossPad app packages: list, install, remov
|
|
|
231
233
|
.describe("update: update all installed apps"),
|
|
232
234
|
show_all: z.boolean().default(false).optional()
|
|
233
235
|
.describe("list: include incompatible apps"),
|
|
234
|
-
}, async ({ action, app_name, ref, force, update_all, show_all }) => {
|
|
236
|
+
}, async ({ action, platform, app_name, ref, force, update_all, show_all }) => {
|
|
235
237
|
const onLine = makeStreamLogger("app-manager");
|
|
236
238
|
switch (action) {
|
|
237
239
|
case "list":
|
|
@@ -239,17 +241,27 @@ server.tool("crosspad_apps", "Manage CrossPad app packages: list, install, remov
|
|
|
239
241
|
case "install": {
|
|
240
242
|
if (!app_name)
|
|
241
243
|
return jsonResponse({ success: false, error: "app_name required" });
|
|
242
|
-
|
|
244
|
+
if (!platform)
|
|
245
|
+
return jsonResponse({ success: false, error: "platform required for install (idf, pc, or arduino)" });
|
|
246
|
+
return jsonResponse(await crosspadAppInstall(app_name, platform, ref ?? "main", force ?? false, onLine));
|
|
243
247
|
}
|
|
244
248
|
case "remove": {
|
|
245
249
|
if (!app_name)
|
|
246
250
|
return jsonResponse({ success: false, error: "app_name required" });
|
|
247
|
-
|
|
251
|
+
if (!platform)
|
|
252
|
+
return jsonResponse({ success: false, error: "platform required for remove (idf, pc, or arduino)" });
|
|
253
|
+
return jsonResponse(await crosspadAppRemove(app_name, platform, onLine));
|
|
254
|
+
}
|
|
255
|
+
case "update": {
|
|
256
|
+
if (!platform)
|
|
257
|
+
return jsonResponse({ success: false, error: "platform required for update (idf, pc, or arduino)" });
|
|
258
|
+
return jsonResponse(await crosspadAppUpdate(platform, app_name, update_all ?? false, onLine));
|
|
259
|
+
}
|
|
260
|
+
case "sync": {
|
|
261
|
+
if (!platform)
|
|
262
|
+
return jsonResponse({ success: false, error: "platform required for sync (idf, pc, or arduino)" });
|
|
263
|
+
return jsonResponse(await crosspadAppSync(platform, onLine));
|
|
248
264
|
}
|
|
249
|
-
case "update":
|
|
250
|
-
return jsonResponse(await crosspadAppUpdate(app_name, update_all ?? false, onLine));
|
|
251
|
-
case "sync":
|
|
252
|
-
return jsonResponse(await crosspadAppSync(onLine));
|
|
253
265
|
}
|
|
254
266
|
});
|
|
255
267
|
// ═══════════════════════════════════════════════════════════════════════
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP tool: manage CrossPad app packages via the crosspad-apps registry.
|
|
3
|
-
* - list: reads registry + manifest JSON
|
|
3
|
+
* - list: reads registry + manifest JSON from ALL detected repos (no Python needed)
|
|
4
4
|
* - install/remove/update/sync: delegates to app_manager.py via Python subprocess
|
|
5
|
+
*
|
|
6
|
+
* Each platform repo has app_manager.py at a different path:
|
|
7
|
+
* platform-idf → tools/app_manager.py
|
|
8
|
+
* crosspad-pc → scripts/app_manager.py
|
|
9
|
+
* ESP32-S3 → scripts/app_manager.py
|
|
5
10
|
*/
|
|
6
11
|
import { OnLine } from "../utils/exec.js";
|
|
12
|
+
interface AppEntry {
|
|
13
|
+
name: string;
|
|
14
|
+
version: string;
|
|
15
|
+
description: string;
|
|
16
|
+
repo: string;
|
|
17
|
+
component_path: string;
|
|
18
|
+
icon: string;
|
|
19
|
+
category: string;
|
|
20
|
+
platforms: string[];
|
|
21
|
+
requires: Record<string, string>;
|
|
22
|
+
}
|
|
7
23
|
export interface AppListResult {
|
|
8
24
|
success: boolean;
|
|
9
|
-
platform: string;
|
|
10
25
|
apps: Array<{
|
|
11
26
|
id: string;
|
|
12
27
|
name: string;
|
|
@@ -14,9 +29,11 @@ export interface AppListResult {
|
|
|
14
29
|
description: string;
|
|
15
30
|
category: string;
|
|
16
31
|
platforms: string[];
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
32
|
+
installed_in: Array<{
|
|
33
|
+
platform: string;
|
|
34
|
+
version: string;
|
|
35
|
+
ref: string;
|
|
36
|
+
}>;
|
|
20
37
|
compatible: boolean;
|
|
21
38
|
}>;
|
|
22
39
|
installed_count: number;
|
|
@@ -26,12 +43,29 @@ export interface AppListResult {
|
|
|
26
43
|
export interface AppActionResult {
|
|
27
44
|
success: boolean;
|
|
28
45
|
action: string;
|
|
46
|
+
platform: string;
|
|
29
47
|
app_name?: string;
|
|
30
48
|
output: string;
|
|
31
49
|
error?: string;
|
|
32
50
|
}
|
|
51
|
+
interface PlatformInfo {
|
|
52
|
+
label: string;
|
|
53
|
+
root: string;
|
|
54
|
+
scriptDir: string;
|
|
55
|
+
platformId: string;
|
|
56
|
+
}
|
|
57
|
+
/** @internal exported for testing */
|
|
58
|
+
export declare function getAvailablePlatforms(): PlatformInfo[];
|
|
59
|
+
/** @internal exported for testing */
|
|
60
|
+
export declare function isCompatible(app: AppEntry, platformId: string): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Build a Python command that invokes app_manager.py's AppManager class.
|
|
63
|
+
*/
|
|
64
|
+
/** @internal exported for testing */
|
|
65
|
+
export declare function buildPythonCmd(projectRoot: string, scriptDir: string, method: string, args?: string): string;
|
|
33
66
|
export declare function crosspadAppList(showAll?: boolean): AppListResult;
|
|
34
|
-
export declare function crosspadAppInstall(appName: string, ref?: string, force?: boolean, onLine?: OnLine): Promise<AppActionResult>;
|
|
35
|
-
export declare function crosspadAppRemove(appName: string, onLine?: OnLine): Promise<AppActionResult>;
|
|
36
|
-
export declare function crosspadAppUpdate(appName?: string, updateAll?: boolean, onLine?: OnLine): Promise<AppActionResult>;
|
|
37
|
-
export declare function crosspadAppSync(onLine?: OnLine): Promise<AppActionResult>;
|
|
67
|
+
export declare function crosspadAppInstall(appName: string, platform: string, ref?: string, force?: boolean, onLine?: OnLine): Promise<AppActionResult>;
|
|
68
|
+
export declare function crosspadAppRemove(appName: string, platform: string, onLine?: OnLine): Promise<AppActionResult>;
|
|
69
|
+
export declare function crosspadAppUpdate(platform: string, appName?: string, updateAll?: boolean, onLine?: OnLine): Promise<AppActionResult>;
|
|
70
|
+
export declare function crosspadAppSync(platform: string, onLine?: OnLine): Promise<AppActionResult>;
|
|
71
|
+
export {};
|