Skip to content

Commit 4cc0532

Browse files
committed
fix(appserver): preserve turn completion status
1 parent 8881d62 commit 4cc0532

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

‎src/main/java/io/github/easy4j/codex/appserver/CodexAppServerTurn.java‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,11 +344,19 @@ private void onTurnCompleted(JsonNode params) {
344344
.threadId(threadId)
345345
.turnId(turnId)
346346
.content(finalContent)
347-
.finishReason("stop")
347+
.finishReason(extractFinishReason(params))
348348
.build());
349349
close();
350350
}
351351

352+
private String extractFinishReason(JsonNode params) {
353+
String status = firstText(params.path("turn"), "status");
354+
if (!hasText(status)) {
355+
status = firstText(params, "status", "reason");
356+
}
357+
return hasText(status) ? status : "completed";
358+
}
359+
352360
private CompletableFuture<JsonNode> newRpc(String method, Map<String, Object> params) {
353361
long id = rpcIds.incrementAndGet();
354362
Map<String, Object> payload = new LinkedHashMap<>();

0 commit comments

Comments
 (0)