From 02b4c7a35ac0b714bc045d54fb4bb45d1ce4e490 Mon Sep 17 00:00:00 2001 From: t Date: Sat, 13 Jun 2026 23:45:59 -0600 Subject: Add Codex Responses support and session debugging Teach provider config and auth resolution about the Codex Responses dialect, including user-facing `style = "openai_responses"` with `dialect = "codex"`. Serialize and parse Responses traffic with provider-specific reasoning replay, assistant phase metadata, and robust function-call assembly keyed by `output_index` so streamed tool inputs survive proxy quirks and empty terminal payloads. Also persist thinking origins and message metadata across sessions, add the Anthropic interleaved-thinking header switch, write per-session debug logs, and improve the TUI and scripts for inspecting tool output and session costs. --- src/tui_app.zig | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src/tui_app.zig') diff --git a/src/tui_app.zig b/src/tui_app.zig index 1182777..69eb8fa 100644 --- a/src/tui_app.zig +++ b/src/tui_app.zig @@ -1402,16 +1402,13 @@ pub fn runLoop(app: *App, term: *Terminal, opts: RunOptions) !void { // that here. Otherwise seed the plain model label. if (app.selectors == null) try app.footer.setModel(opts.model_label); - // Session-start welcome banner as the first transcript entry. cwd is read - // from the process; the model label comes from the run options. (Version - // is not threaded through the run options yet; the banner omits it.) + // Session-start welcome banner as the first transcript entry. { const welcome = try app.spawnWelcome(.{ .version = opts.version, .cwd = opts.cwd, .model = opts.model_label, }); - try welcome.setModel(opts.model_label); if (opts.cwd.len != 0) try welcome.setCwd(opts.cwd); if (opts.version.len != 0) try welcome.setVersion(opts.version); } @@ -2371,7 +2368,7 @@ test "spawnWelcome shows a session-start banner entry" { defer h.teardown(alloc); const w = try h.app.spawnWelcome(.{}); - try w.setModel("m"); + _ = w; try testing.expectEqual(@as(usize, 1), h.app.transcript.items.len); try testing.expect(h.app.transcript.items[0].kind == .welcome); } -- cgit v1.3