gdharness 1.3.59 → 1.3.61

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 (77) hide show
  1. package/README.md +20 -20
  2. package/build/cli.js +2264 -1706
  3. package/build/godot/addons/auto_reload/auto_reload.gd +3 -3
  4. package/build/godot/addons/gdharness_editor/bridge_client.gd +4 -4
  5. package/build/godot/addons/gdharness_editor/declared_values.gd +13 -13
  6. package/build/godot/addons/gdharness_editor/file_reads.gd +6 -6
  7. package/build/godot/addons/gdharness_editor/headless_check.gd +9 -6
  8. package/build/godot/addons/gdharness_editor/property_paths.gd +3 -3
  9. package/build/godot/addons/gdharness_editor/property_values.gd +18 -11
  10. package/build/godot/addons/gdharness_editor/reading.gd +22 -18
  11. package/build/godot/addons/gdharness_editor/scene_file.gd +5 -5
  12. package/build/godot/addons/gdharness_editor/serialisation.gd +4 -4
  13. package/build/godot/addons/gdharness_editor/tools/animation_states.gd +5 -5
  14. package/build/godot/addons/gdharness_editor/tools/animation_tools.gd +6 -6
  15. package/build/godot/addons/gdharness_editor/tools/animation_tracks.gd +9 -9
  16. package/build/godot/addons/gdharness_editor/tools/class_tools.gd +3 -3
  17. package/build/godot/addons/gdharness_editor/tools/filesystem_tools.gd +5 -5
  18. package/build/godot/addons/gdharness_editor/tools/navigation_bake.gd +5 -5
  19. package/build/godot/addons/gdharness_editor/tools/play_tools.gd +2 -2
  20. package/build/godot/addons/gdharness_editor/tools/profile_tools.gd +1 -1
  21. package/build/godot/addons/gdharness_editor/tools/resource_tools.gd +5 -5
  22. package/build/godot/addons/gdharness_editor/tools/scene_groups.gd +3 -3
  23. package/build/godot/addons/gdharness_editor/tools/scene_kin.gd +3 -3
  24. package/build/godot/addons/gdharness_editor/tools/scene_paths.gd +4 -4
  25. package/build/godot/addons/gdharness_editor/tools/scene_placing.gd +3 -3
  26. package/build/godot/addons/gdharness_editor/tools/scene_tools.gd +10 -10
  27. package/build/godot/addons/gdharness_editor/tools/signal_tools.gd +1 -1
  28. package/build/godot/addons/gdharness_editor/tools/tileset_tools.gd +5 -5
  29. package/build/godot/addons/gdharness_runtime/declared_values.gd +13 -13
  30. package/build/godot/addons/gdharness_runtime/reading.gd +22 -18
  31. package/build/godot/addons/gdharness_runtime/runtime_accessibility.gd +2 -2
  32. package/build/godot/addons/gdharness_runtime/runtime_autoload.gd +89 -18
  33. package/build/godot/addons/gdharness_runtime/runtime_capture.gd +6 -6
  34. package/build/godot/addons/gdharness_runtime/runtime_changes.gd +10 -10
  35. package/build/godot/addons/gdharness_runtime/runtime_frames.gd +5 -4
  36. package/build/godot/addons/gdharness_runtime/runtime_hover.gd +3 -4
  37. package/build/godot/addons/gdharness_runtime/runtime_input.gd +8 -8
  38. package/build/godot/addons/gdharness_runtime/runtime_items.gd +1 -1
  39. package/build/godot/addons/gdharness_runtime/runtime_menus.gd +3 -3
  40. package/build/godot/addons/gdharness_runtime/runtime_mouse.gd +5 -5
  41. package/build/godot/addons/gdharness_runtime/runtime_paths.gd +20 -20
  42. package/build/godot/addons/gdharness_runtime/runtime_queries.gd +13 -13
  43. package/build/godot/addons/gdharness_runtime/runtime_says.gd +5 -5
  44. package/build/godot/addons/gdharness_runtime/runtime_targets.gd +39 -39
  45. package/build/godot/addons/gdharness_runtime/runtime_typing.gd +3 -3
  46. package/build/godot/addons/gdharness_runtime/runtime_values.gd +7 -7
  47. package/build/godot/addons/gdharness_runtime/runtime_waits.gd +8 -8
  48. package/build/godot/addons/gdharness_runtime/runtime_words.gd +5 -5
  49. package/build/godot/addons/gdharness_runtime/serialisation.gd +4 -4
  50. package/build/godot/addons/gdharness_tests/bench.gd +1 -1
  51. package/build/godot/addons/gdharness_tests/share.gd +6 -6
  52. package/build/godot/addons/gdharness_tests/suites.gd +1 -1
  53. package/build/godot/operations/audio_buses.gd +4 -4
  54. package/build/godot/operations/class_cache.gd +3 -3
  55. package/build/godot/operations/classdb_queries.gd +1 -1
  56. package/build/godot/operations/declared_values.gd +13 -13
  57. package/build/godot/operations/dependencies.gd +6 -6
  58. package/build/godot/operations/export_presets.gd +7 -7
  59. package/build/godot/operations/file_reads.gd +6 -6
  60. package/build/godot/operations/gdscript_analysis.gd +6 -6
  61. package/build/godot/operations/gdscript_authoring.gd +11 -11
  62. package/build/godot/operations/godot_operations.gd +1 -1
  63. package/build/godot/operations/import_pipeline.gd +12 -12
  64. package/build/godot/operations/input_actions.gd +3 -3
  65. package/build/godot/operations/logger.gd +1 -1
  66. package/build/godot/operations/plugins.gd +2 -2
  67. package/build/godot/operations/project_config.gd +11 -11
  68. package/build/godot/operations/project_validation.gd +1 -1
  69. package/build/godot/operations/property_paths.gd +3 -3
  70. package/build/godot/operations/property_values.gd +18 -11
  71. package/build/godot/operations/reading.gd +22 -18
  72. package/build/godot/operations/resource_files.gd +1 -1
  73. package/build/godot/operations/script_check.gd +2 -2
  74. package/build/godot/operations/serialisation.gd +4 -4
  75. package/build/godot/tests/listed.gd +28 -10
  76. package/build/keeper.js +511 -161
  77. package/package.json +1 -1
