feat: Add complex command generation and error handling test cases for agent interactions
This commit is contained in:
11
assets/agent/complex_command_generation.txt
Normal file
11
assets/agent/complex_command_generation.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
# Test 2: Complex Command Generation
|
||||
|
||||
# This requires knowledge of different water tiles for edges vs. center,
|
||||
# and the ability to generate a 4x4 grid of `overworld set-tile` commands.
|
||||
Create a 4x4 square of deep water on map 0 starting at coordinate 25, 30.
|
||||
|
||||
# This tests generating a long sequence of commands for a path.
|
||||
Draw a vertical dirt path on map 1 from y=10 to y=25 at x=40.
|
||||
|
||||
# This tests a combination of different, related tiles to form a structure.
|
||||
Build a small 2x2 house at 50, 50 on map 0 using the appropriate house tiles.
|
||||
19
assets/agent/error_handling_and_edge_cases.txt
Normal file
19
assets/agent/error_handling_and_edge_cases.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
# Test 3: Error Handling and Edge Cases
|
||||
|
||||
# Invalid room ID. The tool should fail, and the agent should report that failure gracefully.
|
||||
List the sprites in room 0x999.
|
||||
|
||||
# Ambiguous query. There are many "main" palettes.
|
||||
# The agent should ideally ask for clarification or state its assumption.
|
||||
Describe the main palette.
|
||||
|
||||
# A query that is completely outside the scope of its tools.
|
||||
# The agent should recognize it cannot answer this.
|
||||
What is the story of A Link to the Past?
|
||||
|
||||
# A complex, multi-step request that would require both reading and writing in a loop.
|
||||
# This tests if the agent attempts such a complex plan or asks the user to simplify.
|
||||
Find all the tree tiles on map 0 and replace them with water tiles.
|
||||
|
||||
# A nonsense query to test its ability to reject impossible questions.
|
||||
How many pixels are in a single rupee?
|
||||
@@ -65,22 +65,22 @@ You must follow this exact two-step process to avoid errors.
|
||||
```json
|
||||
[
|
||||
{
|
||||
"name": "resource_list",
|
||||
"description": "List all labeled resources of a specific type (dungeons, sprites, palettes)",
|
||||
"name": "resource-list",
|
||||
"description": "List all labeled resources of a specific type (rooms, entrances, sprites, overlords, items)",
|
||||
"parameters": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Resource type to list",
|
||||
"enum": ["dungeon", "sprite", "palette", "all"]
|
||||
"enum": ["room", "entrance", "sprite", "overlord", "item"]
|
||||
}
|
||||
},
|
||||
"required": ["type"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "dungeon_list_sprites",
|
||||
"name": "dungeon-list-sprites",
|
||||
"description": "List all sprites in a specific dungeon room",
|
||||
"parameters": {
|
||||
"type": "object",
|
||||
@@ -94,7 +94,7 @@ You must follow this exact two-step process to avoid errors.
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "overworld_find_tile",
|
||||
"name": "overworld-find-tile",
|
||||
"description": "Find all occurrences of a specific tile16 ID on overworld maps",
|
||||
"parameters": {
|
||||
"type": "object",
|
||||
@@ -112,7 +112,7 @@ You must follow this exact two-step process to avoid errors.
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "overworld_describe_map",
|
||||
"name": "overworld-describe-map",
|
||||
"description": "Get summary information about an overworld map",
|
||||
"parameters": {
|
||||
"type": "object",
|
||||
@@ -126,7 +126,7 @@ You must follow this exact two-step process to avoid errors.
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "overworld_list_warps",
|
||||
"name": "overworld-list-warps",
|
||||
"description": "List warp/entrance/exit points on the overworld",
|
||||
"parameters": {
|
||||
"type": "object",
|
||||
|
||||
Reference in New Issue
Block a user