Tool tree
gradeNot graded
get_bomb_statusAnswer
Report defusal progress: countdown, strikes, and which modules are still unsolved. This tool deliberately does NOT describe what any module looks like. Wire colours, keypad symbols, button markings and casing details are withheld from the tool surface by design. Ask the human in front of the bomb to describe them to you.
View tool JSON
{
"name": "get_bomb_status",
"kind": "answer",
"impl": "imperative",
"description": "Report defusal progress: countdown, strikes, and which modules are still unsolved. This tool deliberately does NOT describe what any module looks like. Wire colours, keypad symbols, button markings and casing details are withheld from the tool surface by design. Ask the human in front of the bomb to describe them to you.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}get_manualAnswer
Read the defusal manual. Sections: overview, casing, wires, keypad, button. Omit the section argument to read all of it. The manual explains every rule but contains no information about the specific bomb in front of your partner.
View tool JSON
{
"name": "get_manual",
"kind": "answer",
"impl": "imperative",
"description": "Read the defusal manual. Sections: overview, casing, wires, keypad, button. Omit the section argument to read all of it. The manual explains every rule but contains no information about the specific bomb in front of your partner.",
"inputSchema": {
"type": "object",
"properties": {
"section": {
"type": "string",
"enum": [
"overview",
"casing",
"wires",
"keypad",
"button",
"all"
],
"description": "Which section to read. Defaults to all."
}
},
"additionalProperties": false
}
}cut_wireAction
Cut one wire on a wires module. Positions are numbered from 1 at the top. You cannot see the wires, so confirm the colours with your partner and look the answer up in the wires section of the manual before calling this. A wrong cut is a strike.
View tool JSON
{
"name": "cut_wire",
"kind": "act",
"impl": "imperative",
"description": "Cut one wire on a wires module. Positions are numbered from 1 at the top. You cannot see the wires, so confirm the colours with your partner and look the answer up in the wires section of the manual before calling this. A wrong cut is a strike.",
"inputSchema": {
"type": "object",
"properties": {
"module_id": {
"type": "string",
"description": "Module letter, for example A."
},
"position": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"description": "Wire position, 1 is topmost."
}
},
"required": [
"module_id",
"position"
],
"additionalProperties": false
}
}press_keypadAction
Press all four keypad buttons in one order. Positions are 1 and 2 on the top row, 3 and 4 on the bottom row. Pass the full press order as an array of four positions. You cannot see the symbols, so have your partner describe them and match the column in the keypad section of the manual. A wrong order is a strike.
View tool JSON
{
"name": "press_keypad",
"kind": "act",
"impl": "imperative",
"description": "Press all four keypad buttons in one order. Positions are 1 and 2 on the top row, 3 and 4 on the bottom row. Pass the full press order as an array of four positions. You cannot see the symbols, so have your partner describe them and match the column in the keypad section of the manual. A wrong order is a strike.",
"inputSchema": {
"type": "object",
"properties": {
"module_id": {
"type": "string",
"description": "Module letter, for example B."
},
"order": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 4
},
"minItems": 4,
"maxItems": 4,
"description": "The four positions in the order they should be pressed."
}
},
"required": [
"module_id",
"order"
],
"additionalProperties": false
}
}tap_buttonAction
Press the big button and release it immediately. Use this when the button section of the manual resolves to TAP. A wrong choice is a strike.
View tool JSON
{
"name": "tap_button",
"kind": "act",
"impl": "imperative",
"description": "Press the big button and release it immediately. Use this when the button section of the manual resolves to TAP. A wrong choice is a strike.",
"inputSchema": {
"type": "object",
"properties": {
"module_id": {
"type": "string",
"description": "Module letter, for example C."
}
},
"required": [
"module_id"
],
"additionalProperties": false
}
}hold_buttonAction
Press the big button and keep holding it. A coloured strip lights up beside the button while held. You cannot see that strip: ask your partner for its colour, then call release_button with the digit the manual gives for that colour.
View tool JSON
{
"name": "hold_button",
"kind": "act",
"impl": "imperative",
"description": "Press the big button and keep holding it. A coloured strip lights up beside the button while held. You cannot see that strip: ask your partner for its colour, then call release_button with the digit the manual gives for that colour.",
"inputSchema": {
"type": "object",
"properties": {
"module_id": {
"type": "string",
"description": "Module letter, for example C."
}
},
"required": [
"module_id"
],
"additionalProperties": false
}
}release_buttonAction
Release a held button at the next moment the countdown displays a given digit. The bomb performs the timing, so call this as soon as you know the digit. Releasing on the wrong digit is a strike.
View tool JSON
{
"name": "release_button",
"kind": "act",
"impl": "imperative",
"description": "Release a held button at the next moment the countdown displays a given digit. The bomb performs the timing, so call this as soon as you know the digit. Releasing on the wrong digit is a strike.",
"inputSchema": {
"type": "object",
"properties": {
"module_id": {
"type": "string",
"description": "Module letter, for example C."
},
"release_when_timer_contains": {
"type": "integer",
"minimum": 0,
"maximum": 9,
"description": "Release at the next second whose countdown text contains this digit."
}
},
"required": [
"module_id",
"release_when_timer_contains"
],
"additionalProperties": false
}
}