unity-open-mcp 0.8.3 → 0.9.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.
Files changed (45) hide show
  1. package/dist/batch-spawn.js +40 -1
  2. package/dist/batch-spawn.js.map +1 -1
  3. package/dist/capabilities/lifecycle.js +12 -0
  4. package/dist/capabilities/lifecycle.js.map +1 -1
  5. package/dist/capabilities/tool-groups.js +2 -0
  6. package/dist/capabilities/tool-groups.js.map +1 -1
  7. package/dist/constants.d.ts +1 -1
  8. package/dist/constants.js +1 -1
  9. package/dist/live-client.js +8 -4
  10. package/dist/live-client.js.map +1 -1
  11. package/dist/tool-router.d.ts +1 -0
  12. package/dist/tool-router.js +85 -9
  13. package/dist/tool-router.js.map +1 -1
  14. package/dist/tool-session-state.d.ts +12 -6
  15. package/dist/tool-session-state.js +16 -9
  16. package/dist/tool-session-state.js.map +1 -1
  17. package/dist/tools/component-get.js +9 -0
  18. package/dist/tools/component-get.js.map +1 -1
  19. package/dist/tools/editor-status.js +5 -1
  20. package/dist/tools/editor-status.js.map +1 -1
  21. package/dist/tools/execute-csharp.js +16 -2
  22. package/dist/tools/execute-csharp.js.map +1 -1
  23. package/dist/tools/gameobject-create.js +19 -6
  24. package/dist/tools/gameobject-create.js.map +1 -1
  25. package/dist/tools/gameobject-duplicate.js +7 -2
  26. package/dist/tools/gameobject-duplicate.js.map +1 -1
  27. package/dist/tools/index.js +3 -0
  28. package/dist/tools/index.js.map +1 -1
  29. package/dist/tools/manage-tools.js +8 -1
  30. package/dist/tools/manage-tools.js.map +1 -1
  31. package/dist/tools/prefab-instantiate.js +11 -0
  32. package/dist/tools/prefab-instantiate.js.map +1 -1
  33. package/dist/tools/read-compile-errors.js +7 -1
  34. package/dist/tools/read-compile-errors.js.map +1 -1
  35. package/dist/tools/recompile-scripts.d.ts +40 -0
  36. package/dist/tools/recompile-scripts.js +35 -0
  37. package/dist/tools/recompile-scripts.js.map +1 -0
  38. package/dist/tools/run-tests.js +21 -4
  39. package/dist/tools/run-tests.js.map +1 -1
  40. package/dist/tools/ui-canvas-add.js +19 -6
  41. package/dist/tools/ui-canvas-add.js.map +1 -1
  42. package/dist/unity-log.d.ts +62 -1
  43. package/dist/unity-log.js +186 -10
  44. package/dist/unity-log.js.map +1 -1
  45. package/package.json +1 -1
package/dist/unity-log.js CHANGED
@@ -16,7 +16,7 @@
16
16
  // (project-relative) Unity versions without a version check.
17
17
  //
18
18
  // No runtime deps beyond node built-ins (mcp-server/AGENTS.md).
19
- import { existsSync, openSync, readSync, fstatSync, closeSync, statSync } from "node:fs";
19
+ import { existsSync, openSync, readSync, fstatSync, closeSync, statSync, readdirSync } from "node:fs";
20
20
  import { homedir } from "node:os";
21
21
  import { join } from "node:path";
22
22
  /** Resolve the live Editor.log directory for the current platform. Mirrors
@@ -60,6 +60,36 @@ export function projectEditorLogPath(projectPath) {
60
60
  return null;
61
61
  return join(projectPath, "Logs", "Editor.log");
62
62
  }
63
+ /**
64
+ * The rotated previous log. Unity renames the live Editor.log to
65
+ * Editor-prev.log on every fresh launch (a new Editor start, AND a failed
66
+ * batch spawn against an already-open project). When a live editor holds the
67
+ * project and a batch invocation rotates the log, the live editor keeps its
68
+ * open handle and writes to Editor-prev.log from then on, while Editor.log is
69
+ * frozen at a tiny startup size — reading it returns "no errors" forever
70
+ * (feedback-fable-31-07 §5).
71
+ *
72
+ * Returns the GLOBAL prev-log path. On Unity 6000.5+ the rotated prev log
73
+ * lives next to the project-relative live log (`<project>/Logs/Editor-prev.log`),
74
+ * not in the global dir — use {@link projectEditorPrevLogPath} when the
75
+ * project-relative live log is the resolved candidate.
76
+ */
77
+ export function editorPrevLogPath(platform = process.platform) {
78
+ return join(editorLogsDir(platform), "Editor-prev.log");
79
+ }
80
+ /**
81
+ * Resolve the project-relative Editor-prev.log path Unity 6000.5+ rotates the
82
+ * live log into (`<project>/Logs/Editor-prev.log`). Returns null when no
83
+ * project path is given. Mirrors {@link projectEditorLogPath}: on 6000.5+ the
84
+ * prev log follows the live log into the project's Logs dir, so the prev-log
85
+ * fallback must read THAT file, not the stale global Editor-prev.log left over
86
+ * from a pre-6000.5 session.
87
+ */
88
+ export function projectEditorPrevLogPath(projectPath) {
89
+ if (!projectPath)
90
+ return null;
91
+ return join(projectPath, "Logs", "Editor-prev.log");
92
+ }
63
93
  /**
64
94
  * Pick the authoritative Editor.log to read for compile-error extraction.
65
95
  *
@@ -76,18 +106,67 @@ export function projectEditorLogPath(projectPath) {
76
106
  *
77
107
  * When the project path is unknown (no `--project`), or the project-relative
78
108
  * log doesn't exist, the global log is used as before.
109
+ *
110
+ * feedback-fable-31-07 §5 — Editor-prev.log fallback. When a live editor
111
+ * holds the project (a known `livePid` is alive) and the resolved Editor.log
112
+ * looks frozen (implausibly small, e.g. < 4KB — the tell-tale sign of a
113
+ * rotated log the live editor is no longer writing to), fall back to
114
+ * Editor-prev.log, which is where the live editor keeps writing after the
115
+ * rotation. `livePid` is optional; when absent the prev.log fallback only
116
+ * triggers on a frozen-looking log, which is conservative.
79
117
  */
