crosspad-mcp-server 5.0.1 → 6.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/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 +139 -31
- package/dist/index.js.map +1 -1
- package/dist/tools/app-manager.d.ts +43 -9
- package/dist/tools/app-manager.js +195 -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/idf-flash.d.ts +20 -0
- package/dist/tools/idf-flash.js +184 -0
- package/dist/tools/idf-flash.js.map +1 -0
- package/dist/tools/idf-monitor.d.ts +29 -0
- package/dist/tools/idf-monitor.js +168 -0
- package/dist/tools/idf-monitor.js.map +1 -0
- package/dist/tools/midi.d.ts +27 -0
- package/dist/tools/midi.js +112 -0
- package/dist/tools/midi.js.map +1 -0
- package/dist/tools/repo-actions.d.ts +46 -0
- package/dist/tools/repo-actions.js +273 -0
- package/dist/tools/repo-actions.js.map +1 -0
- package/dist/tools/symbols.d.ts +16 -1
- package/dist/tools/symbols.js +118 -50
- 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/dist/utils/device.d.ts +38 -0
- package/dist/utils/device.js +287 -0
- package/dist/utils/device.js.map +1 -0
- package/dist/utils/remote-client.d.ts +1 -0
- package/dist/utils/remote-client.js +24 -1
- package/dist/utils/remote-client.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
|
@@ -2,14 +2,22 @@
|
|
|
2
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { z } from "zod";
|
|
5
|
+
import fs from "fs";
|
|
6
|
+
import { createRequire } from "module";
|
|
7
|
+
const require = createRequire(import.meta.url);
|
|
8
|
+
const { version } = require("../package.json");
|
|
5
9
|
// Tool implementations
|
|
6
10
|
import { crosspadBuild, crosspadRun } from "./tools/build.js";
|
|
7
11
|
import { crosspadBuildCheck } from "./tools/build-check.js";
|
|
8
12
|
import { crosspadLog } from "./tools/log.js";
|
|
9
13
|
import { crosspadIdfBuild } from "./tools/idf-build.js";
|
|
14
|
+
import { crosspadIdfFlash, crosspadIdfOta } from "./tools/idf-flash.js";
|
|
15
|
+
import { crosspadIdfMonitor } from "./tools/idf-monitor.js";
|
|
16
|
+
import { listDevices } from "./utils/device.js";
|
|
10
17
|
import { crosspadTest, crosspadTestScaffold } from "./tools/test.js";
|
|
11
18
|
import { crosspadReposStatus } from "./tools/repos.js";
|
|
12
19
|
import { crosspadDiffCore } from "./tools/diff-core.js";
|
|
20
|
+
import { crosspadSubmoduleUpdate, crosspadCommit } from "./tools/repo-actions.js";
|
|
13
21
|
import { crosspadSearchSymbols } from "./tools/symbols.js";
|
|
14
22
|
import { crosspadInterfaces, crosspadApps } from "./tools/architecture.js";
|
|
15
23
|
import { crosspadScaffoldApp } from "./tools/scaffold.js";
|
|
@@ -17,8 +25,9 @@ import { crosspadScreenshot } from "./tools/screenshot.js";
|
|
|
17
25
|
import { crosspadInput } from "./tools/input.js";
|
|
18
26
|
import { crosspadStats } from "./tools/stats.js";
|
|
19
27
|
import { crosspadSettingsGet, crosspadSettingsSet } from "./tools/settings.js";
|
|
28
|
+
import { crosspadMidiSend } from "./tools/midi.js";
|
|
20
29
|
import { crosspadAppList, crosspadAppInstall, crosspadAppRemove, crosspadAppUpdate, crosspadAppSync, } from "./tools/app-manager.js";
|
|
21
|
-
const server = new McpServer({ name: "crosspad", version
|
|
30
|
+
const server = new McpServer({ name: "crosspad", version }, { capabilities: { logging: {} } });
|
|
22
31
|
function makeStreamLogger(logger) {
|
|
23
32
|
return (stream, line) => {
|
|
24
33
|
if (!line.trim())
|
|
@@ -33,16 +42,22 @@ function jsonResponse(data) {
|
|
|
33
42
|
// ═══════════════════════════════════════════════════════════════════════
|
|
34
43
|
// TOOL 1: crosspad_build
|
|
35
44
|
// ═══════════════════════════════════════════════════════════════════════
|
|
36
|
-
server.tool("crosspad_build", "Build, run, or
|
|
37
|
-
action: z.enum(["pc", "pc_run", "pc_check", "pc_log", "idf"])
|
|
38
|
-
.describe("pc: build simulator. pc_run: launch exe. pc_check: build health check. pc_log: capture stdout. idf: build ESP-IDF firmware."),
|
|
45
|
+
server.tool("crosspad_build", "Build, run, flash, or monitor CrossPad — PC simulator and ESP-IDF firmware. Supports multiple connected devices.", {
|
|
46
|
+
action: z.enum(["pc", "pc_run", "pc_check", "pc_log", "idf", "idf_flash", "idf_ota", "idf_monitor", "devices"])
|
|
47
|
+
.describe("pc: build simulator. pc_run: launch exe. pc_check: build health check. pc_log: capture stdout. idf: build ESP-IDF firmware. idf_flash: flash via UART. idf_ota: flash via OTA CDC. idf_monitor: capture serial logs. devices: list connected CrossPad devices."),
|
|
39
48
|
mode: z.enum(["incremental", "clean", "reconfigure", "fullclean"]).default("incremental")
|
|
40
49
|
.describe("Build mode (pc: incremental/clean/reconfigure, idf: build/fullclean/clean)").optional(),
|
|
50
|
+
port: z.string().optional()
|
|
51
|
+
.describe("idf_flash/idf_ota/idf_monitor: serial port (auto-detect if omitted, required when multiple devices connected)"),
|
|
52
|
+
firmware_path: z.string().optional()
|
|
53
|
+
.describe("idf_ota: custom firmware binary path (default: build/CrossPad.bin)"),
|
|
41
54
|
timeout_seconds: z.number().default(5).optional()
|
|
42
|
-
.describe("pc_log: capture duration in seconds"),
|
|
55
|
+
.describe("pc_log/idf_monitor: capture duration in seconds"),
|
|
43
56
|
max_lines: z.number().default(200).optional()
|
|
44
|
-
.describe("pc_log: max output lines"),
|
|
45
|
-
|
|
57
|
+
.describe("pc_log/idf_monitor: max output lines"),
|
|
58
|
+
filter: z.string().optional()
|
|
59
|
+
.describe("idf_monitor: only return lines containing this string"),
|
|
60
|
+
}, async ({ action, mode, port, firmware_path, timeout_seconds, max_lines, filter }) => {
|
|
46
61
|
const onLine = makeStreamLogger("build");
|
|
47
62
|
switch (action) {
|
|
48
63
|
case "pc": {
|
|
@@ -59,6 +74,14 @@ server.tool("crosspad_build", "Build, run, or check the CrossPad PC simulator or
|
|
|
59
74
|
const m = (mode === "reconfigure" ? "build" : mode ?? "build");
|
|
60
75
|
return jsonResponse(await crosspadIdfBuild(m, onLine));
|
|
61
76
|
}
|
|
77
|
+
case "idf_flash":
|
|
78
|
+
return jsonResponse(await crosspadIdfFlash(port, onLine));
|
|
79
|
+
case "idf_ota":
|
|
80
|
+
return jsonResponse(await crosspadIdfOta(port, firmware_path, onLine));
|
|
81
|
+
case "idf_monitor":
|
|
82
|
+
return jsonResponse(await crosspadIdfMonitor(port, timeout_seconds ?? 10, max_lines ?? 500, filter, onLine));
|
|
83
|
+
case "devices":
|
|
84
|
+
return jsonResponse(listDevices());
|
|
62
85
|
}
|
|
63
86
|
});
|
|
64
87
|
// ═══════════════════════════════════════════════════════════════════════
|
|
@@ -81,9 +104,9 @@ server.tool("crosspad_test", "Run Catch2 tests or scaffold test infrastructure f
|
|
|
81
104
|
// ═══════════════════════════════════════════════════════════════════════
|
|
82
105
|
// TOOL 3: crosspad_sim
|
|
83
106
|
// ═══════════════════════════════════════════════════════════════════════
|
|
84
|
-
server.tool("crosspad_sim", "Interact with the running simulator: screenshots, input, stats, settings.", {
|
|
85
|
-
action: z.enum(["screenshot", "input", "stats", "settings_get", "settings_set"])
|
|
86
|
-
.describe("screenshot: capture PNG. input: send event. stats: runtime diagnostics. settings_get/set: read/write settings."),
|
|
107
|
+
server.tool("crosspad_sim", "Interact with the running simulator: screenshots, input, MIDI, stats, settings.", {
|
|
108
|
+
action: z.enum(["screenshot", "input", "midi_send", "stats", "settings_get", "settings_set"])
|
|
109
|
+
.describe("screenshot: capture PNG. input: send event. midi_send: send MIDI to simulator. stats: runtime diagnostics. settings_get/set: read/write settings."),
|
|
87
110
|
// screenshot params
|
|
88
111
|
region: z.enum(["full", "lcd"]).default("full").optional()
|
|
89
112
|
.describe("screenshot: full window or LCD only"),
|
|
@@ -100,6 +123,17 @@ server.tool("crosspad_sim", "Interact with the running simulator: screenshots, i
|
|
|
100
123
|
velocity: z.number().optional().describe("input pad_press: velocity 0-127"),
|
|
101
124
|
delta: z.number().optional().describe("input encoder_rotate: rotation delta"),
|
|
102
125
|
keycode: z.number().optional().describe("input key: SDL keycode"),
|
|
126
|
+
// midi params
|
|
127
|
+
midi_type: z.enum(["note_on", "note_off", "cc", "program_change"]).optional()
|
|
128
|
+
.describe("midi_send: MIDI event type"),
|
|
129
|
+
channel: z.number().default(0).optional()
|
|
130
|
+
.describe("midi_send: MIDI channel 0-15"),
|
|
131
|
+
note: z.number().optional()
|
|
132
|
+
.describe("midi_send: note number 0-127 (note_on/note_off)"),
|
|
133
|
+
cc_num: z.number().optional()
|
|
134
|
+
.describe("midi_send: CC number 0-127 (cc)"),
|
|
135
|
+
midi_value: z.number().optional()
|
|
136
|
+
.describe("midi_send: value 0-127 (cc value or program number)"),
|
|
103
137
|
// settings params
|
|
104
138
|
category: z.string().default("all").optional()
|
|
105
139
|
.describe("settings_get: all/display/keypad/vibration/wireless/audio/system"),
|
|
@@ -107,10 +141,30 @@ server.tool("crosspad_sim", "Interact with the running simulator: screenshots, i
|
|
|
107
141
|
.describe("settings_set: dotted key name (e.g. 'lcd_brightness')"),
|
|
108
142
|
value: z.number().optional()
|
|
109
143
|
.describe("settings_set: numeric value"),
|
|
110
|
-
}, async ({ action, region, filename, save_to_file, input_action, x, y, pad, velocity, delta, keycode, category, key, value }) => {
|
|
144
|
+
}, async ({ action, region, filename, save_to_file, input_action, x, y, pad, velocity, delta, keycode, midi_type, channel, note, cc_num, midi_value, category, key, value }) => {
|
|
111
145
|
switch (action) {
|
|
112
|
-
case "screenshot":
|
|
113
|
-
|
|
146
|
+
case "screenshot": {
|
|
147
|
+
const result = await crosspadScreenshot(save_to_file ?? true, filename);
|
|
148
|
+
if (result.success) {
|
|
149
|
+
let imageData = result.data_base64;
|
|
150
|
+
// Read from file if saved to disk
|
|
151
|
+
if (!imageData && result.file_path) {
|
|
152
|
+
try {
|
|
153
|
+
imageData = fs.readFileSync(result.file_path).toString("base64");
|
|
154
|
+
}
|
|
155
|
+
catch { /* fall through to JSON response */ }
|
|
156
|
+
}
|
|
157
|
+
if (imageData) {
|
|
158
|
+
return {
|
|
159
|
+
content: [
|
|
160
|
+
{ type: "image", data: imageData, mimeType: "image/png" },
|
|
161
|
+
{ type: "text", text: JSON.stringify({ success: true, width: result.width, height: result.height, format: result.format, file_path: result.file_path }, null, 2) },
|
|
162
|
+
],
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return jsonResponse(result);
|
|
167
|
+
}
|
|
114
168
|
case "input": {
|
|
115
169
|
if (!input_action) {
|
|
116
170
|
return jsonResponse({ success: false, error: "input_action is required for action=input" });
|
|
@@ -141,6 +195,20 @@ server.tool("crosspad_sim", "Interact with the running simulator: screenshots, i
|
|
|
141
195
|
}
|
|
142
196
|
return jsonResponse(await crosspadInput(input));
|
|
143
197
|
}
|
|
198
|
+
case "midi_send": {
|
|
199
|
+
if (!midi_type) {
|
|
200
|
+
return jsonResponse({ success: false, error: "midi_type is required for action=midi_send" });
|
|
201
|
+
}
|
|
202
|
+
return jsonResponse(await crosspadMidiSend({
|
|
203
|
+
type: midi_type,
|
|
204
|
+
channel: channel ?? 0,
|
|
205
|
+
note,
|
|
206
|
+
velocity,
|
|
207
|
+
cc_num,
|
|
208
|
+
value: midi_value,
|
|
209
|
+
program: midi_value,
|
|
210
|
+
}));
|
|
211
|
+
}
|
|
144
212
|
case "stats":
|
|
145
213
|
return jsonResponse(await crosspadStats());
|
|
146
214
|
case "settings_get":
|
|
@@ -156,17 +224,43 @@ server.tool("crosspad_sim", "Interact with the running simulator: screenshots, i
|
|
|
156
224
|
// ═══════════════════════════════════════════════════════════════════════
|
|
157
225
|
// TOOL 4: crosspad_repo
|
|
158
226
|
// ═══════════════════════════════════════════════════════════════════════
|
|
159
|
-
server.tool("crosspad_repo", "Git status
|
|
160
|
-
action: z.enum(["status", "diff"])
|
|
161
|
-
.describe("status: git status all repos. diff: submodule drift
|
|
162
|
-
submodule: z.enum(["crosspad-core", "crosspad-gui", "both"]).default("both").optional()
|
|
163
|
-
.describe("diff: which submodule
|
|
164
|
-
|
|
227
|
+
server.tool("crosspad_repo", "Git status, submodule diffs, submodule updates, and commits across CrossPad repos.", {
|
|
228
|
+
action: z.enum(["status", "diff", "submodule_update", "commit"])
|
|
229
|
+
.describe("status: git status all repos. diff: submodule drift. submodule_update: pull latest submodule. commit: commit staged changes."),
|
|
230
|
+
submodule: z.enum(["crosspad-core", "crosspad-gui", "crosspad-instructions", "crosspad-sampler", "both"]).default("both").optional()
|
|
231
|
+
.describe("diff/submodule_update: which submodule"),
|
|
232
|
+
repo: z.string().optional()
|
|
233
|
+
.describe("submodule_update/commit: target repo (idf, pc, arduino, core, gui, or full name)"),
|
|
234
|
+
branch: z.string().default("main").optional()
|
|
235
|
+
.describe("submodule_update: remote branch to checkout (default: main)"),
|
|
236
|
+
message: z.string().optional()
|
|
237
|
+
.describe("commit: commit message"),
|
|
238
|
+
files: z.array(z.string()).optional()
|
|
239
|
+
.describe("commit: specific files to stage+commit (omit to commit what's staged)"),
|
|
240
|
+
}, async ({ action, submodule, repo, branch, message, files }) => {
|
|
165
241
|
switch (action) {
|
|
166
242
|
case "status":
|
|
167
243
|
return jsonResponse(crosspadReposStatus());
|
|
168
244
|
case "diff":
|
|
169
|
-
return jsonResponse(crosspadDiffCore(submodule ?? "both"));
|
|
245
|
+
return jsonResponse(crosspadDiffCore(submodule === "both" ? "both" : submodule ?? "both"));
|
|
246
|
+
case "submodule_update": {
|
|
247
|
+
if (!submodule || submodule === "both") {
|
|
248
|
+
return jsonResponse({ error: "Specify a single submodule (e.g. crosspad-core)" });
|
|
249
|
+
}
|
|
250
|
+
if (!repo) {
|
|
251
|
+
return jsonResponse({ error: "repo is required for submodule_update (e.g. idf, pc, arduino)" });
|
|
252
|
+
}
|
|
253
|
+
return jsonResponse(crosspadSubmoduleUpdate(submodule, repo, branch ?? "main"));
|
|
254
|
+
}
|
|
255
|
+
case "commit": {
|
|
256
|
+
if (!repo) {
|
|
257
|
+
return jsonResponse({ error: "repo is required for commit" });
|
|
258
|
+
}
|
|
259
|
+
if (!message) {
|
|
260
|
+
return jsonResponse({ error: "message is required for commit" });
|
|
261
|
+
}
|
|
262
|
+
return jsonResponse(crosspadCommit(repo, message, files));
|
|
263
|
+
}
|
|
170
264
|
}
|
|
171
265
|
});
|
|
172
266
|
// ═══════════════════════════════════════════════════════════════════════
|
|
@@ -184,6 +278,8 @@ server.tool("crosspad_code", "Search symbols, query interfaces, list registered
|
|
|
184
278
|
.describe("search: repo names to scan, or ['all']"),
|
|
185
279
|
max_results: z.number().default(50).optional()
|
|
186
280
|
.describe("search: result cap"),
|
|
281
|
+
context_lines: z.number().default(0).optional()
|
|
282
|
+
.describe("search: lines of surrounding context (0-10, like grep -C)"),
|
|
187
283
|
// apps params
|
|
188
284
|
platform: z.enum(["pc", "idf", "arduino", "all"]).default("all").optional()
|
|
189
285
|
.describe("apps: platform to scan"),
|
|
@@ -196,12 +292,12 @@ server.tool("crosspad_code", "Search symbols, query interfaces, list registered
|
|
|
196
292
|
.describe("scaffold: generate IPadLogicHandler stub"),
|
|
197
293
|
icon: z.string().default("CrossPad_Logo_110w.png").optional()
|
|
198
294
|
.describe("scaffold: icon filename"),
|
|
199
|
-
}, async ({ action, query, kind, repos, max_results, platform, name, display_name, has_pad_logic, icon }) => {
|
|
295
|
+
}, async ({ action, query, kind, repos, max_results, context_lines, platform, name, display_name, has_pad_logic, icon }) => {
|
|
200
296
|
switch (action) {
|
|
201
297
|
case "search": {
|
|
202
298
|
if (!query)
|
|
203
299
|
return jsonResponse({ error: "query is required for action=search" });
|
|
204
|
-
return jsonResponse(crosspadSearchSymbols(query, kind ?? "all", repos ?? ["all"], max_results ?? 50));
|
|
300
|
+
return jsonResponse(crosspadSearchSymbols(query, kind ?? "all", repos ?? ["all"], max_results ?? 50, context_lines ?? 0));
|
|
205
301
|
}
|
|
206
302
|
case "interfaces": {
|
|
207
303
|
return jsonResponse(crosspadInterfaces(query ?? "list"));
|
|
@@ -218,9 +314,11 @@ server.tool("crosspad_code", "Search symbols, query interfaces, list registered
|
|
|
218
314
|
// ═══════════════════════════════════════════════════════════════════════
|
|
219
315
|
// TOOL 6: crosspad_apps
|
|
220
316
|
// ═══════════════════════════════════════════════════════════════════════
|
|
221
|
-
server.tool("crosspad_apps", "Manage CrossPad app packages: list, install, remove, update from the crosspad-apps registry.", {
|
|
317
|
+
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
318
|
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."),
|
|
319
|
+
.describe("list: available apps + where installed. install: add app submodule. remove: remove app. update: update app(s). sync: sync manifest."),
|
|
320
|
+
platform: z.enum(["idf", "pc", "arduino"]).optional()
|
|
321
|
+
.describe("install/remove/update/sync: target platform repo (required for mutations)"),
|
|
224
322
|
app_name: z.string().optional()
|
|
225
323
|
.describe("install/remove/update: app ID from registry"),
|
|
226
324
|
ref: z.string().default("main").optional()
|
|
@@ -231,7 +329,7 @@ server.tool("crosspad_apps", "Manage CrossPad app packages: list, install, remov
|
|
|
231
329
|
.describe("update: update all installed apps"),
|
|
232
330
|
show_all: z.boolean().default(false).optional()
|
|
233
331
|
.describe("list: include incompatible apps"),
|
|
234
|
-
}, async ({ action, app_name, ref, force, update_all, show_all }) => {
|
|
332
|
+
}, async ({ action, platform, app_name, ref, force, update_all, show_all }) => {
|
|
235
333
|
const onLine = makeStreamLogger("app-manager");
|
|
236
334
|
switch (action) {
|
|
237
335
|
case "list":
|
|
@@ -239,17 +337,27 @@ server.tool("crosspad_apps", "Manage CrossPad app packages: list, install, remov
|
|
|
239
337
|
case "install": {
|
|
240
338
|
if (!app_name)
|
|
241
339
|
return jsonResponse({ success: false, error: "app_name required" });
|
|
242
|
-
|
|
340
|
+
if (!platform)
|
|
341
|
+
return jsonResponse({ success: false, error: "platform required for install (idf, pc, or arduino)" });
|
|
342
|
+
return jsonResponse(await crosspadAppInstall(app_name, platform, ref ?? "main", force ?? false, onLine));
|
|
243
343
|
}
|
|
244
344
|
case "remove": {
|
|
245
345
|
if (!app_name)
|
|
246
346
|
return jsonResponse({ success: false, error: "app_name required" });
|
|
247
|
-
|
|
347
|
+
if (!platform)
|
|
348
|
+
return jsonResponse({ success: false, error: "platform required for remove (idf, pc, or arduino)" });
|
|
349
|
+
return jsonResponse(await crosspadAppRemove(app_name, platform, onLine));
|
|
350
|
+
}
|
|
351
|
+
case "update": {
|
|
352
|
+
if (!platform)
|
|
353
|
+
return jsonResponse({ success: false, error: "platform required for update (idf, pc, or arduino)" });
|
|
354
|
+
return jsonResponse(await crosspadAppUpdate(platform, app_name, update_all ?? false, onLine));
|
|
355
|
+
}
|
|
356
|
+
case "sync": {
|
|
357
|
+
if (!platform)
|
|
358
|
+
return jsonResponse({ success: false, error: "platform required for sync (idf, pc, or arduino)" });
|
|
359
|
+
return jsonResponse(await crosspadAppSync(platform, onLine));
|
|
248
360
|
}
|
|
249
|
-
case "update":
|
|
250
|
-
return jsonResponse(await crosspadAppUpdate(app_name, update_all ?? false, onLine));
|
|
251
|
-
case "sync":
|
|
252
|
-
return jsonResponse(await crosspadAppSync(onLine));
|
|
253
361
|
}
|
|
254
362
|
});
|
|
255
363
|
// ═══════════════════════════════════════════════════════════════════════
|
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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"}
|