| 253 | } |
| 254 | |
| 255 | char *cbm_jsonrpc_format_error(int64_t id, int code, const char *message) { |
| 256 | yyjson_mut_doc *doc = yyjson_mut_doc_new(NULL); |
| 257 | yyjson_mut_val *root = yyjson_mut_obj(doc); |
| 258 | yyjson_mut_doc_set_root(doc, root); |
| 259 | |
| 260 | yyjson_mut_obj_add_str(doc, root, "jsonrpc", "2.0"); |
| 261 | yyjson_mut_obj_add_int(doc, root, "id", id); |
| 262 | |
| 263 | yyjson_mut_val *err = yyjson_mut_obj(doc); |
| 264 | yyjson_mut_obj_add_int(doc, err, "code", code); |
| 265 | yyjson_mut_obj_add_str(doc, err, "message", message); |
| 266 | yyjson_mut_obj_add_val(doc, root, "error", err); |
| 267 | |
| 268 | char *out = yy_doc_to_str(doc); |
| 269 | yyjson_mut_doc_free(doc); |
| 270 | return out; |
| 271 | } |
| 272 | |
| 273 | /* ══════════════════════════════════════════════════════════════════ |
| 274 | * MCP PROTOCOL HELPERS |
no test coverage detected