Skip to content
This repository was archived by the owner on Jul 4, 2025. It is now read-only.

Commit 6300732

Browse files
authored
chore: add backward compatible for thread (#1782)
1 parent 0b5b9aa commit 6300732

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

engine/common/thread.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,21 @@ struct Thread : JsonSerializable {
124124
json["object"] = object;
125125
json["created_at"] = created_at;
126126

127+
// Deprecated: This is for backward compatibility. Please remove it later. (2-3 releases) to be sure
128+
try {
129+
auto it = metadata.find("title");
130+
if (it == metadata.end()) {
131+
json["title"] = "";
132+
} else {
133+
json["title"] = std::get<std::string>(metadata["title"]);
134+
}
135+
136+
} catch (const std::bad_variant_access& ex) {
137+
// std::cerr << "Error: value is not a string" << std::endl;
138+
CTL_WRN("Error: value of title is not a string: " << ex.what());
139+
}
140+
// End deprecated
141+
127142
if (tool_resources) {
128143
auto tool_result = tool_resources->ToJson();
129144
if (tool_result.has_error()) {

engine/controllers/threads.cc

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ void Threads::ListThreads(
2626
for (auto& msg : res.value()) {
2727
if (auto it = msg.ToJson(); it.has_value()) {
2828
it->removeMember("assistants");
29+
it->removeMember("title");
2930
msg_arr.append(it.value());
3031
} else {
3132
CTL_WRN("Failed to convert message to json: " + it.error());
@@ -86,8 +87,10 @@ void Threads::CreateThread(
8687
resp->setStatusCode(k400BadRequest);
8788
callback(resp);
8889
} else {
89-
auto resp =
90-
cortex_utils::CreateCortexHttpJsonResponse(res->ToJson().value());
90+
auto json_res = res->ToJson();
91+
json_res->removeMember("title");
92+
json_res->removeMember("assistants");
93+
auto resp = cortex_utils::CreateCortexHttpJsonResponse(json_res.value());
9194
resp->setStatusCode(k200OK);
9295
callback(resp);
9396
}
@@ -116,6 +119,7 @@ void Threads::RetrieveThread(
116119
callback(resp);
117120
} else {
118121
thread_to_json->removeMember("assistants");
122+
thread_to_json->removeMember("title");
119123
auto resp =
120124
cortex_utils::CreateCortexHttpJsonResponse(thread_to_json.value());
121125
resp->setStatusCode(k200OK);
@@ -189,6 +193,8 @@ void Threads::ModifyThread(
189193
resp->setStatusCode(k400BadRequest);
190194
callback(resp);
191195
} else {
196+
res->ToJson()->removeMember("title");
197+
res->ToJson()->removeMember("assistants");
192198
auto resp =
193199
cortex_utils::CreateCortexHttpJsonResponse(res->ToJson().value());
194200
resp->setStatusCode(k200OK);

0 commit comments

Comments
 (0)