unity-mcp-cli 0.71.0 → 0.72.1
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/CHANGELOG.md +31 -0
- package/dist/commands/run-system-tool.d.ts +1 -2
- package/dist/commands/run-system-tool.js +11 -130
- package/dist/commands/run-system-tool.js.map +1 -1
- package/dist/commands/run-tool-builder.d.ts +25 -0
- package/dist/commands/run-tool-builder.js +125 -0
- package/dist/commands/run-tool-builder.js.map +1 -0
- package/dist/commands/run-tool.d.ts +1 -2
- package/dist/commands/run-tool.js +11 -130
- package/dist/commands/run-tool.js.map +1 -1
- package/dist/lib/open.js +6 -0
- package/dist/lib/open.js.map +1 -1
- package/dist/lib/run-tool.d.ts +15 -0
- package/dist/lib/run-tool.js +228 -0
- package/dist/lib/run-tool.js.map +1 -0
- package/dist/lib/types.d.ts +104 -0
- package/dist/lib.d.ts +2 -1
- package/dist/lib.js +1 -0
- package/dist/lib.js.map +1 -1
- package/dist/utils/editor-cache.d.ts +16 -0
- package/dist/utils/editor-cache.js +81 -0
- package/dist/utils/editor-cache.js.map +1 -0
- package/dist/utils/unity-editor.js +15 -0
- package/dist/utils/unity-editor.js.map +1 -1
- package/dist/utils/unity-hub.js +22 -2
- package/dist/utils/unity-hub.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,37 @@ All notable changes to `unity-mcp-cli` will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **`runTool` / `runSystemTool` library functions.** The HTTP-tool
|
|
13
|
+
invocation paths previously available only as the `run-tool` /
|
|
14
|
+
`run-system-tool` CLI commands are now first-class library exports:
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import { runTool, runSystemTool } from 'unity-mcp-cli';
|
|
18
|
+
|
|
19
|
+
const result = await runTool({
|
|
20
|
+
toolName: 'tool-list',
|
|
21
|
+
unityProjectPath: '/path/to/Unity/project',
|
|
22
|
+
input: { regexSearch: 'gameobject', includeDescription: true },
|
|
23
|
+
});
|
|
24
|
+
if (result.kind === 'success') {
|
|
25
|
+
// result.data === parsed JSON body from the Unity plugin
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Same URL/token resolution priority as the CLI commands (explicit
|
|
30
|
+
override → project config → deterministic localhost port). Returns
|
|
31
|
+
a discriminated `{ kind: 'success' | 'failure', ... }` union; never
|
|
32
|
+
throws past the public boundary; emits no console output.
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- **`run-tool` / `run-system-tool` commands** now delegate to the new
|
|
37
|
+
library functions internally. CLI behaviour is unchanged.
|
|
38
|
+
|
|
8
39
|
## [0.67.0] - 2026-04-21
|
|
9
40
|
|
|
10
41
|
### Added
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const runSystemToolCommand: Command;
|
|
1
|
+
export declare const runSystemToolCommand: import("commander").Command;
|
|
@@ -1,132 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
.option('--token <token>', 'Bearer token override (bypasses config)')
|
|
13
|
-
.option('--input <json>', 'JSON string of tool arguments')
|
|
14
|
-
.option('--input-file <file>', 'Read JSON arguments from file')
|
|
15
|
-
.option('--raw', 'Output raw JSON (no formatting)')
|
|
16
|
-
.option('--timeout <ms>', 'Request timeout in milliseconds (default: 60000)', '60000')
|
|
17
|
-
.action(async (toolName, positionalPath, options) => {
|
|
18
|
-
const projectPath = resolveAndValidateProjectPath(positionalPath, options);
|
|
19
|
-
const { url: baseUrl, token } = resolveConnection(projectPath, options);
|
|
20
|
-
const body = parseInput(options);
|
|
21
|
-
const endpoint = `${baseUrl}/api/system-tools/${encodeURIComponent(toolName)}`;
|
|
22
|
-
verbose(`System tool: ${toolName}`);
|
|
23
|
-
verbose(`Endpoint: ${endpoint}`);
|
|
24
|
-
verbose(`Body: ${body}`);
|
|
25
|
-
const headers = {
|
|
26
|
-
'Content-Type': 'application/json',
|
|
27
|
-
};
|
|
28
|
-
if (token) {
|
|
29
|
-
headers['Authorization'] = `Bearer ${token}`;
|
|
30
|
-
verbose(`Authorization header set (source: ${options.token ? '--token flag' : 'config'})`);
|
|
31
|
-
}
|
|
32
|
-
const authSource = options.token ? '--token flag' : 'config';
|
|
33
|
-
if (!options.raw) {
|
|
34
|
-
ui.heading('Run System Tool');
|
|
35
|
-
ui.label('Tool', toolName);
|
|
36
|
-
ui.label('URL', endpoint);
|
|
37
|
-
if (token) {
|
|
38
|
-
ui.label('Auth', `from ${authSource}`);
|
|
39
|
-
}
|
|
40
|
-
ui.divider();
|
|
41
|
-
}
|
|
42
|
-
const spinner = options.raw ? null : ui.startSpinner(`Calling ${toolName}...`);
|
|
43
|
-
const timeoutMs = parseInt(options.timeout ?? '60000', 10);
|
|
44
|
-
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
45
|
-
ui.error(`Invalid --timeout value: "${options.timeout}". Must be a positive integer (milliseconds).`);
|
|
46
|
-
process.exit(1);
|
|
47
|
-
}
|
|
48
|
-
const controller = new AbortController();
|
|
49
|
-
const fetchTimeout = setTimeout(() => controller.abort(), timeoutMs);
|
|
50
|
-
try {
|
|
51
|
-
const response = await fetch(endpoint, {
|
|
52
|
-
method: 'POST',
|
|
53
|
-
headers,
|
|
54
|
-
body,
|
|
55
|
-
signal: controller.signal,
|
|
56
|
-
});
|
|
57
|
-
const responseText = await response.text();
|
|
58
|
-
let responseData;
|
|
59
|
-
try {
|
|
60
|
-
responseData = JSON.parse(responseText);
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
responseData = responseText;
|
|
64
|
-
}
|
|
65
|
-
if (!response.ok) {
|
|
66
|
-
spinner?.stop();
|
|
67
|
-
if (options.raw) {
|
|
68
|
-
process.stdout.write(responseText);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
ui.error(`HTTP ${response.status}: ${response.statusText}`);
|
|
72
|
-
if (responseData) {
|
|
73
|
-
ui.info(typeof responseData === 'string'
|
|
74
|
-
? responseData
|
|
75
|
-
: JSON.stringify(responseData, null, 2));
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
process.exit(1);
|
|
79
|
-
}
|
|
80
|
-
spinner?.success(`${toolName} completed`);
|
|
81
|
-
if (options.raw) {
|
|
82
|
-
process.stdout.write(responseText);
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
ui.success('Response:');
|
|
86
|
-
console.log(typeof responseData === 'string'
|
|
87
|
-
? responseData
|
|
88
|
-
: JSON.stringify(responseData, null, 2));
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
catch (err) {
|
|
92
|
-
spinner?.stop();
|
|
93
|
-
const isTimeout = err instanceof Error && err.name === 'AbortError';
|
|
94
|
-
const cause = err instanceof Error && 'cause' in err ? err.cause : null;
|
|
95
|
-
const causeCode = cause?.code ?? '';
|
|
96
|
-
const rootMessage = cause?.message || causeCode || (err instanceof Error ? err.message : String(err));
|
|
97
|
-
const errorSignature = `${rootMessage} ${causeCode}`;
|
|
98
|
-
const isConnectionRefused = errorSignature.includes('ECONNREFUSED');
|
|
99
|
-
const isConnectionReset = errorSignature.includes('ECONNRESET');
|
|
100
|
-
const isNetworkError = errorSignature.includes('EAI_AGAIN') || errorSignature.includes('ENOTFOUND');
|
|
101
|
-
let displayMessage;
|
|
102
|
-
if (isTimeout) {
|
|
103
|
-
displayMessage = `System tool call timed out after ${timeoutMs / 1000} seconds: ${toolName}`;
|
|
104
|
-
}
|
|
105
|
-
else if (isConnectionRefused) {
|
|
106
|
-
displayMessage = `Connection refused at ${endpoint}. Is the MCP server running? Start Unity Editor with the MCP plugin first.`;
|
|
107
|
-
}
|
|
108
|
-
else if (isConnectionReset) {
|
|
109
|
-
displayMessage = `Connection was reset by the server at ${endpoint}. The server may have crashed or restarted.`;
|
|
110
|
-
}
|
|
111
|
-
else if (isNetworkError) {
|
|
112
|
-
displayMessage = `Cannot reach ${endpoint}. Check your network connection and server URL.`;
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
displayMessage = `${rootMessage}`;
|
|
116
|
-
if (cause && cause.message !== rootMessage) {
|
|
117
|
-
displayMessage += ` (${cause.message})`;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
if (options.raw) {
|
|
121
|
-
process.stderr.write(displayMessage + '\n');
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
ui.error(`Failed to call system tool: ${displayMessage}`);
|
|
125
|
-
}
|
|
126
|
-
process.exit(1);
|
|
127
|
-
}
|
|
128
|
-
finally {
|
|
129
|
-
clearTimeout(fetchTimeout);
|
|
130
|
-
}
|
|
1
|
+
import { runSystemTool } from '../lib/run-tool.js';
|
|
2
|
+
import { buildRunToolCommand } from './run-tool-builder.js';
|
|
3
|
+
export const runSystemToolCommand = buildRunToolCommand({
|
|
4
|
+
name: 'run-system-tool',
|
|
5
|
+
description: 'Execute a system tool via the HTTP API (not exposed to MCP clients)',
|
|
6
|
+
argDescription: 'Name of the system tool to execute',
|
|
7
|
+
routePrefix: '/api/system-tools',
|
|
8
|
+
verboseLabel: 'System tool',
|
|
9
|
+
headingLabel: 'Run System Tool',
|
|
10
|
+
errorNoun: 'system tool',
|
|
11
|
+
invoke: runSystemTool,
|
|
131
12
|
});
|
|
132
13
|
//# sourceMappingURL=run-system-tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-system-tool.js","sourceRoot":"","sources":["../../src/commands/run-system-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"run-system-tool.js","sourceRoot":"","sources":["../../src/commands/run-system-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;IACtD,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,qEAAqE;IAClF,cAAc,EAAE,oCAAoC;IACpD,WAAW,EAAE,mBAAmB;IAChC,YAAY,EAAE,aAAa;IAC3B,YAAY,EAAE,iBAAiB;IAC/B,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,aAAa;CACtB,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import type { RunToolOptions, RunToolResult } from '../lib/types.js';
|
|
3
|
+
interface BuilderOptions {
|
|
4
|
+
/** CLI subcommand name, e.g. `'run-tool'`. */
|
|
5
|
+
name: string;
|
|
6
|
+
/** `description()` text for the commander command. */
|
|
7
|
+
description: string;
|
|
8
|
+
/** Description shown next to the `<tool-name>` argument. */
|
|
9
|
+
argDescription: string;
|
|
10
|
+
/** URL path prefix the lib function targets, e.g. `'/api/tools'`. */
|
|
11
|
+
routePrefix: string;
|
|
12
|
+
/** Verbose-log label, e.g. `'Tool'` or `'System tool'`. */
|
|
13
|
+
verboseLabel: string;
|
|
14
|
+
/** Heading printed by `ui.heading`, e.g. `'Run Tool'`. */
|
|
15
|
+
headingLabel: string;
|
|
16
|
+
/**
|
|
17
|
+
* Lower-case noun used in user-facing failure copy:
|
|
18
|
+
* `Failed to call <noun>:` and `<Capitalized> call timed out…`.
|
|
19
|
+
*/
|
|
20
|
+
errorNoun: string;
|
|
21
|
+
/** Library function — `runTool` or `runSystemTool`. */
|
|
22
|
+
invoke: (opts: RunToolOptions) => Promise<RunToolResult>;
|
|
23
|
+
}
|
|
24
|
+
export declare function buildRunToolCommand(cfg: BuilderOptions): Command;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import * as ui from '../utils/ui.js';
|
|
3
|
+
import { verbose } from '../utils/ui.js';
|
|
4
|
+
import { resolveAndValidateProjectPath, resolveConnection } from '../utils/connection.js';
|
|
5
|
+
import { parseInput } from '../utils/input.js';
|
|
6
|
+
export function buildRunToolCommand(cfg) {
|
|
7
|
+
return new Command(cfg.name)
|
|
8
|
+
.description(cfg.description)
|
|
9
|
+
.argument('<tool-name>', cfg.argDescription)
|
|
10
|
+
.argument('[path]', 'Unity project path (used for config and auto port detection)')
|
|
11
|
+
.option('--path <path>', 'Unity project path (config and auto port detection)')
|
|
12
|
+
.option('--url <url>', 'Direct server URL override (bypasses config)')
|
|
13
|
+
.option('--token <token>', 'Bearer token override (bypasses config)')
|
|
14
|
+
.option('--input <json>', 'JSON string of tool arguments')
|
|
15
|
+
.option('--input-file <file>', 'Read JSON arguments from file')
|
|
16
|
+
.option('--raw', 'Output raw JSON (no formatting)')
|
|
17
|
+
.option('--timeout <ms>', 'Request timeout in milliseconds (default: 60000)', '60000')
|
|
18
|
+
.action(async (toolName, positionalPath, options) => {
|
|
19
|
+
// Validate --timeout first so a bad value short-circuits before
|
|
20
|
+
// we read --input-file or hit the network.
|
|
21
|
+
const timeoutMs = parseInt(options.timeout, 10);
|
|
22
|
+
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
23
|
+
ui.error(`Invalid --timeout value: "${options.timeout}". Must be a positive integer (milliseconds).`);
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
// Resolve path + connection up front so the heading and verbose
|
|
27
|
+
// output reflect the final endpoint before the HTTP call fires.
|
|
28
|
+
const projectPath = resolveAndValidateProjectPath(positionalPath, options);
|
|
29
|
+
const { url: baseUrl, token } = resolveConnection(projectPath, options);
|
|
30
|
+
const body = parseInput(options);
|
|
31
|
+
const endpoint = `${baseUrl}${cfg.routePrefix}/${encodeURIComponent(toolName)}`;
|
|
32
|
+
const authSource = options.token ? '--token flag' : 'config';
|
|
33
|
+
verbose(`${cfg.verboseLabel}: ${toolName}`);
|
|
34
|
+
verbose(`Endpoint: ${endpoint}`);
|
|
35
|
+
verbose(`Body: ${body}`);
|
|
36
|
+
if (token)
|
|
37
|
+
verbose(`Authorization header set (source: ${authSource})`);
|
|
38
|
+
if (!options.raw) {
|
|
39
|
+
ui.heading(cfg.headingLabel);
|
|
40
|
+
ui.label('Tool', toolName);
|
|
41
|
+
ui.label('URL', endpoint);
|
|
42
|
+
if (token)
|
|
43
|
+
ui.label('Auth', `from ${authSource}`);
|
|
44
|
+
ui.divider();
|
|
45
|
+
}
|
|
46
|
+
const spinner = options.raw ? null : ui.startSpinner(`Calling ${toolName}...`);
|
|
47
|
+
// The CLI already resolved url/token, so passing them explicitly
|
|
48
|
+
// makes the lib's resolver a no-op rather than re-reading config.
|
|
49
|
+
const result = await cfg.invoke({
|
|
50
|
+
toolName,
|
|
51
|
+
url: baseUrl,
|
|
52
|
+
...(token ? { token } : {}),
|
|
53
|
+
input: body,
|
|
54
|
+
timeoutMs,
|
|
55
|
+
});
|
|
56
|
+
if (result.kind === 'success') {
|
|
57
|
+
spinner?.success(`${toolName} completed`);
|
|
58
|
+
if (options.raw) {
|
|
59
|
+
process.stdout.write(stringifyForRaw(result.data));
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
ui.success('Response:');
|
|
63
|
+
console.log(typeof result.data === 'string'
|
|
64
|
+
? result.data
|
|
65
|
+
: JSON.stringify(result.data, null, 2));
|
|
66
|
+
}
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
spinner?.stop();
|
|
70
|
+
handleFailure(result, {
|
|
71
|
+
toolName,
|
|
72
|
+
endpoint,
|
|
73
|
+
raw: options.raw,
|
|
74
|
+
timeoutMs,
|
|
75
|
+
errorNoun: cfg.errorNoun,
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
function stringifyForRaw(data) {
|
|
80
|
+
if (typeof data === 'string')
|
|
81
|
+
return data;
|
|
82
|
+
if (data === undefined)
|
|
83
|
+
return '';
|
|
84
|
+
return JSON.stringify(data);
|
|
85
|
+
}
|
|
86
|
+
function handleFailure(failure, ctx) {
|
|
87
|
+
if (failure.reason === 'http-error') {
|
|
88
|
+
if (ctx.raw) {
|
|
89
|
+
process.stdout.write(stringifyForRaw(failure.data));
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
ui.error(`HTTP ${failure.httpStatus}: ${failure.message}`);
|
|
93
|
+
if (failure.data !== undefined) {
|
|
94
|
+
ui.info(typeof failure.data === 'string'
|
|
95
|
+
? failure.data
|
|
96
|
+
: JSON.stringify(failure.data, null, 2));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
101
|
+
const message = buildFailureMessage(failure, ctx);
|
|
102
|
+
if (ctx.raw)
|
|
103
|
+
process.stderr.write(message + '\n');
|
|
104
|
+
else
|
|
105
|
+
ui.error(`Failed to call ${ctx.errorNoun}: ${message}`);
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
function buildFailureMessage(failure, ctx) {
|
|
109
|
+
switch (failure.reason) {
|
|
110
|
+
case 'timeout':
|
|
111
|
+
return `${capitalize(ctx.errorNoun)} call timed out after ${ctx.timeoutMs / 1000} seconds: ${ctx.toolName}`;
|
|
112
|
+
case 'connection-refused':
|
|
113
|
+
return `Connection refused at ${ctx.endpoint}. Is the MCP server running? Start Unity Editor with the MCP plugin first.`;
|
|
114
|
+
case 'connection-reset':
|
|
115
|
+
return `Connection was reset by the server at ${ctx.endpoint}. The server may have crashed or restarted.`;
|
|
116
|
+
case 'network-error':
|
|
117
|
+
return `Cannot reach ${ctx.endpoint}. Check your network connection and server URL.`;
|
|
118
|
+
default:
|
|
119
|
+
return failure.message;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function capitalize(s) {
|
|
123
|
+
return s.length === 0 ? s : s.charAt(0).toUpperCase() + s.slice(1);
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=run-tool-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-tool-builder.js","sourceRoot":"","sources":["../../src/commands/run-tool-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const runToolCommand: Command;
|
|
1
|
+
export declare const runToolCommand: import("commander").Command;
|
|
@@ -1,132 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
.option('--token <token>', 'Bearer token override (bypasses config)')
|
|
13
|
-
.option('--input <json>', 'JSON string of tool arguments')
|
|
14
|
-
.option('--input-file <file>', 'Read JSON arguments from file')
|
|
15
|
-
.option('--raw', 'Output raw JSON (no formatting)')
|
|
16
|
-
.option('--timeout <ms>', 'Request timeout in milliseconds (default: 60000)', '60000')
|
|
17
|
-
.action(async (toolName, positionalPath, options) => {
|
|
18
|
-
const projectPath = resolveAndValidateProjectPath(positionalPath, options);
|
|
19
|
-
const { url: baseUrl, token } = resolveConnection(projectPath, options);
|
|
20
|
-
const body = parseInput(options);
|
|
21
|
-
const endpoint = `${baseUrl}/api/tools/${encodeURIComponent(toolName)}`;
|
|
22
|
-
verbose(`Tool: ${toolName}`);
|
|
23
|
-
verbose(`Endpoint: ${endpoint}`);
|
|
24
|
-
verbose(`Body: ${body}`);
|
|
25
|
-
const headers = {
|
|
26
|
-
'Content-Type': 'application/json',
|
|
27
|
-
};
|
|
28
|
-
if (token) {
|
|
29
|
-
headers['Authorization'] = `Bearer ${token}`;
|
|
30
|
-
verbose(`Authorization header set (source: ${options.token ? '--token flag' : 'config'})`);
|
|
31
|
-
}
|
|
32
|
-
const authSource = options.token ? '--token flag' : 'config';
|
|
33
|
-
if (!options.raw) {
|
|
34
|
-
ui.heading('Run Tool');
|
|
35
|
-
ui.label('Tool', toolName);
|
|
36
|
-
ui.label('URL', endpoint);
|
|
37
|
-
if (token) {
|
|
38
|
-
ui.label('Auth', `from ${authSource}`);
|
|
39
|
-
}
|
|
40
|
-
ui.divider();
|
|
41
|
-
}
|
|
42
|
-
const spinner = options.raw ? null : ui.startSpinner(`Calling ${toolName}...`);
|
|
43
|
-
const timeoutMs = parseInt(options.timeout ?? '60000', 10);
|
|
44
|
-
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
45
|
-
ui.error(`Invalid --timeout value: "${options.timeout}". Must be a positive integer (milliseconds).`);
|
|
46
|
-
process.exit(1);
|
|
47
|
-
}
|
|
48
|
-
const controller = new AbortController();
|
|
49
|
-
const fetchTimeout = setTimeout(() => controller.abort(), timeoutMs);
|
|
50
|
-
try {
|
|
51
|
-
const response = await fetch(endpoint, {
|
|
52
|
-
method: 'POST',
|
|
53
|
-
headers,
|
|
54
|
-
body,
|
|
55
|
-
signal: controller.signal,
|
|
56
|
-
});
|
|
57
|
-
const responseText = await response.text();
|
|
58
|
-
let responseData;
|
|
59
|
-
try {
|
|
60
|
-
responseData = JSON.parse(responseText);
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
responseData = responseText;
|
|
64
|
-
}
|
|
65
|
-
if (!response.ok) {
|
|
66
|
-
spinner?.stop();
|
|
67
|
-
if (options.raw) {
|
|
68
|
-
process.stdout.write(responseText);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
ui.error(`HTTP ${response.status}: ${response.statusText}`);
|
|
72
|
-
if (responseData) {
|
|
73
|
-
ui.info(typeof responseData === 'string'
|
|
74
|
-
? responseData
|
|
75
|
-
: JSON.stringify(responseData, null, 2));
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
process.exit(1);
|
|
79
|
-
}
|
|
80
|
-
spinner?.success(`${toolName} completed`);
|
|
81
|
-
if (options.raw) {
|
|
82
|
-
process.stdout.write(responseText);
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
ui.success('Response:');
|
|
86
|
-
console.log(typeof responseData === 'string'
|
|
87
|
-
? responseData
|
|
88
|
-
: JSON.stringify(responseData, null, 2));
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
catch (err) {
|
|
92
|
-
spinner?.stop();
|
|
93
|
-
const isTimeout = err instanceof Error && err.name === 'AbortError';
|
|
94
|
-
const cause = err instanceof Error && 'cause' in err ? err.cause : null;
|
|
95
|
-
const causeCode = cause?.code ?? '';
|
|
96
|
-
const rootMessage = cause?.message || causeCode || (err instanceof Error ? err.message : String(err));
|
|
97
|
-
const errorSignature = `${rootMessage} ${causeCode}`;
|
|
98
|
-
const isConnectionRefused = errorSignature.includes('ECONNREFUSED');
|
|
99
|
-
const isConnectionReset = errorSignature.includes('ECONNRESET');
|
|
100
|
-
const isNetworkError = errorSignature.includes('EAI_AGAIN') || errorSignature.includes('ENOTFOUND');
|
|
101
|
-
let displayMessage;
|
|
102
|
-
if (isTimeout) {
|
|
103
|
-
displayMessage = `Tool call timed out after ${timeoutMs / 1000} seconds: ${toolName}`;
|
|
104
|
-
}
|
|
105
|
-
else if (isConnectionRefused) {
|
|
106
|
-
displayMessage = `Connection refused at ${endpoint}. Is the MCP server running? Start Unity Editor with the MCP plugin first.`;
|
|
107
|
-
}
|
|
108
|
-
else if (isConnectionReset) {
|
|
109
|
-
displayMessage = `Connection was reset by the server at ${endpoint}. The server may have crashed or restarted.`;
|
|
110
|
-
}
|
|
111
|
-
else if (isNetworkError) {
|
|
112
|
-
displayMessage = `Cannot reach ${endpoint}. Check your network connection and server URL.`;
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
displayMessage = `${rootMessage}`;
|
|
116
|
-
if (cause && cause.message !== rootMessage) {
|
|
117
|
-
displayMessage += ` (${cause.message})`;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
if (options.raw) {
|
|
121
|
-
process.stderr.write(displayMessage + '\n');
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
ui.error(`Failed to call tool: ${displayMessage}`);
|
|
125
|
-
}
|
|
126
|
-
process.exit(1);
|
|
127
|
-
}
|
|
128
|
-
finally {
|
|
129
|
-
clearTimeout(fetchTimeout);
|
|
130
|
-
}
|
|
1
|
+
import { runTool } from '../lib/run-tool.js';
|
|
2
|
+
import { buildRunToolCommand } from './run-tool-builder.js';
|
|
3
|
+
export const runToolCommand = buildRunToolCommand({
|
|
4
|
+
name: 'run-tool',
|
|
5
|
+
description: 'Execute an MCP tool via the HTTP API',
|
|
6
|
+
argDescription: 'Name of the MCP tool to execute',
|
|
7
|
+
routePrefix: '/api/tools',
|
|
8
|
+
verboseLabel: 'Tool',
|
|
9
|
+
headingLabel: 'Run Tool',
|
|
10
|
+
errorNoun: 'tool',
|
|
11
|
+
invoke: runTool,
|
|
131
12
|
});
|
|
132
13
|
//# sourceMappingURL=run-tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-tool.js","sourceRoot":"","sources":["../../src/commands/run-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"run-tool.js","sourceRoot":"","sources":["../../src/commands/run-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAC;IAChD,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,sCAAsC;IACnD,cAAc,EAAE,iCAAiC;IACjD,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,UAAU;IACxB,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,OAAO;CAChB,CAAC,CAAC"}
|
package/dist/lib/open.js
CHANGED
|
@@ -2,6 +2,7 @@ import * as fs from 'fs';
|
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import { platform as nodePlatform } from 'os';
|
|
4
4
|
import { findEditorPath, getProjectEditorVersion, launchEditor, } from '../utils/unity-editor.js';
|
|
5
|
+
import { clearCachedEditorPath } from '../utils/editor-cache.js';
|
|
5
6
|
import { findUnityProcess } from '../utils/unity-process.js';
|
|
6
7
|
import { readConfig, isCloudMode, writeConfig } from '../utils/config.js';
|
|
7
8
|
import { tryDismissLaunchErrorsDialog, LINUX_XDOTOOL_MISSING_PREFIX, UNSUPPORTED_PLATFORM_PREFIX, } from '../utils/launch-error-dismiss.js';
|
|
@@ -242,6 +243,11 @@ export async function openProject(options) {
|
|
|
242
243
|
// Don't throw out of the event listener — the caller can't
|
|
243
244
|
// catch it. Surface the warning for diagnostics.
|
|
244
245
|
warnings.push(`Editor spawn reported error: ${err.message}`);
|
|
246
|
+
// The resolved path failed to spawn (binary corrupted,
|
|
247
|
+
// wrong arch, perms revoked, …). Drop the cache so the
|
|
248
|
+
// next invocation re-resolves from Unity Hub instead of
|
|
249
|
+
// handing back the same broken path.
|
|
250
|
+
clearCachedEditorPath(version);
|
|
245
251
|
},
|
|
246
252
|
});
|
|
247
253
|
// The `spawn` event fires asynchronously after `spawn(...)` returns.
|
package/dist/lib/open.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/lib/open.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/lib/open.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { RunToolOptions, RunToolResult } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Invoke a regular MCP tool over the Unity plugin's HTTP API.
|
|
4
|
+
*
|
|
5
|
+
* URL/token resolution priority: explicit override → project config →
|
|
6
|
+
* deterministic localhost port. POSTs to `/api/tools/{name}`. No
|
|
7
|
+
* console output, no `process.exit`; errors are returned in the
|
|
8
|
+
* `kind: 'failure'` variant.
|
|
9
|
+
*/
|
|
10
|
+
export declare function runTool(opts: RunToolOptions): Promise<RunToolResult>;
|
|
11
|
+
/**
|
|
12
|
+
* Invoke a system tool (internal tool not exposed to MCP clients) over
|
|
13
|
+
* the Unity plugin's HTTP API. POSTs to `/api/system-tools/{name}`.
|
|
14
|
+
*/
|
|
15
|
+
export declare function runSystemTool(opts: RunToolOptions): Promise<RunToolResult>;
|