package/README.md CHANGED
@@ -16,11 +16,12 @@
16
16
  [![Bun](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FAureliolo%2Fgdharness%2Fmain%2Fpackage.json&query=%24.engines.bun&label=bun&color=f9f1e1&logo=bun&logoColor=black)](https://bun.sh/)
17
17
  [![Licence](https://img.shields.io/github/license/Aureliolo/gdharness)](LICENSE)
18
18
 
19
- **An agent cannot see a running game.** It reads your scripts and guesses at the rest: whether the
19
+ An agent cannot see a running game. It reads your scripts and guesses at the rest: whether the
20
20
  button is on screen, whether the panel updated, whether that error mattered.
21
21
 
22
- gdharness makes the engine answerable instead. What the screen says, where a control is, what a
23
- property reads right now, what the console printed, what broke and on which line.
22
+ gdharness is an MCP server and four Godot addons. Through them the agent asks the open editor and
23
+ the running game what the screen says and where a control is. It can also ask what a property holds
24
+ now, what the console printed, and what broke on which line.
24
25
 
25
26
  ## Install
26
27
 
@@ -37,19 +38,18 @@ Or do it yourself, and pick your harness:
37
38
  ## The loop it exists for
38
39
 
39
40
  ```jsonc
40
- editor_run { "op": "start", "projectPath": "C:/games/hall" }
41
+ editor_run { "op": "start", "projectPath": "C:/games/shop" }
41
42
  runtime_inspect { "op": "find", "says": "Buy" } // the button, by the word on it
42
- runtime_input { "op": "click", "nodePath": "/root/Hall/Ledger/BuyButton" }
43
- runtime_inspect { "op": "text", "nodePath": "/root/Hall/Ledger" } // what the panel says now
44
- editor_output { "projectPath": "C:/games/hall" } // errors and warnings, with backtraces
43
+ runtime_input { "op": "click", "nodePath": "/root/Shop/Ledger/BuyButton" }
44
+ runtime_inspect { "op": "text", "nodePath": "/root/Shop/Ledger" } // what the panel says now
45
+ editor_output { "projectPath": "C:/games/shop" } // errors and warnings, with backtraces
45
46
  ```
46
47
 
47
- The open editor plays the game, so its debugger holds it, which is what lets you set a breakpoint
48
- and read the variables in scope when it stops.
48
+ The open editor plays the game, so you can set a breakpoint and read the variables in scope when it
49
+ stops.
49
50
 
50
- Every answer is read back out of the engine after the fact, never echoed from the request. A tool
51
- that cannot answer says which state it is in and what would change it, rather than answering
52
- emptily, so a call that succeeded is a call that was understood.
51
+ Every answer is read back from the engine, never echoed from the request. A tool that cannot answer
52
+ says which state it is in and what would change it.
53
53
 
54
54
  ## At a glance
55
55
 
@@ -59,26 +59,26 @@ emptily, so a call that succeeded is a call that was understood.
59
59
  | Surface | 30 tools named `domain_verb`, 4 `godot://` resources and 3 prompts |
60
60
  | Reaches | The editor that is open, a game it is playing, and the project on disk |
61
61
  | Harnesses | 35, written inside the project wherever the harness has a project config |
62
- | Skill | Written to `.agents/skills`, which every major harness reads |
62
+ | Skill | Written to `.agents/skills`, with a copy for Claude Code, Kiro and Cline |
63
63
  | Install | npm, or a Sigstore-signed archive with an SBOM, SLSA Build Level 3 |
64
64
  | Proven | Every tool driven against Godot 4.7.2 in CI, on Windows, Linux and macOS |
65
- | Status | 1.0: every release is a patch. [What a bump means](.github/CONTRIBUTING.md#versions) |
65
+ | Status | 1.x: every release is a patch. [What a bump means](.github/CONTRIBUTING.md#versions) |
66
66
 
67
- Older 4.x is likely to work and is not tested.
67
+ Godot before 4.7 is not tested.
68
68
 
69
69
  ## Documentation
70
70
 
71
71
  [aureliolo.github.io/gdharness](https://aureliolo.github.io/gdharness): installing it, how the
72
72
  parts connect, and every tool, op and argument.
73
73
 
74
- [SECURITY.md](.github/SECURITY.md) is how to report something.
74
+ [SECURITY.md](.github/SECURITY.md) is how to report a security fault.
75
75
  [CONTRIBUTING.md](.github/CONTRIBUTING.md) is what a change has to clear.
76
76
 
77
77
  ## Project
78
78
 
79
- Fork of [GoPeak](https://github.com/HaD0Yun/Doyunha-Gopeak) v2.3.9, September 2026, MIT: the
80
- original MCP server [godot-mcp](https://github.com/Coding-Solo/godot-mcp) by
81
- [Solomon Elias](https://github.com/Coding-Solo), GoPeak by [HaD0Yun](https://github.com/HaD0Yun),
82
- and completely reworked since to be hardened, condensed and more streamlined.
79
+ Fork of [GoPeak](https://github.com/HaD0Yun/Doyunha-Gopeak) v2.3.9, September 2026, MIT. The
80
+ original MCP server is [godot-mcp](https://github.com/Coding-Solo/godot-mcp) by
81
+ [Solomon Elias](https://github.com/Coding-Solo), and GoPeak is by
82
+ [HaD0Yun](https://github.com/HaD0Yun).
83
83
 
84
84
  Not affiliated with the Godot Foundation.