gdharness 0.12.12 → 0.12.13

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/build/cli.js CHANGED
@@ -36238,7 +36238,12 @@ function windowsImage(pid) {
36238
36238
  }
36239
36239
  }
36240
36240
  function stillTheRecordedRun(record) {
36241
- const running = runningAs(record.pid);
36241
+ return judgeRun(record, runningAs(record.pid), "confirmed");
36242
+ }
36243
+ function couldStillBeTheRecordedRun(record) {
36244
+ return judgeRun(record, runningAs(record.pid), "possible");
36245
+ }
36246
+ function judgeRun(record, running, needed) {
36242
36247
  if (running === null) {
36243
36248
  return false;
36244
36249
  }
@@ -36248,9 +36253,12 @@ function stillTheRecordedRun(record) {
36248
36253
  if (wanted !== null && !said.includes(wanted)) {
36249
36254
  return false;
36250
36255
  }
36251
- if (running.kind === "image" || record.projectPath === "") {
36256
+ if (record.projectPath === "") {
36252
36257
  return wanted !== null;
36253
36258
  }
36259
+ if (running.kind === "image") {
36260
+ return needed === "possible" && wanted !== null;
36261
+ }
36254
36262
  const project = process.platform === "win32" ? record.projectPath.toLowerCase() : record.projectPath;
36255
36263
  return said.includes(project);
36256
36264
  }
@@ -36324,6 +36332,7 @@ var init_setup = __esm(() => {
36324
36332
 
36325
36333
  // src/server.ts
36326
36334
  import { execFile as execFile5, spawn } from "node:child_process";
36335
+ import { randomUUID as randomUUID2 } from "node:crypto";
36327
36336
  import {
36328
36337
  closeSync,
36329
36338
  existsSync as existsSync13,
@@ -37398,7 +37407,8 @@ class GodotServer {
37398
37407
  if (!classes.ok) {
37399
37408
  return this.answer(classes);
37400
37409
  }
37401
- const reports = "res://.godot/gdharness-reports";
37410
+ const ours = `gdharness-reports/${randomUUID2()}`;
37411
+ const reports = `res://.godot/${ours}`;
37402
37412
  const ignored = readStringArray(args, "ignore") ?? [];
37403
37413
  const asked = readString(contained.value, "path") ?? "res://test";
37404
37414
  const cmdArgs = [
@@ -37435,7 +37445,7 @@ class GodotServer {
37435
37445
  resolve(false);
37436
37446
  });
37437
37447
  });
37438
- const reportsDir = join16(project.value.path, ".godot", "gdharness-reports");
37448
+ const reportsDir = join16(project.value.path, ".godot", ...ours.split("/"));
37439
37449
  let report = null;
37440
37450
  let reportProblem = null;
37441
37451
  try {
@@ -38086,7 +38096,7 @@ class GodotServer {
38086
38096
  brokeOn: null
38087
38097
  };
38088
38098
  this.drainTranscript(adopted);
38089
- if (!alive(record.pid) || !stillTheRecordedRun(record)) {
38099
+ if (!alive(record.pid) || !couldStillBeTheRecordedRun(record)) {
38090
38100
  adopted.log.finish();
38091
38101
  adopted.exitCode = null;
38092
38102
  adopted.endedUnwatched = true;
package/build/index.js CHANGED
@@ -10132,6 +10132,7 @@ function defectReport(where, error, godotVersion) {
10132
10132
 
10133
10133
  // src/server.ts
10134
10134
  import { execFile as execFile3, spawn } from "node:child_process";
10135
+ import { randomUUID as randomUUID2 } from "node:crypto";
10135
10136
  import {
10136
10137
  closeSync,
10137
10138
  existsSync as existsSync8,
@@ -27918,7 +27919,12 @@ function windowsImage(pid) {
27918
27919
  }
27919
27920
  }
27920
27921
  function stillTheRecordedRun(record) {
27921
- const running = runningAs(record.pid);
27922
+ return judgeRun(record, runningAs(record.pid), "confirmed");
27923
+ }
27924
+ function couldStillBeTheRecordedRun(record) {
27925
+ return judgeRun(record, runningAs(record.pid), "possible");
27926
+ }
27927
+ function judgeRun(record, running, needed) {
27922
27928
  if (running === null) {
27923
27929
  return false;
27924
27930
  }
@@ -27928,9 +27934,12 @@ function stillTheRecordedRun(record) {
27928
27934
  if (wanted !== null && !said.includes(wanted)) {
27929
27935
  return false;
27930
27936
  }
27931
- if (running.kind === "image" || record.projectPath === "") {
27937
+ if (record.projectPath === "") {
27932
27938
  return wanted !== null;
27933
27939
  }
27940
+ if (running.kind === "image") {
27941
+ return needed === "possible" && wanted !== null;
27942
+ }
27934
27943
  const project = process.platform === "win32" ? record.projectPath.toLowerCase() : record.projectPath;
27935
27944
  return said.includes(project);
27936
27945
  }
@@ -30180,7 +30189,8 @@ class GodotServer {
30180
30189
  if (!classes.ok) {
30181
30190
  return this.answer(classes);
30182
30191
  }
30183
- const reports = "res://.godot/gdharness-reports";
30192
+ const ours = `gdharness-reports/${randomUUID2()}`;
30193
+ const reports = `res://.godot/${ours}`;
30184
30194
  const ignored = readStringArray(args, "ignore") ?? [];
30185
30195
  const asked = readString(contained.value, "path") ?? "res://test";
30186
30196
  const cmdArgs = [
@@ -30217,7 +30227,7 @@ class GodotServer {
30217
30227
  resolve(false);
30218
30228
  });
30219
30229
  });
30220
- const reportsDir = join10(project.value.path, ".godot", "gdharness-reports");
30230
+ const reportsDir = join10(project.value.path, ".godot", ...ours.split("/"));
30221
30231
  let report = null;
30222
30232
  let reportProblem = null;
30223
30233
  try {
@@ -30868,7 +30878,7 @@ class GodotServer {
30868
30878
  brokeOn: null
30869
30879
  };
30870
30880
  this.drainTranscript(adopted);
30871
- if (!alive(record.pid) || !stillTheRecordedRun(record)) {
30881
+ if (!alive(record.pid) || !couldStillBeTheRecordedRun(record)) {
30872
30882
  adopted.log.finish();
30873
30883
  adopted.exitCode = null;
30874
30884
  adopted.endedUnwatched = true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gdharness",
3
- "version": "0.12.12",
3
+ "version": "0.12.13",
4
4
  "mcpName": "io.github.Aureliolo/gdharness",
5
5
  "description": "A harness for driving a Godot 4 project from an agent: editor addons, a runtime bridge into the running game, an MCP server in front of them, and a CLI that installs and diagnoses the Godot side.",
6
6
  "type": "module",