{
"version": "1.0.0",
"channels": {
"boxmux-control": {
"description": "BoxMux control channel for managing boxes and layouts",
"commands": {
"replace-box-content": {
"description": "Replace the content of a specific box",
"args": {
"box_id": {
"type": "string",
"required": true,
"description": "The ID of the box to update",
"validation": {
"minLength": 1,
"maxLength": 256
}
},
"success": {
"type": "boolean",
"required": true,
"description": "Whether the content update was successful"
},
"content": {
"type": "string",
"required": true,
"description": "The new content for the box",
"validation": {
"maxLength": 1000000
}
}
},
"response": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Operation status"
},
"result": {
"type": "string",
"description": "Operation result message"
}
}
}
},
"replace-box-script": {
"description": "Replace the script commands for a specific box",
"args": {
"box_id": {
"type": "string",
"required": true,
"description": "The ID of the box to update",
"validation": {
"minLength": 1,
"maxLength": 256
}
},
"script": {
"type": "array",
"required": true,
"description": "Array of script commands",
"validation": {
"maxItems": 100
},
"items": {
"type": "string",
"validation": {
"maxLength": 1000
}
}
}
},
"response": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Operation status"
},
"result": {
"type": "string",
"description": "Operation result message"
}
}
}
},
"stop-box-refresh": {
"description": "Stop automatic refresh for a specific box",
"args": {
"box_id": {
"type": "string",
"required": true,
"description": "The ID of the box to stop refreshing",
"validation": {
"minLength": 1,
"maxLength": 256
}
}
},
"response": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Operation status"
},
"result": {
"type": "string",
"description": "Operation result message"
}
}
}
},
"start-box-refresh": {
"description": "Start automatic refresh for a specific box",
"args": {
"box_id": {
"type": "string",
"required": true,
"description": "The ID of the box to start refreshing",
"validation": {
"minLength": 1,
"maxLength": 256
}
}
},
"response": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Operation status"
},
"result": {
"type": "string",
"description": "Operation result message"
}
}
}
},
"replace-box": {
"description": "Replace an entire box with a new box definition",
"args": {
"box_id": {
"type": "string",
"required": true,
"description": "The ID of the box to replace",
"validation": {
"minLength": 1,
"maxLength": 256
}
},
"new_box": {
"type": "object",
"required": true,
"description": "The new box definition object",
"validation": {
"maxDataSize": 100000
}
}
},
"response": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Operation status"
},
"result": {
"type": "string",
"description": "Operation result message"
}
}
}
},
"switch-active-layout": {
"description": "Switch to a different active layout",
"args": {
"layout_id": {
"type": "string",
"required": true,
"description": "The ID of the layout to activate",
"validation": {
"minLength": 1,
"maxLength": 256
}
}
},
"response": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Operation status"
},
"result": {
"type": "string",
"description": "Operation result message"
}
}
}
},
"add-box": {
"description": "Add a new box to a specific layout",
"args": {
"layout_id": {
"type": "string",
"required": true,
"description": "The ID of the layout to add the box to",
"validation": {
"minLength": 1,
"maxLength": 256
}
},
"box": {
"type": "object",
"required": true,
"description": "The box definition object to add",
"validation": {
"maxDataSize": 100000
}
}
},
"response": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Operation status"
},
"result": {
"type": "string",
"description": "Operation result message"
}
}
}
},
"remove-box": {
"description": "Remove a box from the current layout",
"args": {
"box_id": {
"type": "string",
"required": true,
"description": "The ID of the box to remove",
"validation": {
"minLength": 1,
"maxLength": 256
}
}
},
"response": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Operation status"
},
"result": {
"type": "string",
"description": "Operation result message"
}
}
}
}
}
}
}
}