Support configuring effort alongside model

This commit is contained in:
Ian Gulliver
2026-10-23 08:40:00 -07:00
parent 6bbae3fffe
commit d6d9dd86d9
40 changed files with 805 additions and 541 deletions
+4 -2
View File
@@ -915,10 +915,12 @@ final class TranscriptBuilder {
case "session.created":
let model = str(p, "model") ?? ""
return note([.text("\(ev.actor) started a \(jsString(p["vendor"])) session\(model.isEmpty ? "" : " (\(model))")")])
let effort = str(p, "effort") ?? ""
let detail = [model, effort.isEmpty ? "" : effortLabel(effort)].filter { !$0.isEmpty }.joined(separator: ", ")
return note([.text("\(ev.actor) started a \(jsString(p["vendor"])) session\(detail.isEmpty ? "" : " (\(detail))")")])
case "session.model":
return note([.text("\(ev.actor) switched the model to \(jsString(p["model"]))")])
return note([.text("\(ev.actor) switched the model to \(jsString(p["model"])) at \(effortLabel(str(p, "effort") ?? ""))")])
case "session.state":
guard let error = str(p, "error"), !error.isEmpty else {