Commit graph

748 commits

Author SHA1 Message Date
Mario Zechner
e14afc648e fix(coding-agent): collapse fallback tool output closes #7979 2026-08-14 10:22:36 +02:00
Vegard Stikbakke
6f707eb360 fix(coding-agent): show managed-tool startup status in TUI 2026-08-13 15:54:34 +02:00
Armin Ronacher
7d8c11d37f fix(coding-agent): share concurrent model catalog refreshes 2026-08-13 09:43:36 +02:00
Christian Klotz
c93ea6ccf0
fix(coding-agent): preserve usage in streaming events (#7982)
Fixes #7911
2026-08-13 00:32:26 +03:00
Ramiz Wachtler
9795d60230
feat(coding-agent): add per-run theme selection (#7722)
- add `--use-theme` for fixed and terminal-aware theme pairs
- keep invocation state non-persistent until an explicit selection
- preserve active themes across previews, reloads, and HTML exports
2026-08-12 16:25:38 +02:00
Armin Ronacher
00121ed999
feat(tui): add fullscreen transcript search (#7913)
Search rendered primary scroll-view content with configurable navigation and theme-aware highlighting. Preserve manual scrolling and buffer fragmented mouse input during search.
2026-08-11 10:59:28 +02:00
Armin Ronacher
ac4ac9eaf6 feat(coding-agent): configure fullscreen exit output 2026-08-07 18:30:28 +02:00
Armin Ronacher
666d8972ff fix(coding-agent): preserve TUI wrapper routing (closes #7731) 2026-08-07 00:40:44 +02:00
Armin Ronacher
7cb2a51c05 fix(coding-agent): reduce automatic theme detection delay 2026-08-07 00:22:00 +02:00
Armin Ronacher
c96bfaccd0 fix(coding-agent): support Windows fullscreen right-click paste 2026-08-06 22:39:40 +02:00
Armin Ronacher
b0bd0ff9d5 fix(coding-agent): only label known subscriptions in footer 2026-08-06 07:47:35 +02:00
Armin Ronacher
5446cd7545 feat(coding-agent): rename UI mode to TUI mode 2026-08-05 22:56:58 +02:00
Armin Ronacher
16ad96ae89 feat(tui): add configurable prompt history actions 2026-08-05 21:34:21 +02:00
Alexey Zaytsev
66534fbdc7
feat(coding-agent): render Mermaid diagrams (#7624) 2026-08-05 09:43:24 +02:00
Armin Ronacher
fc4a3d99bc fix(coding-agent): honor output padding for errors 2026-08-04 22:00:27 +02:00
Mario Zechner
fed6009cc9 fix(coding-agent): make model refresh cancellation caller-owned
Add generation-safe catalog publication, cancellable auth and storage operations, locally consistent credential mutations, and cache-first interactive model flows.
2026-08-04 00:03:52 +02:00
Armin Ronacher
3d264e85b4 fix(coding-agent): avoid terminal query leak on fullscreen exit 2026-08-03 19:18:39 +02:00
Christian Klotz
a4475344fb
fix(coding-agent): make JSON streaming output linear (#7394)
Fixes #7290

Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-08-03 18:33:22 +02:00
David Brailovsky
32850ef7c5
fix(coding-agent): resume after context-limited length stops (#7540)
* fix(coding-agent): resume after context-limited length stops

Treat length stops as context overflow when prompt usage is within 1% of
Pi's configured context window. Include cache-write tokens in that usage
and allow non-zero output because OpenAI may emit reasoning tokens before
returning an incomplete response.

After compaction, remove any retryable error or truncated-length assistant
message restored from persisted session history so the interrupted agent
turn can continue.

This is specifically for handling this case for openai models:
https://developers.openai.com/api/docs/guides/reasoning

> If the generated tokens reach the context window limit or the max_output_tokens value you’ve set, you’ll receive a response with a status of incomplete and incomplete_details with reason set to max_output_tokens. This might occur before any visible output tokens are produced, meaning you could incur costs for input and reasoning tokens without receiving a visible response.

This detection currently assumes the reported prompt usage is within 1% of
the context window configured in Pi. Its reliability therefore depends on
Pi's model contextWindow metadata matching the provider's effective limit.

Maybe we should consider treating OpenAI incomplete responses as requiring compaction
regardless of the local context-window estimate?

fixes #7020

* fix(coding-agent): recover truncated responses after compaction

Classify length stops by comparing provider-reported output usage with the model's intended output limit. Compact and retry once when generation ends below that limit, avoiding unreliable context-window estimates while preserving genuine max-output stops.

Normalize OpenAI Responses incomplete reasons so only max_output_tokens is treated as a length stop. Preserve qualified provider reasons for diagnostics, surface other reasons as errors, and use neutral truncation wording in the TUI.
2026-08-03 18:07:53 +02:00
Armin Ronacher
b103937d3c
feat(coding-agent): switch UI modes at runtime (#7555) 2026-08-03 17:32:48 +02:00
Armin Ronacher
ebf33c0c22 fix(coding-agent): flash fullscreen copy confirmation 2026-08-03 12:00:39 +02:00
Vegard Stikbakke
a077fff0b2 fix(coding-agent): identify failed model catalogs 2026-08-03 08:43:30 +02:00
Mario Zechner
b70c0f5b4e
Revert "feat(tui): add switchable terminal renderers (#7440)" (#7473)
This reverts commit 1fdf21621d.
2026-08-02 09:21:45 +02:00
Armin Ronacher
1fdf21621d
feat(tui): add switchable terminal renderers (#7440)
Allow coding-agent UI modes to switch at runtime while preserving terminal, focus, input, and renderer state.
2026-08-02 09:21:17 +02:00
Armin Ronacher
b3ed27b3fe feat(coding-agent): add scrollbar thumb theme color 2026-07-31 17:41:40 +02:00
Armin Ronacher
6129a353b1 feat(tui): add configurable fullscreen scrollbars 2026-07-31 17:17:02 +02:00
Vegard Stikbakke
f074efd921 feat(coding-agent): add ui mode setting 2026-07-31 15:33:52 +02:00
Armin Ronacher
8ac92f831c feat(tui): add draggable transient scrollbars 2026-07-31 15:02:52 +02:00
Cristina Poncela Cubeiro
ea781d68f2
fix: forward autocompleteMaxVisible to custom editors (#7369) 2026-07-31 12:00:17 +02:00
Mario Zechner
ea1e77e2db feat(tui): add alternate-screen viewport layouts 2026-07-31 09:22:10 +02:00
Alexey Zaytsev
714978bf51
Markdown api (#7231)
* feat(tui): export bundled Marked parser

* feat(coding-agent): add width-aware Markdown transformers

---------

Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-07-30 22:39:04 +02:00
Mario Zechner
c13ffe1877 feat(tui): add alternate-screen renderer
Closes #7304
2026-07-30 12:59:48 +02:00
Cristina Poncela Cubeiro
bb226f9c1f
fix: redundancy in setToolsExpanded (#7313) 2026-07-30 10:57:16 +02:00
David Brailovsky
bff5ab7174
fix(coding-agent): show system prompt files in startup context (#7266)
Shows file-backed SYSTEM.md and APPEND_SYSTEM.md entries in the interactive startup [Context] section.

fixes #7096
2026-07-29 17:05:22 +02:00
David Brailovsky
0d008b7468 fix(coding-agent): show tool expansion status
fixes #7180
2026-07-28 15:07:19 +02:00
Thomas Mustier
cefa40ed8f
***WIP it's a PoC *** fix(coding-agent): guard tree navigation during responses (#7022)
* fix(coding-agent): guard tree navigation during responses

* fix(coding-agent): simplify tree navigation regression

* fix(coding-agent): abort active run on session replacement and tree navigation

Session replacement (resume, new, fork, import) now settles the active
response in teardownCurrent before disposing the outgoing session, so the
aborted turn and its tool results persist instead of leaving a dangling
tool call. Tree navigation aborts the active response directly once the
user commits, without a confirmation gate.
2026-07-28 14:46:30 +02:00
Christian Basch
f1ea6c0d05
fix(coding-agent): reset model selector selection to top row when filtering (#7211)
Typing a model name in the /model selector only clamped selectedIndex to
the filtered list length, leaving the highlight wherever it happened to
be instead of moving to the best match. Reset selectedIndex to 0 when a
non-empty query is present so the top row is highlighted in both the All
and Scoped tabs. Keep the clamp behavior when the query is cleared.

fixes #7209
2026-07-28 14:42:42 +02:00
Cristina Poncela Cubeiro
5d548ae969
fix: rpc bash no longer bypass user_bash (#7214)
* fix: rpc bash no longer bypass user_bash

* fix: rpc bash no longer bypass user_bash
2026-07-28 14:41:39 +02:00
Cristina Poncela Cubeiro
b6fb91e5b3
fix(coding-agent): include scoped models in TUI extension context (#7215) 2026-07-28 13:20:11 +02:00
Michael Yu
c2275d6703
fix(coding-agent): prevent duplicate messages on startup session switch (#7110) 2026-07-27 11:59:27 +02:00
Alexey Zaytsev
518855dd50
feat(coding-agent): expose output padding to custom renderers (#7045)
Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-07-25 08:29:34 +02:00
Christian Klotz
a3ee1d286e
fix(coding-agent): expose unavailable scoped models (#7032)
* fix(coding-agent): expose unavailable scoped models

Keep missing configured models editable in the scoped-model selector. This fixes #6949.

* fix(coding-agent): reuse model scope diagnostics

* fix(coding-agent): classify model scope diagnostics
2026-07-25 07:19:56 +02:00
Anantha Kumaran
fc85bdd88b
feat(coding-agent): emit bash_execution_update events (#6971) 2026-07-23 12:28:12 +02:00
Armin Ronacher
bb3d7d399c
feat(coding-agent): expose session metadata to bash tools (#6967) 2026-07-22 20:15:02 +02:00
David Brailovsky
c55ae2faa5
fix(coding-agent): display path of sibling dependent extensions (#6964)
fixes: #6619
2026-07-22 16:08:21 +02:00
Christian Klotz
75e6123aba
fix(coding-agent): speed up external editor launch (#6903)
Some checks are pending
CI / build-check-test (push) Waiting to run
* fix(coding-agent): speed up external editor launch

Fixes #6774

* refactor(coding-agent): clarify external editor handling

* refactor(coding-agent): simplify external editor result

* refactor(coding-agent): model external editor lifecycle

* fix(coding-agent): rename external editor test fake

* fix(coding-agent): secure external editor temp files

* fix(coding-agent): simplify external editor temp path

* fix(coding-agent): restore system temp editor files
2026-07-22 15:49:01 +02:00
David Brailovsky
fe42ba5b38
write tui debug/crash logs into the configured pi agent dir (#6958)
fixes #6652
2026-07-22 15:48:25 +02:00
Armin Ronacher
b142504125 fix(coding-agent): defer catalog refresh until after TUI startup 2026-07-21 18:25:38 +02:00
David Brailovsky
162179af5a add branch/compact retries to agent-harness 2026-07-21 12:11:39 +00:00
David Brailovsky
8e53e0e49c compaction & branch summarization follow retry policy
fixes #6647

compaction (auto & manual) and branch summarization retry on transient failures.
use the same retry policy from settings.
emit events for the tui to show indication of retries
2026-07-21 10:07:20 +00:00