Tool tree
gradeNot graded
get_configurationAnswer
Read the car the user is currently configuring: every selected option, the price, the estimated range, the 0-60 time, and whether the build is valid. Call this first, and call it again after the user changes something by hand.
View tool JSON
{
"name": "get_configuration",
"kind": "answer",
"impl": "imperative",
"description": "Read the car the user is currently configuring: every selected option, the price, the estimated range, the 0-60 time, and whether the build is valid. Call this first, and call it again after the user changes something by hand.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}list_available_optionsAnswer
List every option the Meridian Voyager offers, with prices and range impact. Optionally filter to one category. Use this to discover valid option ids before calling set_option.
View tool JSON
{
"name": "list_available_options",
"kind": "answer",
"impl": "imperative",
"description": "List every option the Meridian Voyager offers, with prices and range impact. Optionally filter to one category. Use this to discover valid option ids before calling set_option.",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"trim",
"powertrain",
"wheels",
"paint",
"interior",
"package"
],
"description": "Restrict the listing to a single category."
}
},
"additionalProperties": false
}
}check_compatibilityAnswer
Ask whether adding an option to the current build would be valid, without changing anything. When it is not valid, the response explains which rule blocks it and why, so you can offer the user a real alternative.
View tool JSON
{
"name": "check_compatibility",
"kind": "answer",
"impl": "imperative",
"description": "Ask whether adding an option to the current build would be valid, without changing anything. When it is not valid, the response explains which rule blocks it and why, so you can offer the user a real alternative.",
"inputSchema": {
"type": "object",
"properties": {
"option_id": {
"type": "string",
"enum": [
"trim-voyager",
"trim-sport",
"trim-ultra",
"pt-rwd",
"pt-awd",
"pt-performance",
"wheel-aero18",
"wheel-sport19",
"wheel-turbine21",
"paint-glacier",
"paint-midnight",
"paint-cinder",
"paint-ember",
"paint-fern",
"int-slate",
"int-linen",
"int-cognac",
"pkg-tow",
"pkg-offroad",
"pkg-sportsusp",
"pkg-audio",
"pkg-autopilot",
"pkg-tow-prep"
],
"description": "The option to test."
}
},
"required": [
"option_id"
],
"additionalProperties": false
}
}get_price_breakdownAnswer
Itemised pricing for the current build: base vehicle plus every paid option, sorted most expensive first. Use this when the user asks what is driving the price or wants to find something to cut.
View tool JSON
{
"name": "get_price_breakdown",
"kind": "answer",
"impl": "imperative",
"description": "Itemised pricing for the current build: base vehicle plus every paid option, sorted most expensive first. Use this when the user asks what is driving the price or wants to find something to cut.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}find_cheapest_buildAnswer
Find the cheapest valid configuration that includes all of the given options. This searches the full option space and respects every compatibility rule, so it answers questions like "the cheapest build with all-wheel drive and a tow hitch". Returns the winning build without applying it -- follow up with apply_build if the user wants it.
View tool JSON
{
"name": "find_cheapest_build",
"kind": "answer",
"impl": "imperative",
"description": "Find the cheapest valid configuration that includes all of the given options. This searches the full option space and respects every compatibility rule, so it answers questions like \"the cheapest build with all-wheel drive and a tow hitch\". Returns the winning build without applying it -- follow up with apply_build if the user wants it.",
"inputSchema": {
"type": "object",
"properties": {
"required_options": {
"type": "array",
"items": {
"type": "string",
"enum": [
"trim-voyager",
"trim-sport",
"trim-ultra",
"pt-rwd",
"pt-awd",
"pt-performance",
"wheel-aero18",
"wheel-sport19",
"wheel-turbine21",
"paint-glacier",
"paint-midnight",
"paint-cinder",
"paint-ember",
"paint-fern",
"int-slate",
"int-linen",
"int-cognac",
"pkg-tow",
"pkg-offroad",
"pkg-sportsusp",
"pkg-audio",
"pkg-autopilot",
"pkg-tow-prep"
]
},
"description": "Option ids that must be present in the result."
},
"max_price": {
"type": "number",
"description": "Optional budget ceiling in USD, used to report whether it fits."
}
},
"required": [
"required_options"
],
"additionalProperties": false
}
}set_optionAction
Select an option on the build. Choosing a trim, powertrain, wheel, paint or interior replaces the current pick in that category; packages are added. Refuses the change if it would make the build invalid, and explains why.
View tool JSON
{
"name": "set_option",
"kind": "act",
"impl": "imperative",
"description": "Select an option on the build. Choosing a trim, powertrain, wheel, paint or interior replaces the current pick in that category; packages are added. Refuses the change if it would make the build invalid, and explains why.",
"inputSchema": {
"type": "object",
"properties": {
"option_id": {
"type": "string",
"enum": [
"trim-voyager",
"trim-sport",
"trim-ultra",
"pt-rwd",
"pt-awd",
"pt-performance",
"wheel-aero18",
"wheel-sport19",
"wheel-turbine21",
"paint-glacier",
"paint-midnight",
"paint-cinder",
"paint-ember",
"paint-fern",
"int-slate",
"int-linen",
"int-cognac",
"pkg-tow",
"pkg-offroad",
"pkg-sportsusp",
"pkg-audio",
"pkg-autopilot",
"pkg-tow-prep"
],
"description": "The option to select."
}
},
"required": [
"option_id"
],
"additionalProperties": false
}
}remove_optionAction
Remove an optional package from the build. Only packages can be removed, since every other category always has exactly one selection.
View tool JSON
{
"name": "remove_option",
"kind": "act",
"impl": "imperative",
"description": "Remove an optional package from the build. Only packages can be removed, since every other category always has exactly one selection.",
"inputSchema": {
"type": "object",
"properties": {
"option_id": {
"type": "string",
"enum": [
"pkg-tow",
"pkg-offroad",
"pkg-sportsusp",
"pkg-audio",
"pkg-autopilot",
"pkg-tow-prep"
],
"description": "The package to remove."
}
},
"required": [
"option_id"
],
"additionalProperties": false
}
}apply_buildAction
Replace the entire build with the given set of option ids in one step. Use this to apply a result from find_cheapest_build. Rejects invalid combinations.
View tool JSON
{
"name": "apply_build",
"kind": "act",
"impl": "imperative",
"description": "Replace the entire build with the given set of option ids in one step. Use this to apply a result from find_cheapest_build. Rejects invalid combinations.",
"inputSchema": {
"type": "object",
"properties": {
"option_ids": {
"type": "array",
"items": {
"type": "string",
"enum": [
"trim-voyager",
"trim-sport",
"trim-ultra",
"pt-rwd",
"pt-awd",
"pt-performance",
"wheel-aero18",
"wheel-sport19",
"wheel-turbine21",
"paint-glacier",
"paint-midnight",
"paint-cinder",
"paint-ember",
"paint-fern",
"int-slate",
"int-linen",
"int-cognac",
"pkg-tow",
"pkg-offroad",
"pkg-sportsusp",
"pkg-audio",
"pkg-autopilot",
"pkg-tow-prep"
]
},
"description": "The complete set of options for the new build."
}
},
"required": [
"option_ids"
],
"additionalProperties": false
}
}reset_buildAction
Reset the configurator back to the standard Voyager.
View tool JSON
{
"name": "reset_build",
"kind": "act",
"impl": "imperative",
"description": "Reset the configurator back to the standard Voyager.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}