| 224 | } |
| 225 | |
| 226 | char *cbm_jsonrpc_format_error(int64_t id, int code, const char *message) { |
| 227 | yyjson_mut_doc *doc = yyjson_mut_doc_new(NULL); |
| 228 | yyjson_mut_val *root = yyjson_mut_obj(doc); |
| 229 | yyjson_mut_doc_set_root(doc, root); |
| 230 | |
| 231 | yyjson_mut_obj_add_str(doc, root, "jsonrpc", "2.0"); |
| 232 | yyjson_mut_obj_add_int(doc, root, "id", id); |
| 233 | |
| 234 | yyjson_mut_val *err = yyjson_mut_obj(doc); |
| 235 | yyjson_mut_obj_add_int(doc, err, "code", code); |
| 236 | yyjson_mut_obj_add_str(doc, err, "message", message); |
| 237 | yyjson_mut_obj_add_val(doc, root, "error", err); |
| 238 | |
| 239 | char *out = yy_doc_to_str(doc); |
| 240 | yyjson_mut_doc_free(doc); |
| 241 | return out; |
| 242 | } |
| 243 | |
| 244 | /* ══════════════════════════════════════════════════════════════════ |
| 245 | * MCP PROTOCOL HELPERS |
no test coverage detected