Files
Cognitive_Agent/domains/seat/schemas/function-parameters.schema.json
T

200 lines
7.0 KiB
JSON
Executable File

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://cognitive-agent.local/domains/seat/function-parameters.schema.json",
"title": "SeatThermalFunctionParameters",
"type": "object",
"properties": {
"spec": {
"type": "object",
"properties": {
"domain": {"const": "seat"},
"operations": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"capability": {"const": "seat.set_ventilation"},
"parameters": {
"type": "object",
"additionalProperties": false,
"required": ["state"],
"properties": {
"state": {"type": "string", "enum": ["on", "off"]},
"level": {"type": "integer", "minimum": 1, "maximum": 5}
}
}
}
},
{
"type": "object",
"properties": {
"capability": {"const": "seat.set_heating"},
"parameters": {
"type": "object",
"additionalProperties": false,
"required": ["state"],
"properties": {
"state": {"type": "string", "enum": ["on", "off"]},
"level": {"type": "integer", "minimum": 1, "maximum": 5}
}
}
}
},
{
"type": "object",
"properties": {
"capability": {
"type": "string",
"enum": [
"seat.set_driver_ventilation_native",
"seat.set_driver_heating_native"
]
},
"parameters": {
"type": "object",
"additionalProperties": false,
"required": ["state"],
"properties": {
"state": {"type": "string", "enum": ["on", "off"]},
"level": {"type": "integer", "enum": [1, 2]}
}
}
}
},
{
"type": "object",
"properties": {
"capability": {"const": "seat.set_driver_massage_native"},
"parameters": {
"type": "object",
"additionalProperties": false,
"required": ["action"],
"properties": {
"action": {
"type": "string",
"enum": ["off", "strength", "mode"]
},
"strength": {"type": "integer", "enum": [1, 2, 3]},
"mode": {
"type": "string",
"enum": ["wave", "pulse", "stretch", "slack", "relax"]
}
},
"allOf": [
{
"if": {"properties": {"action": {"const": "strength"}}},
"then": {"required": ["strength"]}
},
{
"if": {"properties": {"action": {"const": "mode"}}},
"then": {"required": ["mode"]}
}
]
}
}
},
{
"type": "object",
"properties": {
"capability": {"const": "seat.set_driver_axis_native"},
"parameters": {
"type": "object",
"additionalProperties": false,
"required": ["axis", "direction"],
"properties": {
"axis": {
"type": "string",
"enum": ["horizontal", "height", "backrest", "basin"]
},
"direction": {
"type": "string",
"enum": ["forward", "backward", "up", "down", "stop"]
},
"duration_ms": {
"type": "integer",
"minimum": 100,
"maximum": 2000
}
}
}
}
},
{
"type": "object",
"properties": {
"capability": {
"type": "string",
"enum": [
"seat.set_driver_position_native",
"seat.recall_driver_memory_native"
]
},
"parameters": {
"type": "object",
"additionalProperties": false,
"required": ["slot"],
"properties": {
"slot": {"type": "integer", "minimum": 1, "maximum": 3}
}
}
}
},
{
"type": "object",
"properties": {
"capability": {
"type": "string",
"enum": [
"seat.set_longitudinal_position",
"seat.set_cushion_tilt",
"seat.set_backrest_recline",
"seat.set_legrest_height",
"seat.set_legrest_extension"
]
},
"parameters": {
"type": "object",
"additionalProperties": false,
"required": ["position_pct"],
"properties": {
"position_pct": {"type": "integer", "minimum": 0, "maximum": 100},
"angle_deg": {"type": "number", "minimum": 95, "maximum": 167}
}
}
}
},
{
"type": "object",
"properties": {
"capability": {"const": "seat.start_dynamic_mode"},
"parameters": {
"type": "object",
"additionalProperties": false,
"required": ["mode_id"],
"properties": {
"mode_id": {"type": "integer", "enum": [1, 2]}
}
}
}
},
{
"type": "object",
"properties": {
"capability": {"const": "seat.stop_dynamic_mode"},
"parameters": {
"type": "object",
"additionalProperties": false,
"maxProperties": 0
}
}
}
]
}
}
}
}
}
}