feat(ui): format system init message in StreamLineFormatter
This commit is contained in:
@@ -43,11 +43,30 @@ public class StreamLineFormatter
|
|||||||
{
|
{
|
||||||
if (!root.TryGetProperty("subtype", out var subtypeProp))
|
if (!root.TryGetProperty("subtype", out var subtypeProp))
|
||||||
return null;
|
return null;
|
||||||
return subtypeProp.GetString() switch
|
|
||||||
|
var subtype = subtypeProp.GetString();
|
||||||
|
switch (subtype)
|
||||||
{
|
{
|
||||||
"api_retry" => "[Retrying API call...]\n",
|
case "api_retry":
|
||||||
_ => null,
|
return "[Retrying API call...]\n";
|
||||||
};
|
|
||||||
|
case "init":
|
||||||
|
{
|
||||||
|
var sessionId = root.TryGetProperty("session_id", out var sid)
|
||||||
|
? sid.GetString() : null;
|
||||||
|
var model = root.TryGetProperty("model", out var m)
|
||||||
|
? m.GetString() : null;
|
||||||
|
|
||||||
|
var shortId = sessionId is { Length: >= 8 }
|
||||||
|
? sessionId[..8]
|
||||||
|
: sessionId ?? "?";
|
||||||
|
var modelPart = string.IsNullOrEmpty(model) ? "" : $" · {model}";
|
||||||
|
return $"[session {shortId}{modelPart}]\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string? FormatAssistant(JsonElement root) => null;
|
private static string? FormatAssistant(JsonElement root) => null;
|
||||||
|
|||||||
Reference in New Issue
Block a user