{
  "schema_version": 2,
  "action_codes": [
    "aim_failed",
    "arrival_unconfirmed",
    "authority_lost",
    "break_unconfirmed",
    "busy",
    "cancelled",
    "component_too_large",
    "denied",
    "gui_precondition_failed",
    "internal_error",
    "invalid_argument",
    "item_not_found",
    "navigation_failed",
    "ok",
    "player_dead",
    "player_low_health",
    "screen_changed",
    "screen_closed",
    "search_node_limit",
    "target_lost",
    "terrain_incomplete",
    "timeout",
    "unreachable",
    "world_changed"
  ],
  "members": [
    {
      "path": "hexis.area.enter",
      "kind": "action",
      "availability": "implemented",
      "capabilities": [
        "area.travel"
      ],
      "conditional_capabilities": [],
      "potential_resources": [
        "attack_use",
        "camera",
        "hotbar",
        "inventory_screen",
        "movement"
      ],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "destination",
            "type": "string",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.await",
      "kind": "host",
      "availability": "implemented",
      "capabilities": [],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "handle",
            "type": "action_handle",
            "required": true
          },
          {
            "name": "timeout",
            "type": "number",
            "required": false
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.cancel",
      "kind": "host",
      "availability": "implemented",
      "capabilities": [],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "handle",
            "type": "action_handle",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.combat.engage",
      "kind": "action",
      "availability": "implemented",
      "capabilities": [
        "combat"
      ],
      "conditional_capabilities": [],
      "potential_resources": [
        "attack_use",
        "camera",
        "hotbar",
        "movement"
      ],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "behavior",
            "type": "table",
            "required": true
          },
          {
            "name": "held",
            "type": "table",
            "required": false
          },
          {
            "name": "stop_below_health_percent",
            "type": "number",
            "required": false
          },
          {
            "name": "target",
            "type": "table",
            "required": true
          },
          {
            "name": "timeout_seconds",
            "type": "number",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.combat.fire",
      "kind": "action",
      "availability": "implemented",
      "capabilities": [
        "combat"
      ],
      "conditional_capabilities": [],
      "potential_resources": [
        "attack_use",
        "camera",
        "hotbar",
        "movement"
      ],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "held",
            "type": "table",
            "required": true
          },
          {
            "name": "projectile",
            "type": "string",
            "required": true
          },
          {
            "name": "target",
            "type": "table",
            "required": true
          },
          {
            "name": "timing",
            "type": "table",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.config.snapshot",
      "kind": "host",
      "availability": "implemented",
      "capabilities": [],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": []
      },
      "result": {
        "additional_properties": false,
        "fields": []
      }
    },
    {
      "path": "hexis.content.pack",
      "kind": "host",
      "availability": "implemented",
      "capabilities": [],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "name",
            "type": "string",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": []
      }
    },
    {
      "path": "hexis.events.next",
      "kind": "host",
      "availability": "implemented",
      "capabilities": [],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "subscription",
            "type": "subscription_handle",
            "required": true
          },
          {
            "name": "timeout",
            "type": "number",
            "required": false
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": false
          },
          {
            "name": "event",
            "type": "table",
            "required": false
          },
          {
            "name": "kind",
            "type": "string",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": false
          }
        ]
      }
    },
    {
      "path": "hexis.events.subscribe",
      "kind": "host",
      "availability": "implemented",
      "capabilities": [],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "filter",
            "type": "table",
            "required": true
          },
          {
            "name": "type",
            "type": "string",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "subscription",
            "type": "subscription_handle",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.events.unsubscribe",
      "kind": "host",
      "availability": "implemented",
      "capabilities": [],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "subscription",
            "type": "subscription_handle",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "closed",
            "type": "boolean",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.foraging.catch_tadpole",
      "kind": "action",
      "availability": "implemented",
      "capabilities": [
        "interaction",
        "inventory"
      ],
      "conditional_capabilities": [],
      "potential_resources": [
        "attack_use",
        "camera",
        "hotbar"
      ],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "held",
            "type": "table",
            "required": true
          },
          {
            "name": "target",
            "type": "table",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.gui.snapshot",
      "kind": "observation",
      "availability": "implemented",
      "capabilities": [
        "gui.read"
      ],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": []
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "observed_tick",
            "type": "number",
            "required": true
          },
          {
            "name": "screen",
            "type": "table",
            "required": false
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.gui.transact",
      "kind": "action",
      "availability": "implemented",
      "capabilities": [
        "gui.interact"
      ],
      "conditional_capabilities": [],
      "potential_resources": [
        "attack_use",
        "camera",
        "hotbar",
        "inventory_screen",
        "movement"
      ],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "operation",
            "type": "table",
            "required": true
          },
          {
            "name": "screen",
            "type": "table",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.interact.use",
      "kind": "action",
      "availability": "implemented",
      "capabilities": [
        "interaction"
      ],
      "conditional_capabilities": [],
      "potential_resources": [
        "attack_use",
        "camera",
        "hotbar"
      ],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "held",
            "type": "table",
            "required": false
          },
          {
            "name": "target",
            "type": "table",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.inventory.ensure_held",
      "kind": "action",
      "availability": "implemented",
      "capabilities": [
        "inventory"
      ],
      "conditional_capabilities": [],
      "potential_resources": [
        "hotbar"
      ],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "selector",
            "type": "table",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.mining.mine_area",
      "kind": "action",
      "availability": "implemented",
      "capabilities": [
        "mining",
        "navigation",
        "pathfinding"
      ],
      "conditional_capabilities": [
        {
          "capability": "etherwarp",
          "when_true": "navigation.allow_ether_transmission"
        }
      ],
      "potential_resources": [
        "attack_use",
        "camera",
        "hotbar",
        "movement"
      ],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "area",
            "type": "table",
            "required": true
          },
          {
            "name": "blocks",
            "type": "table",
            "required": true
          },
          {
            "name": "handoff",
            "type": "string",
            "required": false
          },
          {
            "name": "held",
            "type": "table",
            "required": true
          },
          {
            "name": "navigation",
            "type": "table",
            "required": false
          },
          {
            "name": "world_generation",
            "type": "number",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.mining.mine_block",
      "kind": "action",
      "availability": "implemented",
      "capabilities": [
        "mining",
        "navigation",
        "pathfinding"
      ],
      "conditional_capabilities": [
        {
          "capability": "etherwarp",
          "when_true": "navigation.allow_ether_transmission"
        }
      ],
      "potential_resources": [
        "attack_use",
        "camera",
        "hotbar",
        "movement"
      ],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "blocks",
            "type": "table",
            "required": true
          },
          {
            "name": "handoff",
            "type": "string",
            "required": false
          },
          {
            "name": "held",
            "type": "table",
            "required": true
          },
          {
            "name": "navigation",
            "type": "table",
            "required": false
          },
          {
            "name": "target",
            "type": "table",
            "required": true
          },
          {
            "name": "world_generation",
            "type": "number",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.mining.mine_connected",
      "kind": "action",
      "availability": "implemented",
      "capabilities": [
        "mining",
        "navigation",
        "pathfinding"
      ],
      "conditional_capabilities": [
        {
          "capability": "etherwarp",
          "when_true": "navigation.allow_ether_transmission"
        }
      ],
      "potential_resources": [
        "attack_use",
        "camera",
        "hotbar",
        "movement"
      ],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "blocks",
            "type": "table",
            "required": true
          },
          {
            "name": "handoff",
            "type": "string",
            "required": false
          },
          {
            "name": "held",
            "type": "table",
            "required": true
          },
          {
            "name": "navigation",
            "type": "table",
            "required": false
          },
          {
            "name": "seeds",
            "type": "table",
            "required": true
          },
          {
            "name": "world_generation",
            "type": "number",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.navigate.to",
      "kind": "action",
      "availability": "implemented",
      "capabilities": [
        "navigation",
        "pathfinding"
      ],
      "conditional_capabilities": [
        {
          "capability": "etherwarp",
          "when_true": "allow_ether_transmission"
        }
      ],
      "potential_resources": [
        "attack_use",
        "camera",
        "hotbar",
        "movement"
      ],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "allow_ether_transmission",
            "type": "boolean",
            "required": false
          },
          {
            "name": "arrive_within",
            "type": "number",
            "required": false
          },
          {
            "name": "destination",
            "type": "table",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": true
          },
          {
            "name": "data",
            "type": "table",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": true
          },
          {
            "name": "ok",
            "type": "boolean",
            "required": true
          },
          {
            "name": "retryable",
            "type": "boolean",
            "required": true
          },
          {
            "name": "status",
            "type": "string",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.routes.seeds",
      "kind": "observation",
      "availability": "implemented",
      "capabilities": [
        "routes.read"
      ],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "entry_block_types",
            "type": "table",
            "required": false
          },
          {
            "name": "kind",
            "type": "string",
            "required": true
          },
          {
            "name": "route",
            "type": "string",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "seeds",
            "type": "table",
            "required": true
          },
          {
            "name": "world_generation",
            "type": "number",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.select",
      "kind": "host",
      "availability": "implemented",
      "capabilities": [],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "candidates",
            "type": "selectable_list",
            "required": true
          },
          {
            "name": "timeout",
            "type": "number",
            "required": false
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "code",
            "type": "string",
            "required": false
          },
          {
            "name": "event",
            "type": "table",
            "required": false
          },
          {
            "name": "index",
            "type": "number",
            "required": false
          },
          {
            "name": "kind",
            "type": "string",
            "required": true
          },
          {
            "name": "message",
            "type": "string",
            "required": false
          },
          {
            "name": "result",
            "type": "table",
            "required": false
          }
        ]
      }
    },
    {
      "path": "hexis.sleep",
      "kind": "host",
      "availability": "implemented",
      "capabilities": [],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "seconds",
            "type": "number",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": []
      }
    },
    {
      "path": "hexis.time.monotonic",
      "kind": "host",
      "availability": "implemented",
      "capabilities": [],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": []
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "seconds",
            "type": "number",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.world.blocks.find",
      "kind": "observation",
      "availability": "implemented",
      "capabilities": [
        "world.blocks.read"
      ],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "center",
            "type": "table",
            "required": false
          },
          {
            "name": "limit",
            "type": "number",
            "required": true
          },
          {
            "name": "radius",
            "type": "number",
            "required": true
          },
          {
            "name": "selector",
            "type": "table",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "complete",
            "type": "boolean",
            "required": true
          },
          {
            "name": "matches",
            "type": "table",
            "required": true
          },
          {
            "name": "observed_tick",
            "type": "number",
            "required": true
          },
          {
            "name": "truncated",
            "type": "boolean",
            "required": true
          },
          {
            "name": "world_generation",
            "type": "number",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.world.blocks.observe",
      "kind": "observation",
      "availability": "implemented",
      "capabilities": [
        "world.blocks.read"
      ],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "positions",
            "type": "table",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "complete",
            "type": "boolean",
            "required": true
          },
          {
            "name": "observations",
            "type": "table",
            "required": true
          },
          {
            "name": "observed_tick",
            "type": "number",
            "required": true
          },
          {
            "name": "world_generation",
            "type": "number",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.world.crosshair.observe",
      "kind": "observation",
      "availability": "implemented",
      "capabilities": [
        "world.crosshair.read"
      ],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": []
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "block",
            "type": "table",
            "required": false
          },
          {
            "name": "distance",
            "type": "number",
            "required": false
          },
          {
            "name": "entity",
            "type": "table",
            "required": false
          },
          {
            "name": "hit_position",
            "type": "table",
            "required": false
          },
          {
            "name": "kind",
            "type": "string",
            "required": true
          },
          {
            "name": "observed_tick",
            "type": "number",
            "required": true
          },
          {
            "name": "world_generation",
            "type": "number",
            "required": true
          }
        ]
      }
    },
    {
      "path": "hexis.world.entities.find",
      "kind": "observation",
      "availability": "implemented",
      "capabilities": [
        "world.entities.read"
      ],
      "conditional_capabilities": [],
      "potential_resources": [],
      "request": {
        "additional_properties": false,
        "fields": [
          {
            "name": "area",
            "type": "table",
            "required": true
          },
          {
            "name": "limit",
            "type": "number",
            "required": true
          },
          {
            "name": "selector",
            "type": "table",
            "required": true
          }
        ]
      },
      "result": {
        "additional_properties": false,
        "fields": [
          {
            "name": "entities",
            "type": "table",
            "required": true
          },
          {
            "name": "matched_count",
            "type": "number",
            "required": true
          },
          {
            "name": "observed_tick",
            "type": "number",
            "required": true
          },
          {
            "name": "truncated",
            "type": "boolean",
            "required": true
          },
          {
            "name": "world_generation",
            "type": "number",
            "required": true
          }
        ]
      }
    }
  ]
}