80
- export function resolveEditorLogPath(projectPath, platform = process.platform) {
118
+ export function resolveEditorLogPath(projectPath, platform = process.platform, livePid) {
81
119
  const project = projectEditorLogPath(projectPath);
82
120
  const global = editorLogPath(platform);
83
- if (project && existsSync(project)) {
84
- // Prefer the project-relative log when it exists. On 6000.5+ this is the
85
- // only authoritative log; on older Unity it may not exist (fall through to
86
- // global). Ties (both exist) go to the project log because 6000.5 writes
87
- // there even if the global file lingers from an older version.
88
- return project;
89
- }
90
- return global;
121
+ const candidate = project && existsSync(project) ? project : global;
122
+ const candidateReason = project && existsSync(project) ? "project_log" : "global_log";
123
+ // On 6000.5+ the rotated prev log lives next to the project-relative live
124
+ // log (<project>/Logs/Editor-prev.log), not in the global dir. When the
125
+ // resolved candidate is the project log, the prev-log fallback must read the
126
+ // project prev log; otherwise (pre-6000.5 global candidate) fall back to the
127
+ // global prev log as before. Reading the stale global prev log here would
128
+ // return compile errors from an unrelated older session.
129
+ const usingProjectLog = candidateReason === "project_log";
130
+ const prev = usingProjectLog && project
131
+ ? projectEditorPrevLogPath(projectPath) ?? editorPrevLogPath(platform)
132
+ : editorPrevLogPath(platform);
133
+ const prevExists = existsSync(prev);
134
+ const candidateFrozen = isLogFrozen(candidate);
135
+ // Strong signal: a live editor is known to hold the project AND Editor.log
136
+ // is frozen/small. This is exactly the log-rotation scenario — a batch spawn
137
+ // rotated Editor.log while the live editor keeps writing to Editor-prev.log.
138
+ // Prefer Editor-prev.log when it exists.
139
+ //
140
+ // The frozen check is ONLY meaningful with a live PID: a machine that is not
141
+ // currently running Unity naturally has a small stale global Editor.log and a
142
+ // recent Editor-prev.log, which is the NORMAL state, not a rotation in
143
+ // progress. Without a live PID we never fall back on frozen-ness alone.
144
+ if (prevExists && livePid && livePid > 0 && candidateFrozen) {
145
+ return { path: prev, reason: "prev_log_live_editor" };
146
+ }
147
+ // No live PID context: only fall back when the resolved candidate does not
148
+ // exist at all but Editor-prev.log does (a hard missing-log case).
149
+ if (!livePid && !existsSync(candidate) && prevExists) {
150
+ return { path: prev, reason: "prev_log_fallback" };
151
+ }
152
+ return { path: candidate, reason: candidateReason };
153
+ }
154
+ /** Threshold below which Editor.log is "frozen" — a freshly-rotated log the
155
+ * live editor stopped writing to is typically a few hundred bytes to ~2.5KB
156
+ * (just the batch spawn's startup banner before it died on the project lock). */
157
+ const FROZEN_LOG_BYTES = 4096;
158
+ function isLogFrozen(path) {
159
+ // A frozen log is implausibly small. The real live log is usually tens of KB
160
+ // minimum once the editor has compiled anything.
161
+ return statSize(path) < FROZEN_LOG_BYTES;
162
+ }
163
+ function statSize(path) {
164
+ try {
165
+ return existsSync(path) ? statSync(path).size : 0;
166
+ }
167
+ catch {
168
+ return 0;
169
+ }
91
170
  }
92
171
  /** Default tail size. Bounded so a multi-MB log can't blow up the tool
93
172
  * response; 256KB is ample for a compile-error burst (Unity writes the
@@ -241,4 +320,101 @@ export function detectStaleLog(logPath, citedFiles, projectRoot) {
241
320
  "unity_open_mcp_compile_check to spawn a fresh headless recompile.",
242
321
  };
243
322
  }
323
+ /** Cap on the number of newer sources reported (evidence, not a roster). */
324
+ const MAX_NEWER_SOURCES = 5;
325
+ /** Cap on how many .cs files to stat before giving up the scan. A project that
326
+ * exceeds this likely has a fresh DLL anyway (compile times track source
327
+ * count); the cap protects pathological trees from stalling the read. */
328
+ const MAX_CS_SCAN = 4000;
329
+ /**
330
+ * Decide whether the built assembly set under `<project>/Library/ScriptAssemblies`
331
+ * is stale relative to the on-disk C# sources under `<project>/Assets`.
332
+ *
333
+ * Conservative: flags staleness only when ALL of:
334
+ * - the ScriptAssemblies dir exists and holds at least one .dll,
335
+ * - at least one C# source under Assets is strictly newer than the newest
336
+ * .dll mtime.
337
+ * Never throws; returns a clean "not stale" on any resolution failure.
338
+ */
339
+ export function detectStaleAssembly(projectRoot) {
340
+ const empty = { staleAssembly: false, newerSources: [], hint: "" };
341
+ if (!projectRoot)
342
+ return empty;
343
+ const dllDir = join(projectRoot, "Library", "ScriptAssemblies");
344
+ let dllMtimeMs;
345
+ try {
346
+ if (!existsSync(dllDir))
347
+ return empty;
348
+ let newest = 0;
349
+ for (const entry of readdirSync(dllDir)) {
350
+ if (!entry.endsWith(".dll"))
351
+ continue;
352
+ const m = statSync(join(dllDir, entry)).mtimeMs;
353
+ if (m > newest)
354
+ newest = m;
355
+ }
356
+ if (newest === 0)
357
+ return empty; // no DLLs built yet
358
+ dllMtimeMs = newest;
359
+ }
360
+ catch {
361
+ return empty;
362
+ }
363
+ // Scan Assets/ for .cs sources newer than the newest DLL. Walk top-down,
364
+ // skipping Library/Temp/obj etc. (Assets/ has none of those, but be safe).
365
+ const newerSources = [];
366
+ let scanned = 0;
367
+ const visit = (dir) => {
368
+ if (newerSources.length >= MAX_NEWER_SOURCES || scanned >= MAX_CS_SCAN)
369
+ return;
370
+ let entries;
371
+ try {
372
+ entries = readdirSync(dir, { withFileTypes: true });
373
+ }
374
+ catch {
375
+ return;
376
+ }
377
+ for (const ent of entries) {
378
+ if (newerSources.length >= MAX_NEWER_SOURCES || scanned >= MAX_CS_SCAN)
379
+ return;
380
+ const full = join(dir, ent.name);
381
+ if (ent.isDirectory()) {
382
+ visit(full);
383
+ }
384
+ else if (ent.isFile() && ent.name.endsWith(".cs")) {
385
+ scanned++;
386
+ try {
387
+ const m = statSync(full).mtimeMs;
388
+ if (m > dllMtimeMs) {
389
+ const rel = full.slice(projectRoot.length).replace(/^[\\/]+/, "");
390
+ newerSources.push(rel);
391
+ }
392
+ }
393
+ catch {
394
+ /* file vanished mid-scan */
395
+ }
396
+ }
397
+ }
398
+ };
399
+ try {
400
+ visit(join(projectRoot, "Assets"));
401
+ }
402
+ catch {
403
+ return empty;
404
+ }
405
+ if (newerSources.length === 0) {
406
+ return { staleAssembly: false, dllMtimeMs, newerSources: [], hint: "" };
407
+ }
408
+ return {
409
+ staleAssembly: true,
410
+ dllMtimeMs,
411
+ newerSources,
412
+ hint: "The built assembly appears stale — at least one Assets/**/*.cs source is " +
413
+ "newer than the newest Library/ScriptAssemblies/*.dll (Unity's incremental " +
414
+ "compiler likely no-op'd a recompile, so the running assembly predates the " +
415
+ "latest source). Do NOT trust a no_errors_found signal until the assembly is " +
416
+ "rebuilt: call unity_open_mcp_recompile_scripts to force a deterministic " +
417
+ "recompile, then re-read compile errors.",
418
+ };
419
+ }
244
420
  //# sourceMappingURL=unity-log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unity-log.js","sourceRoot":"","sources":["../src/unity-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unity-log.js","sourceRoot":"","sources":["../src/unity-log.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unity-open-mcp",
3
- "version": "0.8.3",
3
+ "version": "0.9.0",
4
4
  "description": "MCP server (stdio) routing tool calls to the live Unity Open MCP Bridge or batch Unity processes.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",