unity-open-mcp 1.2.3 → 1.4.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 +34 -2
- package/dist/agent-identity.d.ts +12 -0
- package/dist/agent-identity.js +2 -0
- package/dist/agent-identity.js.map +1 -1
- package/dist/batch-spawn.d.ts +39 -0
- package/dist/batch-spawn.js +287 -69
- package/dist/batch-spawn.js.map +1 -1
- package/dist/capabilities/build-capabilities.js +2 -0
- package/dist/capabilities/build-capabilities.js.map +1 -1
- package/dist/capabilities/discovery.d.ts +51 -0
- package/dist/capabilities/discovery.js +87 -0
- package/dist/capabilities/discovery.js.map +1 -0
- package/dist/capabilities/lifecycle.d.ts +6 -0
- package/dist/capabilities/lifecycle.js +17 -1
- package/dist/capabilities/lifecycle.js.map +1 -1
- package/dist/capabilities/tool-groups.js +1 -0
- package/dist/capabilities/tool-groups.js.map +1 -1
- package/dist/child-supervision.d.ts +6 -0
- package/dist/child-supervision.js +12 -0
- package/dist/child-supervision.js.map +1 -1
- package/dist/cli/args.d.ts +24 -2
- package/dist/cli/args.js +97 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/cli.js +42 -3
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/help-text.d.ts +1 -0
- package/dist/cli/help-text.js +83 -3
- package/dist/cli/help-text.js.map +1 -1
- package/dist/cli/json-guards.d.ts +2 -0
- package/dist/cli/json-guards.js +5 -0
- package/dist/cli/json-guards.js.map +1 -0
- package/dist/cli/setup-command.d.ts +116 -0
- package/dist/cli/setup-command.js +696 -0
- package/dist/cli/setup-command.js.map +1 -0
- package/dist/cli/update-command.d.ts +30 -0
- package/dist/cli/update-command.js +271 -0
- package/dist/cli/update-command.js.map +1 -0
- package/dist/compile-verify.d.ts +3 -0
- package/dist/compile-verify.js +4 -0
- package/dist/compile-verify.js.map +1 -1
- package/dist/constants.d.ts +10 -2
- package/dist/constants.js +10 -2
- package/dist/constants.js.map +1 -1
- package/dist/dialog-dismiss.d.ts +108 -12
- package/dist/dialog-dismiss.js +294 -109
- package/dist/dialog-dismiss.js.map +1 -1
- package/dist/dialog-policy.d.ts +55 -9
- package/dist/dialog-policy.js +85 -15
- package/dist/dialog-policy.js.map +1 -1
- package/dist/editor-search.d.ts +2 -0
- package/dist/editor-search.js +8 -0
- package/dist/editor-search.js.map +1 -0
- package/dist/gate-error.d.ts +3 -0
- package/dist/gate-error.js.map +1 -1
- package/dist/index.js +56 -1
- package/dist/index.js.map +1 -1
- package/dist/instance-discovery.d.ts +16 -0
- package/dist/instance-discovery.js +45 -0
- package/dist/instance-discovery.js.map +1 -1
- package/dist/jobs/adapters.d.ts +15 -0
- package/dist/jobs/adapters.js +147 -0
- package/dist/jobs/adapters.js.map +1 -0
- package/dist/jobs/handler.d.ts +3 -0
- package/dist/jobs/handler.js +29 -0
- package/dist/jobs/handler.js.map +1 -0
- package/dist/jobs/job-manager.d.ts +123 -0
- package/dist/jobs/job-manager.js +290 -0
- package/dist/jobs/job-manager.js.map +1 -0
- package/dist/live-client.d.ts +50 -2
- package/dist/live-client.js +221 -26
- package/dist/live-client.js.map +1 -1
- package/dist/local-tools.d.ts +17 -0
- package/dist/local-tools.js +47 -0
- package/dist/local-tools.js.map +1 -0
- package/dist/project-path.d.ts +99 -0
- package/dist/project-path.js +171 -0
- package/dist/project-path.js.map +1 -0
- package/dist/release-lookup.d.ts +32 -0
- package/dist/release-lookup.js +147 -0
- package/dist/release-lookup.js.map +1 -0
- package/dist/routers.d.ts +17 -3
- package/dist/routers.js +29 -8
- package/dist/routers.js.map +1 -1
- package/dist/running-unity.d.ts +21 -0
- package/dist/running-unity.js +50 -0
- package/dist/running-unity.js.map +1 -1
- package/dist/schema-defaults.d.ts +4 -3
- package/dist/schema-defaults.js +20 -6
- package/dist/schema-defaults.js.map +1 -1
- package/dist/server-instructions.js +7 -1
- package/dist/server-instructions.js.map +1 -1
- package/dist/server.d.ts +10 -3
- package/dist/server.js +24 -25
- package/dist/server.js.map +1 -1
- package/dist/setup/codex-toml.d.ts +23 -0
- package/dist/setup/codex-toml.js +514 -0
- package/dist/setup/codex-toml.js.map +1 -0
- package/dist/setup/portable-config.d.ts +59 -0
- package/dist/setup/portable-config.js +241 -0
- package/dist/setup/portable-config.js.map +1 -0
- package/dist/skill/SKILL.md +68 -0
- package/dist/skill/client-paths.js +2 -4
- package/dist/skill/client-paths.js.map +1 -1
- package/dist/skill/copy-references.d.ts +2 -0
- package/dist/skill/copy-references.js +16 -0
- package/dist/skill/copy-references.js.map +1 -0
- package/dist/skill/generate-skill.js +5 -3
- package/dist/skill/generate-skill.js.map +1 -1
- package/dist/skill/references/batch-and-gates.md +142 -0
- package/dist/skill/references/compile-and-safe-mode.md +163 -0
- package/dist/skill/references/discovery-and-groups.md +30 -0
- package/dist/skill/references/routing-and-lifecycle.md +62 -0
- package/dist/skill/references/senses-and-tests.md +41 -0
- package/dist/skill/references/yaml-and-offline-work.md +33 -0
- package/dist/templates/mcp-wrapper.sh +35 -0
- package/dist/tool-contract.d.ts +8 -0
- package/dist/tool-contract.js +253 -0
- package/dist/tool-contract.js.map +1 -0
- package/dist/tool-router.d.ts +62 -7
- package/dist/tool-router.js +455 -17
- package/dist/tool-router.js.map +1 -1
- package/dist/tool-session-state.d.ts +6 -0
- package/dist/tool-session-state.js +14 -0
- package/dist/tool-session-state.js.map +1 -1
- package/dist/tools/agent-capabilities.js +9 -0
- package/dist/tools/agent-capabilities.js.map +1 -1
- package/dist/tools/batch-execute.js +17 -14
- package/dist/tools/batch-execute.js.map +1 -1
- package/dist/tools/bridge-status.js +4 -5
- package/dist/tools/bridge-status.js.map +1 -1
- package/dist/tools/compile-check.js +6 -4
- package/dist/tools/compile-check.js.map +1 -1
- package/dist/tools/component-get.js +2 -2
- package/dist/tools/component-get.js.map +1 -1
- package/dist/tools/component-modify.js +4 -4
- package/dist/tools/component-modify.js.map +1 -1
- package/dist/tools/execute-csharp.js +8 -4
- package/dist/tools/execute-csharp.js.map +1 -1
- package/dist/tools/gameobject-modify.js +2 -1
- package/dist/tools/gameobject-modify.js.map +1 -1
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.js +10 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/inputsim-key.js +12 -14
- package/dist/tools/inputsim-key.js.map +1 -1
- package/dist/tools/inputsim-pointer.js +3 -3
- package/dist/tools/inputsim-pointer.js.map +1 -1
- package/dist/tools/inputsim-step.js +7 -8
- package/dist/tools/inputsim-step.js.map +1 -1
- package/dist/tools/inputsim-touch.js +9 -10
- package/dist/tools/inputsim-touch.js.map +1 -1
- package/dist/tools/jobs.d.ts +40 -0
- package/dist/tools/jobs.js +18 -0
- package/dist/tools/jobs.js.map +1 -0
- package/dist/tools/manage-tools.js +10 -5
- package/dist/tools/manage-tools.js.map +1 -1
- package/dist/tools/project-commands.d.ts +40 -0
- package/dist/tools/project-commands.js +23 -0
- package/dist/tools/project-commands.js.map +1 -0
- package/dist/tools/read-compile-errors.js +14 -93
- package/dist/tools/read-compile-errors.js.map +1 -1
- package/dist/tools/scan-paths.js +4 -4
- package/dist/tools/scan-paths.js.map +1 -1
- package/dist/tools/schema-fragments.d.ts +15 -3
- package/dist/tools/schema-fragments.js +23 -13
- package/dist/tools/schema-fragments.js.map +1 -1
- package/dist/tools/upgrade.d.ts +40 -0
- package/dist/tools/upgrade.js +55 -0
- package/dist/tools/upgrade.js.map +1 -0
- package/dist/unity-install-discovery.d.ts +24 -0
- package/dist/unity-install-discovery.js +113 -4
- package/dist/unity-install-discovery.js.map +1 -1
- package/package.json +4 -3
- package/templates/mcp-wrapper.sh +35 -0
package/dist/batch-spawn.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { detectStaleAssembly } from "./unity-log.js";
|
|
1
2
|
import { spawn } from "node:child_process";
|
|
2
3
|
import { StringDecoder } from "node:string_decoder";
|
|
3
4
|
import { stat } from "node:fs/promises";
|
|
4
5
|
import { trackBatchChild } from "./child-supervision.js";
|
|
5
|
-
import {
|
|
6
|
-
import { readInstanceLock, isPidAlive, classifyInstance, } from "./instance-discovery.js";
|
|
7
|
-
import { findUnityForProject } from "./running-unity.js";
|
|
6
|
+
import { readProjectUnityVersion, resolveUnityPathForProject, scannedHubRoots, } from "./unity-install-discovery.js";
|
|
7
|
+
import { readInstanceLock, isPidAlive, classifyInstance, normalizePath, } from "./instance-discovery.js";
|
|
8
|
+
import { findHeadlessUnityForProject, findUnityForProject } from "./running-unity.js";
|
|
8
9
|
import { makeErrorResult } from "./results.js";
|
|
9
10
|
import { VERIFY_JSON_BEGIN, VERIFY_JSON_END } from "./constants.js";
|
|
10
11
|
const VERIFY_EXECUTE_METHOD = "UnityOpenMcpVerify.Batch.VerifyBatchEntry.Run";
|
|
@@ -12,6 +13,36 @@ const BRIDGE_EXECUTE_METHOD = "UnityOpenMcpBridge.Batch.BridgeBatchEntry.Run";
|
|
|
12
13
|
const OUTPUT_BEGIN = VERIFY_JSON_BEGIN;
|
|
13
14
|
const OUTPUT_END = VERIFY_JSON_END;
|
|
14
15
|
const DEFAULT_BATCH_TIMEOUT_MS = 600_000;
|
|
16
|
+
// How long a FAILED editor resolution is reused by availability checks
|
|
17
|
+
// before the Hub install roots are rescanned. See refreshUnityPath.
|
|
18
|
+
export const FAILED_RESOLUTION_TTL_MS = 30_000;
|
|
19
|
+
// Per-project batch lease, keyed by the normalized project path (the same
|
|
20
|
+
// normalization the Unity process scan compares with), carrying what the run
|
|
21
|
+
// is so Editor-ownership surfaces can explain it instead of reporting "no
|
|
22
|
+
// Unity running".
|
|
23
|
+
const activeBatchProjects = new Map();
|
|
24
|
+
function leaseKey(projectPath) {
|
|
25
|
+
return normalizePath(projectPath);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The headless run this server is driving for `projectPath`, or null when no
|
|
29
|
+
* batch lease is held for it. Returns a copy; callers cannot mutate the lease.
|
|
30
|
+
*/
|
|
31
|
+
export function activeHeadlessRun(projectPath) {
|
|
32
|
+
if (!projectPath)
|
|
33
|
+
return null;
|
|
34
|
+
const run = activeBatchProjects.get(leaseKey(projectPath));
|
|
35
|
+
return run ? { ...run } : null;
|
|
36
|
+
}
|
|
37
|
+
const BATCH_IN_PROGRESS_MESSAGE = "A headless operation already owns this project. Wait for it to finish.";
|
|
38
|
+
// A -batchmode Unity another process has open on the project (a second MCP
|
|
39
|
+
// server's compile_check, a CI run). It is a headless run like our own lease,
|
|
40
|
+
// not an Editor to diagnose, so it gets the same code with its pid.
|
|
41
|
+
function foreignHeadlessMessage(pid) {
|
|
42
|
+
return (`A headless Unity from another process (pid ${pid}) has this project open — ` +
|
|
43
|
+
"a batch run from a second MCP server or CI, not an interactive Editor. " +
|
|
44
|
+
"Unity allows one instance per project; wait for it to exit, then retry.");
|
|
45
|
+
}
|
|
15
46
|
const VERIFY_TOOL_TO_OPERATION = {
|
|
16
47
|
unity_open_mcp_scan_all: "scan_all",
|
|
17
48
|
unity_open_mcp_baseline_create: "baseline_create",
|
|
@@ -54,15 +85,48 @@ export const BATCH_TOOL_NAMES = new Set([
|
|
|
54
85
|
...Object.keys(VERIFY_TOOL_TO_OPERATION),
|
|
55
86
|
...Object.keys(META_TOOL_TO_OPERATION),
|
|
56
87
|
]);
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
88
|
+
// Returns the JSON payload between the result markers, or null when no
|
|
89
|
+
// complete BEGIN/END block exists. The headless run passes `-logFile -`, so
|
|
90
|
+
// Unity's own log (engine lines, background-thread output, Debug.Log) shares
|
|
91
|
+
// stdout with the markers. The batch entry points emit the whole block in one
|
|
92
|
+
// write, but a log line can still land inside it (a package built before that
|
|
93
|
+
// change writes the block in three pieces), and a logged copy of the output
|
|
94
|
+
// can repeat the markers. Blocks are tried last-first: the exact slice wins
|
|
95
|
+
// when it parses; otherwise the first line inside the block that parses as a
|
|
96
|
+
// JSON object is taken. When nothing parses, the last block's raw slice is
|
|
97
|
+
// returned so the caller reports a parse failure instead of missing markers.
|
|
98
|
+
export function extractJson(stdout) {
|
|
99
|
+
let fallback = null;
|
|
100
|
+
let searchFrom = stdout.length;
|
|
101
|
+
while (searchFrom >= 0) {
|
|
102
|
+
const beginIdx = stdout.lastIndexOf(OUTPUT_BEGIN, searchFrom);
|
|
103
|
+
if (beginIdx === -1)
|
|
104
|
+
break;
|
|
105
|
+
searchFrom = beginIdx - 1;
|
|
106
|
+
const jsonStart = beginIdx + OUTPUT_BEGIN.length;
|
|
107
|
+
const endIdx = stdout.indexOf(OUTPUT_END, jsonStart);
|
|
108
|
+
if (endIdx === -1)
|
|
109
|
+
continue;
|
|
110
|
+
const slice = stdout.slice(jsonStart, endIdx).trim();
|
|
111
|
+
fallback ??= slice;
|
|
112
|
+
if (parsesAsObject(slice))
|
|
113
|
+
return slice;
|
|
114
|
+
for (const line of slice.split(/\r?\n/)) {
|
|
115
|
+
const candidate = line.trim();
|
|
116
|
+
if (candidate.startsWith("{") && parsesAsObject(candidate))
|
|
117
|
+
return candidate;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return fallback;
|
|
121
|
+
}
|
|
122
|
+
function parsesAsObject(text) {
|
|
123
|
+
try {
|
|
124
|
+
const value = JSON.parse(text);
|
|
125
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
66
130
|
}
|
|
67
131
|
// M13 — bounded, UTF-8-correct stdout/stderr accumulator for the batch spawn.
|
|
68
132
|
//
|
|
@@ -414,7 +478,7 @@ const UNITY_SPAWN_REFUSED_NEXT_STEPS = [
|
|
|
414
478
|
// Builds the argv array passed to the headless Unity child process. Exported
|
|
415
479
|
// for unit tests that assert compile_check omits -quit (async finalize path).
|
|
416
480
|
export function buildUnityBatchArgs(operation, projectPath, executeMethod, toolArgs) {
|
|
417
|
-
const unityArgs = ["-batchmode"];
|
|
481
|
+
const unityArgs = ["-batchmode", "-logFile", "-"];
|
|
418
482
|
// compile_check is asynchronous: BridgeBatchEntry.Run() returns immediately
|
|
419
483
|
// and CompileCheckState emits markers later from EditorApplication.update.
|
|
420
484
|
// -quit would exit as soon as Run() returns (exit 0, no markers).
|
|
@@ -444,36 +508,29 @@ export class BatchClassificationError extends Error {
|
|
|
444
508
|
}
|
|
445
509
|
}
|
|
446
510
|
export class BatchSpawn {
|
|
447
|
-
unityPath;
|
|
448
|
-
unityPathSource;
|
|
511
|
+
unityPath = "";
|
|
512
|
+
unityPathSource = "none";
|
|
449
513
|
projectPath;
|
|
450
514
|
timeoutMs;
|
|
451
515
|
discoveryRoots;
|
|
516
|
+
spawnProcess;
|
|
517
|
+
now;
|
|
518
|
+
resolutionError;
|
|
519
|
+
// Inputs (project version + env) the cached resolution was computed for,
|
|
520
|
+
// and when it was computed; undefined until the first resolution. See
|
|
521
|
+
// refreshUnityPath.
|
|
522
|
+
resolutionKey;
|
|
523
|
+
resolvedAt = 0;
|
|
452
524
|
constructor(options = {}) {
|
|
453
525
|
this.discoveryRoots = options.discoveryRoots;
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
const
|
|
457
|
-
const
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
console.error(`[unity-open-mcp] Unity path auto-discovered: ${resolved.path} (version ${resolved.version}). Set UNITY_PATH to override.`);
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
else {
|
|
466
|
-
this.unityPath = "";
|
|
467
|
-
this.unityPathSource = "none";
|
|
468
|
-
}
|
|
469
|
-
// UNITY_PROJECT_PATH env -> instance lock's projectPath (so batch works
|
|
470
|
-
// with zero env vars when the bridge has run the project at least once)
|
|
471
|
-
// -> empty.
|
|
472
|
-
this.projectPath =
|
|
473
|
-
options.projectPath ??
|
|
474
|
-
process.env.UNITY_PROJECT_PATH ??
|
|
475
|
-
lock?.projectPath ??
|
|
476
|
-
"";
|
|
526
|
+
this.spawnProcess = options.spawnProcess ?? spawn;
|
|
527
|
+
this.now = options.now ?? Date.now;
|
|
528
|
+
const requestedProjectPath = options.projectPath ?? process.env.UNITY_PROJECT_PATH ?? "";
|
|
529
|
+
const lock = readInstanceLock(requestedProjectPath);
|
|
530
|
+
// Resolve the project path before the editor executable: ProjectVersion.txt
|
|
531
|
+
// is authoritative even when the bridge has not started and no lock exists.
|
|
532
|
+
this.projectPath = requestedProjectPath || lock?.projectPath || "";
|
|
533
|
+
this.refreshUnityPath();
|
|
477
534
|
// Parse the timeout env override with a finiteness/positivity guard:
|
|
478
535
|
// a non-numeric value (e.g. "abc") parses to NaN, and setTimeout(fn, NaN)
|
|
479
536
|
// fires immediately, making every batch time out before Unity even starts.
|
|
@@ -499,6 +556,17 @@ export class BatchSpawn {
|
|
|
499
556
|
getProjectPath() {
|
|
500
557
|
return this.projectPath;
|
|
501
558
|
}
|
|
559
|
+
// Whether a headless spawn has a project and an editor to open it with — the
|
|
560
|
+
// availability discovery reports for always-batch tools, which the live
|
|
561
|
+
// bridge never lists. Shares the spawn's resolution cache (refreshUnityPath):
|
|
562
|
+
// installs are rescanned when the project version or env changed, or when a
|
|
563
|
+
// failed resolution is older than FAILED_RESOLUTION_TTL_MS. A live Editor
|
|
564
|
+
// holding the project lock is runtime state, not availability, and is
|
|
565
|
+
// refused at spawn time.
|
|
566
|
+
headlessAvailable() {
|
|
567
|
+
this.refreshUnityPath();
|
|
568
|
+
return this.projectPath !== "" && this.unityPath !== "";
|
|
569
|
+
}
|
|
502
570
|
async route(toolName, args) {
|
|
503
571
|
const verifyOperation = VERIFY_TOOL_TO_OPERATION[toolName];
|
|
504
572
|
const metaOperation = META_TOOL_TO_OPERATION[toolName];
|
|
@@ -518,9 +586,19 @@ export class BatchSpawn {
|
|
|
518
586
|
// the lock's PID is alive, return the same editor_instance_locked error the
|
|
519
587
|
// post-spawn classifier would produce, without the failed spawn and without
|
|
520
588
|
// the log rotation.
|
|
589
|
+
// This server's own headless child for the project is a -batchmode Unity
|
|
590
|
+
// with a matching -projectPath, so the lock/process checks below would
|
|
591
|
+
// misreport it as a live Editor. The lease is authoritative for it.
|
|
592
|
+
if (this.projectPath && activeBatchProjects.has(leaseKey(this.projectPath))) {
|
|
593
|
+
return makeErrorResult({ code: "batch_in_progress", message: BATCH_IN_PROGRESS_MESSAGE });
|
|
594
|
+
}
|
|
521
595
|
if (this.projectPath) {
|
|
522
596
|
try {
|
|
523
597
|
const lock = readInstanceLock(this.projectPath);
|
|
598
|
+
if (lock && classifyInstance(lock) === "reloading") {
|
|
599
|
+
return makeErrorResult({ code: "editor_reloading", message: "The live Editor is compiling or reloading.",
|
|
600
|
+
detail: { error: { code: "editor_reloading", message: "The live Editor owns the project; no headless spawn was attempted." }, retryAfterMs: 1000 } });
|
|
601
|
+
}
|
|
524
602
|
if (lock && lock.pid && isPidAlive(lock.pid)) {
|
|
525
603
|
// feedback 2026-08-17 — parameterize by the invoked tool and split
|
|
526
604
|
// "live bridge should be up" from "Editor holds the lock but its
|
|
@@ -553,6 +631,21 @@ export class BatchSpawn {
|
|
|
553
631
|
// classification already handles the project-locked case reactively).
|
|
554
632
|
}
|
|
555
633
|
}
|
|
634
|
+
// A headless Unity another process started is a batch run too, not an
|
|
635
|
+
// Editor whose lock diagnosis applies.
|
|
636
|
+
const foreign = this.projectPath ? findHeadlessUnityForProject(this.projectPath) : null;
|
|
637
|
+
if (foreign) {
|
|
638
|
+
return makeErrorResult({ code: "batch_in_progress", message: foreignHeadlessMessage(foreign.pid) });
|
|
639
|
+
}
|
|
640
|
+
// Cold Safe Mode/boot can own the project before a bridge lock exists.
|
|
641
|
+
const running = this.projectPath ? findUnityForProject(this.projectPath) : null;
|
|
642
|
+
if (running) {
|
|
643
|
+
const diagnosis = diagnoseEditorLock(this.projectPath);
|
|
644
|
+
const message = editorLockedMessage(toolName, diagnosis);
|
|
645
|
+
return makeErrorResult({ code: "editor_instance_locked", message,
|
|
646
|
+
detail: { error: { code: "editor_instance_locked", message }, agentNextSteps: editorLockedNextSteps(toolName, diagnosis) } });
|
|
647
|
+
}
|
|
648
|
+
this.refreshUnityPath(true);
|
|
556
649
|
const pathError = await this.validateUnityPath();
|
|
557
650
|
if (pathError)
|
|
558
651
|
return pathError;
|
|
@@ -629,7 +722,71 @@ export class BatchSpawn {
|
|
|
629
722
|
isError: hasError,
|
|
630
723
|
};
|
|
631
724
|
}
|
|
725
|
+
// Select the editor for the project's CURRENT version. ProjectVersion.txt is
|
|
726
|
+
// cheap to read, so it is re-read before every spawn: a project upgraded
|
|
727
|
+
// while the server runs must not open with the previously chosen editor
|
|
728
|
+
// (a wrong-version open can rewrite package and project metadata). The
|
|
729
|
+
// install scan (a synchronous walk of every Hub root) reruns when that
|
|
730
|
+
// version or the env inputs changed. A failed resolution is also retried,
|
|
731
|
+
// so installing the missing exact editor takes effect without a server
|
|
732
|
+
// restart: always on a spawn (retryFailure), and after
|
|
733
|
+
// FAILED_RESOLUTION_TTL_MS for availability checks, which discovery calls
|
|
734
|
+
// on every capabilities/activate_for request.
|
|
735
|
+
refreshUnityPath(retryFailure = false) {
|
|
736
|
+
const preferredVersion = readProjectUnityVersion(this.projectPath) ??
|
|
737
|
+
(this.projectPath ? readInstanceLock(this.projectPath)?.unityVersion : undefined) ??
|
|
738
|
+
null;
|
|
739
|
+
const allowVersionMismatch = process.env.UNITY_OPEN_MCP_ALLOW_VERSION_MISMATCH === "1";
|
|
740
|
+
const key = JSON.stringify([
|
|
741
|
+
preferredVersion,
|
|
742
|
+
process.env.UNITY_PATH ?? null,
|
|
743
|
+
process.env.UNITY_HUB ?? null,
|
|
744
|
+
allowVersionMismatch,
|
|
745
|
+
]);
|
|
746
|
+
if (key === this.resolutionKey) {
|
|
747
|
+
if (!this.resolutionError)
|
|
748
|
+
return;
|
|
749
|
+
if (!retryFailure && this.now() - this.resolvedAt < FAILED_RESOLUTION_TTL_MS)
|
|
750
|
+
return;
|
|
751
|
+
}
|
|
752
|
+
const resolution = resolveUnityPathForProject(preferredVersion, this.discoveryRoots, allowVersionMismatch);
|
|
753
|
+
this.resolutionKey = key;
|
|
754
|
+
this.resolvedAt = this.now();
|
|
755
|
+
if (resolution.ok) {
|
|
756
|
+
this.unityPath = resolution.value.path;
|
|
757
|
+
this.unityPathSource = resolution.value.source;
|
|
758
|
+
this.resolutionError = undefined;
|
|
759
|
+
if (resolution.value.source === "discovered") {
|
|
760
|
+
console.error(`[unity-open-mcp] Unity path auto-discovered: ${resolution.value.path} (version ${resolution.value.version}). Set UNITY_PATH to override.`);
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
else {
|
|
764
|
+
this.unityPath = "";
|
|
765
|
+
this.unityPathSource = "none";
|
|
766
|
+
this.resolutionError = resolution;
|
|
767
|
+
}
|
|
768
|
+
}
|
|
632
769
|
async validateUnityPath() {
|
|
770
|
+
if (this.resolutionError?.reason === "preferred_not_installed") {
|
|
771
|
+
const available = this.resolutionError.availableVersions.length > 0
|
|
772
|
+
? this.resolutionError.availableVersions.join(", ")
|
|
773
|
+
: "none discovered";
|
|
774
|
+
return makeErrorResult({
|
|
775
|
+
code: "unity_version_not_installed",
|
|
776
|
+
message: `This project requires Unity ${this.resolutionError.preferredVersion}, but that exact editor is not installed ` +
|
|
777
|
+
`(available: ${available}). No Unity process was started, because opening a project with a different ` +
|
|
778
|
+
"version can rewrite package and project metadata. Install the exact version, set UNITY_PATH to it, " +
|
|
779
|
+
"or explicitly opt in with UNITY_OPEN_MCP_ALLOW_VERSION_MISMATCH=1.",
|
|
780
|
+
});
|
|
781
|
+
}
|
|
782
|
+
if (this.resolutionError?.reason === "env_version_mismatch") {
|
|
783
|
+
return makeErrorResult({
|
|
784
|
+
code: "unity_version_mismatch",
|
|
785
|
+
message: `This project requires Unity ${this.resolutionError.preferredVersion}, but UNITY_PATH points to ` +
|
|
786
|
+
`Unity ${this.resolutionError.configuredVersion}. No Unity process was started. Correct UNITY_PATH ` +
|
|
787
|
+
"or explicitly opt in with UNITY_OPEN_MCP_ALLOW_VERSION_MISMATCH=1.",
|
|
788
|
+
});
|
|
789
|
+
}
|
|
633
790
|
if (!this.unityPath) {
|
|
634
791
|
// No explicit UNITY_PATH AND auto-discovery found nothing. List the
|
|
635
792
|
// scanned roots so the user/agent knows where to install Unity or set
|
|
@@ -672,14 +829,62 @@ export class BatchSpawn {
|
|
|
672
829
|
return new Promise((resolve, reject) => {
|
|
673
830
|
const toolArgs = argBuilder(operation, args);
|
|
674
831
|
const unityArgs = buildUnityBatchArgs(operation, this.projectPath, executeMethod, toolArgs);
|
|
832
|
+
// Re-check after asynchronous executable discovery, immediately before
|
|
833
|
+
// spawn. Lease first: a concurrent call may have spawned our own child
|
|
834
|
+
// meanwhile, and that child must not read as a live Editor.
|
|
835
|
+
const projectKey = leaseKey(this.projectPath);
|
|
836
|
+
if (activeBatchProjects.has(projectKey)) {
|
|
837
|
+
reject(new BatchClassificationError("batch_in_progress", BATCH_IN_PROGRESS_MESSAGE));
|
|
838
|
+
return;
|
|
839
|
+
}
|
|
840
|
+
const foreignHeadless = findHeadlessUnityForProject(this.projectPath);
|
|
841
|
+
if (foreignHeadless) {
|
|
842
|
+
reject(new BatchClassificationError("batch_in_progress", foreignHeadlessMessage(foreignHeadless.pid)));
|
|
843
|
+
return;
|
|
844
|
+
}
|
|
845
|
+
const owner = readInstanceLock(this.projectPath);
|
|
846
|
+
if ((owner && isPidAlive(owner.pid)) || findUnityForProject(this.projectPath)) {
|
|
847
|
+
reject(new BatchClassificationError("editor_instance_locked", "A live Editor owns this project; no headless spawn was attempted."));
|
|
848
|
+
return;
|
|
849
|
+
}
|
|
675
850
|
console.error(`[unity-open-mcp] Batch spawn: ${this.unityPath} ${unityArgs.join(" ")}`);
|
|
851
|
+
const beforeAssembly = detectStaleAssembly(this.projectPath).dllMtimeMs;
|
|
676
852
|
const startTime = Date.now();
|
|
677
853
|
// M13 — bounded, UTF-8-correct accumulators (see BoundedTextAccumulator).
|
|
678
854
|
const stdoutAcc = new BoundedTextAccumulator();
|
|
679
855
|
const stderrAcc = new BoundedTextAccumulator();
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
856
|
+
// The project lease lives as long as a Unity process may own the
|
|
857
|
+
// project. Released at most once, so this child's late close cannot
|
|
858
|
+
// erase a replacement call's lease.
|
|
859
|
+
const run = {
|
|
860
|
+
tool: toolName,
|
|
861
|
+
operation,
|
|
862
|
+
startedAt: startTime,
|
|
863
|
+
timeoutMs: this.timeoutMs,
|
|
864
|
+
pid: null,
|
|
865
|
+
};
|
|
866
|
+
activeBatchProjects.set(projectKey, run);
|
|
867
|
+
let leaseHeld = true;
|
|
868
|
+
const releaseLease = () => {
|
|
869
|
+
if (!leaseHeld)
|
|
870
|
+
return;
|
|
871
|
+
leaseHeld = false;
|
|
872
|
+
activeBatchProjects.delete(projectKey);
|
|
873
|
+
};
|
|
874
|
+
let child;
|
|
875
|
+
try {
|
|
876
|
+
child = this.spawnProcess(this.unityPath, unityArgs, {
|
|
877
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
878
|
+
});
|
|
879
|
+
}
|
|
880
|
+
catch (err) {
|
|
881
|
+
// A synchronous throw (NUL byte in an argument, E2BIG, ...) starts no
|
|
882
|
+
// process and fires no child events.
|
|
883
|
+
releaseLease();
|
|
884
|
+
reject(err);
|
|
885
|
+
return;
|
|
886
|
+
}
|
|
887
|
+
run.pid = child.pid ?? null;
|
|
683
888
|
// Register with the process-wide supervision registry so the
|
|
684
889
|
// SIGINT/SIGTERM/exit handlers installed at the entry points tear this
|
|
685
890
|
// child down if the server dies mid-run (otherwise the headless Unity
|
|
@@ -722,10 +927,16 @@ export class BatchSpawn {
|
|
|
722
927
|
stderrAcc.push(chunk);
|
|
723
928
|
});
|
|
724
929
|
child.on("error", (err) => {
|
|
930
|
+
// A child that never started (no pid) owns nothing, and a failed spawn
|
|
931
|
+
// may emit only 'error' on some Node versions. A started child's error
|
|
932
|
+
// (e.g. a failed kill) keeps the lease until close.
|
|
933
|
+
if (child.pid === undefined)
|
|
934
|
+
releaseLease();
|
|
725
935
|
clearTimers();
|
|
726
936
|
reject(new BatchClassificationError("unity_spawn_refused", `Failed to spawn Unity at '${this.unityPath}': ${err.message}`, UNITY_SPAWN_REFUSED_NEXT_STEPS));
|
|
727
937
|
});
|
|
728
938
|
child.on("close", (code) => {
|
|
939
|
+
releaseLease();
|
|
729
940
|
clearTimers();
|
|
730
941
|
const elapsedMs = Date.now() - startTime;
|
|
731
942
|
const exitCode = code ?? 1;
|
|
@@ -744,11 +955,9 @@ export class BatchSpawn {
|
|
|
744
955
|
// opaque "no markers" message.
|
|
745
956
|
const combined = `${stdout}\n${stderr}`;
|
|
746
957
|
const csErrors = extractCompilerErrors(combined);
|
|
747
|
-
const tail =
|
|
958
|
+
const tail = combined.trim().slice(-4096);
|
|
748
959
|
if (csErrors.length > 0) {
|
|
749
|
-
reject(new
|
|
750
|
-
`The bridge assembly likely failed to compile:\n` +
|
|
751
|
-
csErrors.join("\n")));
|
|
960
|
+
reject(new BatchClassificationError("compile_failed", `C# compilation failed before the batch entry point (exit ${exitCode}).\n` + csErrors.join("\n") + `\nLast output: ${tail}`, ["Fix the reported compiler diagnostics, then re-run compile_check."]));
|
|
752
961
|
return;
|
|
753
962
|
}
|
|
754
963
|
// M22 Plan 3 / T-fix-2 — before the generic no-markers reject,
|
|
@@ -773,8 +982,10 @@ export class BatchSpawn {
|
|
|
773
982
|
// ran, so no markers were emitted — the generic "did not contain
|
|
774
983
|
// JSON markers" error would mask the real root cause (an
|
|
775
984
|
// unresolvable Packages/manifest.json dependency). Name the
|
|
776
|
-
// offending package(s) and point at
|
|
777
|
-
//
|
|
985
|
+
// offending package(s) and point at the captured output tail:
|
|
986
|
+
// Unity prints the Package Manager notice as its last lines before
|
|
987
|
+
// exiting, and with -logFile - this run never reaches Editor.log,
|
|
988
|
+
// so read_compile_errors would show an unrelated log instead.
|
|
778
989
|
const offending = extractOffendingPackages(combined);
|
|
779
990
|
const pkgPart = offending.length > 0
|
|
780
991
|
? ` Offending package(s): ${offending.join(", ")}.`
|
|
@@ -782,10 +993,10 @@ export class BatchSpawn {
|
|
|
782
993
|
reject(new BatchClassificationError("project_load_failed", `Batch Unity exited at package/project resolution (exit ${exitCode}) ` +
|
|
783
994
|
`without running the batch entry point, so no compile took place. ` +
|
|
784
995
|
`The project failed to load — this is NOT a C# compile error.${pkgPart} ` +
|
|
785
|
-
`Check Packages/manifest.json for unresolvable dependencies
|
|
786
|
-
`
|
|
996
|
+
`Check Packages/manifest.json for unresolvable dependencies; the ` +
|
|
997
|
+
`Package Manager notice is at the end of this run's output. Last output: ${tail}`, [
|
|
787
998
|
`Batch Unity failed to load the project (exit ${exitCode}) before reaching the batch entry point — this is a package-resolution / project-load failure, not a compile failure.${pkgPart}`,
|
|
788
|
-
"
|
|
999
|
+
"Read the Package Manager notice at the end of the error message's 'Last output' tail — it is this run's own Unity log; the headless run does not write Editor.log.",
|
|
789
1000
|
"Inspect Packages/manifest.json and Packages/packages-lock.json for packages that cannot be resolved by the current Unity version.",
|
|
790
1001
|
"Do not retry compile_check blindly — the same project-load failure will recur until the manifest is fixed.",
|
|
791
1002
|
]));
|
|
@@ -796,29 +1007,36 @@ export class BatchSpawn {
|
|
|
796
1007
|
`Path: '${this.unityPath}'.`, UNITY_SPAWN_REFUSED_NEXT_STEPS));
|
|
797
1008
|
return;
|
|
798
1009
|
}
|
|
799
|
-
//
|
|
800
|
-
//
|
|
801
|
-
//
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
1010
|
+
// Exit zero is only a process result. Certify a missing compile report
|
|
1011
|
+
// using this child's completion log plus newly produced assemblies;
|
|
1012
|
+
// otherwise preserve uncertainty rather than guessing success.
|
|
1013
|
+
if (exitCode === 0 && operation === "compile_check") {
|
|
1014
|
+
const after = detectStaleAssembly(this.projectPath);
|
|
1015
|
+
const advanced = after.dllMtimeMs !== undefined && after.dllMtimeMs > (beforeAssembly ?? 0)
|
|
1016
|
+
&& after.dllMtimeMs >= startTime && !after.staleAssembly;
|
|
1017
|
+
const completed = /(?:Compilation succeeded|compilation finished successfully|Scripts have been recompiled)/i.test(combined);
|
|
1018
|
+
if (advanced && completed) {
|
|
1019
|
+
resolve({ json: { status: "compile_passed", errorCount: 0, errors: [],
|
|
1020
|
+
evidenceSource: "batch_log_and_assemblies", beforeAssemblyMtimeMs: beforeAssembly ?? null,
|
|
1021
|
+
afterAssemblyMtimeMs: after.dllMtimeMs, logTail: tail }, exitCode, elapsedMs });
|
|
1022
|
+
return;
|
|
1023
|
+
}
|
|
1024
|
+
reject(new BatchClassificationError("compile_indeterminate", `Unity exited 0 without a compile report; secondary evidence cannot certify completion. ` +
|
|
1025
|
+
`Assembly advanced: ${advanced}; completion log: ${completed}. Last output: ${tail}`, ["Inspect this batch output and the project assembly timestamps; do not infer success from exit code 0."]));
|
|
1026
|
+
return;
|
|
1027
|
+
}
|
|
810
1028
|
if (exitCode === 0) {
|
|
811
|
-
reject(new BatchClassificationError("markers_missing", `Batch output did not contain JSON markers. Exit code: 0
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
1029
|
+
reject(new BatchClassificationError("markers_missing", `Batch output did not contain JSON markers. Exit code: 0. ` +
|
|
1030
|
+
`Unity exited cleanly but '${toolName}' emitted no report, so ` +
|
|
1031
|
+
"its outcome is unknown." +
|
|
1032
|
+
(tail ? ` Last output: ${tail}` : ""), [
|
|
1033
|
+
`The ${toolName} batch Unity exited cleanly (exit 0) but emitted no JSON report — the operation's outcome is unknown; this is not a spawn failure.`,
|
|
1034
|
+
"Inspect the error message's 'Last output' tail — it is this run's own Unity log; the headless run does not write Editor.log.",
|
|
1035
|
+
`If ${toolName} changes the project, inspect its post-state before repeating it.`,
|
|
818
1036
|
]));
|
|
819
1037
|
return;
|
|
820
1038
|
}
|
|
821
|
-
reject(new
|
|
1039
|
+
reject(new BatchClassificationError("batch_aborted", `Batch output did not contain JSON markers. Exit code: ${exitCode}.` +
|
|
822
1040
|
(tail ? ` Last output: ${tail}` : "")));
|
|
823
1041
|
return;
|
|
824
1042
|
}
|
package/dist/batch-spawn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-spawn.js","sourceRoot":"","sources":["../src/batch-spawn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"batch-spawn.js","sourceRoot":"","sources":["../src/batch-spawn.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,6 +105,8 @@ export const TOOL_CATEGORY_OVERRIDES = {
|
|
|
105
105
|
// because they MUST stay always-visible (an agent needs to reach
|
|
106
106
|
// capabilities / list_rules / generate_skill before any other tool).
|
|
107
107
|
unity_open_mcp_capabilities: "capability-discovery",
|
|
108
|
+
unity_open_mcp_project_commands: "capability-discovery",
|
|
109
|
+
unity_open_mcp_jobs: "capability-discovery",
|
|
108
110
|
unity_open_mcp_list_rules: "capability-discovery",
|
|
109
111
|
unity_open_mcp_generate_skill: "capability-discovery",
|
|
110
112
|
// The remaining meta-tools (pull_events, read_compile_errors,
|