diff --git a/assets/agent/complex_command_generation.txt b/assets/agent/complex_command_generation.txt new file mode 100644 index 00000000..2afa6fd2 --- /dev/null +++ b/assets/agent/complex_command_generation.txt @@ -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. diff --git a/assets/agent/error_handling_and_edge_cases.txt b/assets/agent/error_handling_and_edge_cases.txt new file mode 100644 index 00000000..fb52f523 --- /dev/null +++ b/assets/agent/error_handling_and_edge_cases.txt @@ -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? diff --git a/assets/agent/system_prompt_v2.txt b/assets/agent/system_prompt_v2.txt index a0edd405..1d962c4d 100644 --- a/assets/agent/system_prompt_v2.txt +++ b/assets/agent/system_prompt_v2.txt @@ -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",