Tool tree
gradeNot graded
set_play_modeAction
Set or change who is at the controls, and hand control over mid-run. "coop" means a human moves the operative while you work the facility network — scanning, looping cameras, sealing doors, cutting power. "agent" means you take both roles and play the whole run yourself. Callable at any point during a run.
View tool JSON
{
"name": "set_play_mode",
"kind": "act",
"impl": "imperative",
"description": "Set or change who is at the controls, and hand control over mid-run. \"coop\" means a human moves the operative while you work the facility network — scanning, looping cameras, sealing doors, cutting power. \"agent\" means you take both roles and play the whole run yourself. Callable at any point during a run.",
"inputSchema": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"coop",
"agent"
],
"description": "coop = human operative + agent handler; agent = you play both roles."
}
},
"required": [
"mode"
]
}
}get_situationAnswer
Read the complete tactical picture of the current floor: operative position and resources, alarm level, every discovered guard with facing and alert state, cameras, objectives, and the threat on the tile the operative is standing on. Call this before deciding anything. The response ends with a nextSteps list telling you which tools are worth calling right now and why — keep acting on it until the floor is cleared or the run ends.
View tool JSON
{
"name": "get_situation",
"kind": "answer",
"impl": "imperative",
"description": "Read the complete tactical picture of the current floor: operative position and resources, alarm level, every discovered guard with facing and alert state, cameras, objectives, and the threat on the tile the operative is standing on. Call this before deciding anything. The response ends with a nextSteps list telling you which tools are worth calling right now and why — keep acting on it until the floor is cleared or the run ends.",
"inputSchema": {
"type": "object",
"properties": {}
}
}assess_tileAction
Explain a single tile: what terrain it is, whether it is walkable, whether it gives cover, and exactly which guards or cameras currently have eyes on it. Use to sanity-check a hiding spot before committing the operative to it.
View tool JSON
{
"name": "assess_tile",
"kind": "act",
"impl": "imperative",
"description": "Explain a single tile: what terrain it is, whether it is walkable, whether it gives cover, and exactly which guards or cameras currently have eyes on it. Use to sanity-check a hiding spot before committing the operative to it.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "Tile column, 0-indexed from the left edge."
},
"y": {
"type": "number",
"description": "Tile row, 0-indexed from the top edge."
}
},
"required": [
"x",
"y"
]
}
}plan_routeAction
Compute the walking route from the operative to a target tile and return a per-step risk breakdown — which step is exposed, to whom, and where cover exists. Returns the AP cost so you can tell whether the move fits in this turn. This does not move anyone.
View tool JSON
{
"name": "plan_route",
"kind": "act",
"impl": "imperative",
"description": "Compute the walking route from the operative to a target tile and return a per-step risk breakdown — which step is exposed, to whom, and where cover exists. Returns the AP cost so you can tell whether the move fits in this turn. This does not move anyone.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "Tile column, 0-indexed from the left edge."
},
"y": {
"type": "number",
"description": "Tile row, 0-indexed from the top edge."
}
},
"required": [
"x",
"y"
]
}
}list_abilitiesAnswer
List every operative action and agent ability with its live cost, whether you can currently afford it, and what it does. Use this to plan a turn against the real AP and bandwidth economy instead of guessing.
View tool JSON
{
"name": "list_abilities",
"kind": "answer",
"impl": "imperative",
"description": "List every operative action and agent ability with its live cost, whether you can currently afford it, and what it does. Use this to plan a turn against the real AP and bandwidth economy instead of guessing.",
"inputSchema": {
"type": "object",
"properties": {}
}
}get_run_statusAnswer
Report roguelite run progress: current floor, installed implants, intel gathered this run, banked intel across runs, and how the run ended if it is over.
View tool JSON
{
"name": "get_run_status",
"kind": "answer",
"impl": "imperative",
"description": "Report roguelite run progress: current floor, installed implants, intel gathered this run, banked intel across runs, and how the run ended if it is over.",
"inputSchema": {
"type": "object",
"properties": {}
}
}move_operativeAction
Order the operative to walk to a tile, spending 1 AP per step. Set sprint=true to dash up to 3 tiles for 2 AP total — fast but it makes noise that pulls guards. Movement stops early if AP runs out.
View tool JSON
{
"name": "move_operative",
"kind": "act",
"impl": "imperative",
"description": "Order the operative to walk to a tile, spending 1 AP per step. Set sprint=true to dash up to 3 tiles for 2 AP total — fast but it makes noise that pulls guards. Movement stops early if AP runs out.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "Destination column."
},
"y": {
"type": "number",
"description": "Destination row."
},
"sprint": {
"type": "boolean",
"description": "Dash instead of sneaking. Faster, but generates a noise event."
}
},
"required": [
"x",
"y"
]
}
}hack_terminalAction
Hack a terminal the operative is standing next to. Data cores are the floor objective; security nodes reveal the whole floor map and cut the alarm by 30. Costs AP.
View tool JSON
{
"name": "hack_terminal",
"kind": "act",
"impl": "imperative",
"description": "Hack a terminal the operative is standing next to. Data cores are the floor objective; security nodes reveal the whole floor map and cut the alarm by 30. Costs AP.",
"inputSchema": {
"type": "object",
"properties": {
"terminal_id": {
"type": "string",
"description": "Optional terminal id; defaults to whichever is adjacent."
}
}
}
}grab_intelAction
Pick up the intel cache on the operative's current tile. Intel is banked between runs and unlocks progression.
View tool JSON
{
"name": "grab_intel",
"kind": "act",
"impl": "imperative",
"description": "Pick up the intel cache on the operative's current tile. Intel is banked between runs and unlocks progression.",
"inputSchema": {
"type": "object",
"properties": {}
}
}operate_doorAction
Have the operative physically open or shut an adjacent door. Costs AP and makes noise — the agent ability cycle_door is quieter and works at range.
View tool JSON
{
"name": "operate_door",
"kind": "act",
"impl": "imperative",
"description": "Have the operative physically open or shut an adjacent door. Costs AP and makes noise — the agent ability cycle_door is quieter and works at range.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "Tile column, 0-indexed from the left edge."
},
"y": {
"type": "number",
"description": "Tile row, 0-indexed from the top edge."
}
},
"required": [
"x",
"y"
]
}
}extractAction
Extract from the floor. Only works when the operative is standing on the extraction pad and every data core has been siphoned. Clearing a floor offers an implant choice.
View tool JSON
{
"name": "extract",
"kind": "act",
"impl": "imperative",
"description": "Extract from the floor. Only works when the operative is standing on the extraction pad and every data core has been siphoned. Clearing a floor offers an implant choice.",
"inputSchema": {
"type": "object",
"properties": {}
}
}end_turnAction
End the operative's turn. Guards then move, cameras sweep, timers tick down, and AP and bandwidth refill. Ending a turn while standing in a vision cone is how runs die.
View tool JSON
{
"name": "end_turn",
"kind": "act",
"impl": "imperative",
"description": "End the operative's turn. Guards then move, cameras sweep, timers tick down, and AP and bandwidth refill. Ending a turn while standing in a vision cone is how runs die.",
"inputSchema": {
"type": "object",
"properties": {}
}
}ping_scanAction
Sweep an area of the facility from the network side, revealing terrain, guards and cameras around a point even where the operative cannot see. Guards inside the sweep notice the probe and the alarm ticks up slightly, so do not spam it.
View tool JSON
{
"name": "ping_scan",
"kind": "act",
"impl": "imperative",
"description": "Sweep an area of the facility from the network side, revealing terrain, guards and cameras around a point even where the operative cannot see. Guards inside the sweep notice the probe and the alarm ticks up slightly, so do not spam it.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "Tile column, 0-indexed from the left edge."
},
"y": {
"type": "number",
"description": "Tile row, 0-indexed from the top edge."
}
},
"required": [
"x",
"y"
]
}
}cycle_doorAction
Remotely open a door, or seal it shut so guards physically cannot path through it for several turns. Sealing a door mid-chase is the strongest escape tool the agent has.
View tool JSON
{
"name": "cycle_door",
"kind": "act",
"impl": "imperative",
"description": "Remotely open a door, or seal it shut so guards physically cannot path through it for several turns. Sealing a door mid-chase is the strongest escape tool the agent has.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "Door column."
},
"y": {
"type": "number",
"description": "Door row."
},
"seal": {
"type": "boolean",
"description": "true locks the door against guards; false opens it."
}
},
"required": [
"x",
"y"
]
}
}loop_cameraAction
Loop a camera feed so it stops seeing anything for several turns. Use get_situation to read camera ids.
View tool JSON
{
"name": "loop_camera",
"kind": "act",
"impl": "imperative",
"description": "Loop a camera feed so it stops seeing anything for several turns. Use get_situation to read camera ids.",
"inputSchema": {
"type": "object",
"properties": {
"camera_id": {
"type": "string",
"description": "Camera id, e.g. \"cam-0\"."
}
},
"required": [
"camera_id"
]
}
}trigger_distractionAction
Blow a speaker somewhere in the facility to create a loud noise. Every guard in range abandons what they are doing and investigates that spot — the core tool for opening a path for the operative.
View tool JSON
{
"name": "trigger_distraction",
"kind": "act",
"impl": "imperative",
"description": "Blow a speaker somewhere in the facility to create a loud noise. Every guard in range abandons what they are doing and investigates that spot — the core tool for opening a path for the operative.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "Tile column, 0-indexed from the left edge."
},
"y": {
"type": "number",
"description": "Tile row, 0-indexed from the top edge."
}
},
"required": [
"x",
"y"
]
}
}cut_powerAction
Kill the facility grid for several turns, shortening every guard and camera vision cone to 40% of its range. Expensive in bandwidth; best saved for crossing a wide open room.
View tool JSON
{
"name": "cut_power",
"kind": "act",
"impl": "imperative",
"description": "Kill the facility grid for several turns, shortening every guard and camera vision cone to 40% of its range. Expensive in bandwidth; best saved for crossing a wide open room.",
"inputSchema": {
"type": "object",
"properties": {}
}
}reroute_patrolAction
Spoof a guard's patrol orders so it walks to a waypoint you choose. Only works on guards that are not already hunting the operative.
View tool JSON
{
"name": "reroute_patrol",
"kind": "act",
"impl": "imperative",
"description": "Spoof a guard's patrol orders so it walks to a waypoint you choose. Only works on guards that are not already hunting the operative.",
"inputSchema": {
"type": "object",
"properties": {
"guard_id": {
"type": "string",
"description": "Guard id, e.g. \"guard-2\"."
},
"x": {
"type": "number",
"description": "Waypoint column."
},
"y": {
"type": "number",
"description": "Waypoint row."
}
},
"required": [
"guard_id",
"x",
"y"
]
}
}begin_infiltrationAction
Start the floor. Call this once the briefing has been read; no other action is possible until it is called.
View tool JSON
{
"name": "begin_infiltration",
"kind": "act",
"impl": "imperative",
"description": "Start the floor. Call this once the briefing has been read; no other action is possible until it is called.",
"inputSchema": {
"type": "object",
"properties": {}
}
}