Files
continuum-schemas/schemas/bambulab/v1/request.schema.json

64 lines
2.6 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/request.schema.json",
"title": "BambuRequest",
"description": "Matches continuum-proxy's src/printer/bambu_commands::BambuRequest - one JSON key naming the category ('info', 'pushing', ...). Each category's value is a oneOf, not a single $ref: a category can have more than one possible request shape (e.g. 'info' might grow a second command besides get_version) - oneOf leaves room for that from the start instead of needing a rewrite the day it happens.",
"type": "object",
"minProperties": 1,
"maxProperties": 1,
"properties": {
"camera": {
"oneOf": [
{ "$ref": "request/camera/ipcam_record_set.schema.json" },
{ "$ref": "request/camera/ipcam_timelapse.schema.json" }
]
},
"info": {
"oneOf": [
{ "$ref": "request/info/get_version.schema.json" }
]
},
"print": {
"oneOf": [
{ "$ref": "request/print/ams_change_filament.schema.json" },
{ "$ref": "request/print/ams_control.schema.json" },
{ "$ref": "request/print/ams_filament_setting.schema.json" },
{ "$ref": "request/print/ams_get_rfid.schema.json" },
{ "$ref": "request/print/ams_user_setting.schema.json" },
{ "$ref": "request/print/calibration.schema.json" },
{ "$ref": "request/print/gcode_file.schema.json" },
{ "$ref": "request/print/gcode_line.schema.json" },
{ "$ref": "request/print/pause.schema.json" },
{ "$ref": "request/print/print_option.schema.json" },
{ "$ref": "request/print/print_speed.schema.json" },
{ "$ref": "request/print/project_file.schema.json" },
{ "$ref": "request/print/resume.schema.json" },
{ "$ref": "request/print/skip_objects.schema.json" },
{ "$ref": "request/print/stop.schema.json" },
{ "$ref": "request/print/unload_filament.schema.json" }
]
},
"system": {
"oneOf": [
{ "$ref": "request/system/get_access_code.schema.json" },
{ "$ref": "request/system/ledctrl.schema.json" },
{ "$ref": "request/system/set_accessories.schema.json" }
]
},
"upgrade": {
"oneOf": [
{ "$ref": "request/upgrade/consistency_confirm.schema.json" },
{ "$ref": "request/upgrade/get_history.schema.json" },
{ "$ref": "request/upgrade/start.schema.json" },
{ "$ref": "request/upgrade/upgrade_confirm.schema.json" }
]
},
"xcam": {
"oneOf": [
{ "$ref": "request/xcam/xcam_control_set.json" }
]
}
},
"additionalProperties": false
}