{ "$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_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 } } } ] } } } } } }