v0.7.5: arrow keys, image request fix, deepseek-flash vision, musl CI
TUI keys: register both CSI and SS3 forms of the cursor/Home/End keys and
the xterm modifier sequences when terminfo lacks them, so an arrow sent in
the "other" form no longer turns into Esc + a typed letter. Up/Down move by
visual (soft-wrapped) row, and the draft survives a trip through history.
scripts/tui_keys drives the TUI in a pty to check all of this.
Images: text inside a multimodal content array is now a {"type":"text"}
part; DeepSeek rejected the bare string with HTTP 422. deepseek-flash
(and its deepseek-chat / deepseek-reasoner aliases) read images, so the
registry marks them vision; deepseek-v4-pro stays text only.
CI: models.c lost _DEFAULT_SOURCE in 0.7.0 and gmtime_r broke the musl
build; tests sleep with poll() instead of usleep for the same reason.
This commit is contained in:
+8
-1
@@ -162,7 +162,14 @@ static void parts_add_text(cJSON *parts, cJSON *txt) {
|
||||
cJSON_Delete(txt);
|
||||
return;
|
||||
}
|
||||
cJSON_AddItemToArray(parts, txt);
|
||||
if (!txt->valuestring || !txt->valuestring[0]) {
|
||||
cJSON_Delete(txt);
|
||||
return;
|
||||
}
|
||||
cJSON *t = cJSON_CreateObject();
|
||||
cJSON_AddStringToObject(t, "type", "text");
|
||||
cJSON_AddItemToObject(t, "text", txt);
|
||||
cJSON_AddItemToArray(parts, t);
|
||||
}
|
||||
|
||||
/* One stored image as an image_url part, or NULL with why filled in. */
|
||||
|
||||
Reference in New Issue
Block a user