gdharness 1.1.18 → 1.1.19

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
@@ -17537,7 +17537,7 @@ var init_tool_definitions = __esm(() => {
17537
17537
  value: {
17538
17538
  ops: ["set"],
17539
17539
  blank: true,
17540
- description: `set: the value, fitted to the property's type. "" writes an empty string. A property typed as or holding an object takes a path naming one the game holds, the way call's args do, and holds that instance. A typed list or map, such as Array[int] or Dictionary[String, int], takes a JSON list or object with each element fitted to its element type, and an element that cannot become one is refused by its index or key.`
17540
+ description: `set: the value, fitted to the property's type. "" writes an empty string. A property typed as or holding an object takes a path naming one the game holds, the way call's args do, and holds that instance, or null, which the text null also means, to empty it. A typed list or map, such as Array[int] or Dictionary[String, int], takes a JSON list or object with each element fitted to its element type, and an element that cannot become one is refused by its index or key.`
17541
17541
  },
17542
17542
  method: {
17543
17543
  type: "string",
@@ -843,7 +843,12 @@ static func _sort_of(container: Variant) -> String:
843
843
  ## call or the write was made on, and handed over as that instance rather than a copy: a method
844
844
  ## given a piece of the game's state acts on the piece the game keeps, and a slot written with one
845
845
  ## holds the game's own.
846
+ ##
847
+ ## The text null names no object, which is what an object slot or parameter takes to be emptied. A
848
+ ## caller's null arrived as that text in #772 and #783, and was looked up as a node called "null".
846
849
  func _object_named(node: Node, node_path: String, given: Variant, declared: String) -> Dictionary:
850
+ if given is String and str(given).strip_edges() == "null":
851
+ return {"object": null}
847
852
  var found: Dictionary = Paths.object_at(_host.get_tree().root, node, node_path, given)
848
853
  if found.has("message"):
849
854
  return found
package/build/index.js CHANGED
@@ -31194,7 +31194,7 @@ var TOOL_SPECS = [
31194
31194
  value: {
31195
31195
  ops: ["set"],
31196
31196
  blank: true,
31197
- description: `set: the value, fitted to the property's type. "" writes an empty string. A property typed as or holding an object takes a path naming one the game holds, the way call's args do, and holds that instance. A typed list or map, such as Array[int] or Dictionary[String, int], takes a JSON list or object with each element fitted to its element type, and an element that cannot become one is refused by its index or key.`
31197
+ description: `set: the value, fitted to the property's type. "" writes an empty string. A property typed as or holding an object takes a path naming one the game holds, the way call's args do, and holds that instance, or null, which the text null also means, to empty it. A typed list or map, such as Array[int] or Dictionary[String, int], takes a JSON list or object with each element fitted to its element type, and an element that cannot become one is refused by its index or key.`
31198
31198
  },
31199
31199
  method: {
31200
31200
  type: "string",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gdharness",
3
- "version": "1.1.18",
3
+ "version": "1.1.19",
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",