Files
Aethera/mcp/core/Control_Requests.hpp

51 lines
1.5 KiB
C++

#pragma once
#include <nlohmann/json.hpp>
#include <cstddef>
#include <cstdint>
#include <string>
namespace aethera::mcp {
struct Empty_Request {};
struct Plot_Request {
std::string plot; /* Gallery Plot 稳定标识。 */
};
struct Component_Request {
std::string plot; /* Gallery Plot 稳定标识。 */
std::string component; /* Renderable 业务组件标识。 */
};
struct Write_Property_Request {
std::string plot; /* Gallery Plot 稳定标识。 */
std::string component; /* Renderable 业务组件标识。 */
std::string property; /* 待修改属性键。 */
nlohmann::json value; /* 属性协议值。 */
};
struct Generate_Data_Request {
std::string plot; /* Gallery Plot 稳定标识。 */
nlohmann::json input; /* Plot 数据生成器输入。 */
};
struct Plot_Input_Request {
std::string plot; /* 接收输入的 Gallery Plot。 */
nlohmann::json event; /* 仅在协议边界存在的具体事件 JSON。 */
};
struct Plot_Render_Request {
std::string plot; /* 接收帧请求的 Gallery Plot。 */
double time_milliseconds{}; /* MCP 调用方单调时间线上的帧时刻。 */
std::uint32_t width{720}; /* 无媒体订阅时的诊断帧宽度。 */
std::uint32_t height{420}; /* 无媒体订阅时的诊断帧高度。 */
};
struct Frame_Trace_Request {
std::string plot; /* 捕获逐帧执行数据的 Gallery Plot。 */
std::size_t frame_count{1}; /* 直接复用 Plot 现有物理帧捕获槽。 */
};
}