Commit Graph

3176 Commits

Author SHA1 Message Date
xu0o0
bd2c3ab67e feat(tui): treat paste markers as atomic segments in editor (#2111)
* feat(tui): treat paste markers as atomic segments in editor

Paste markers like `[paste #1 +123 lines]` are now treated as single
atomic units for cursor movement, word navigation, deletion, and
wrapping. Only markers with valid paste IDs (present in the editor's
pastes Map) are treated atomically.

* fix(tui): word-wrap oversized atomic segments in editor
2026-03-13 17:42:59 +01:00
xu0o0
adce496f63 fix(tui): handle narrow terminal width in editor scroll indicator (#2103) 2026-03-13 17:41:14 +01:00
Ben Smith
f5b1084176 fix(coding-agent): support PI_CODING_AGENT_DIR env var in example extensions (#2009) 2026-03-12 23:48:38 +00:00
xu0o0
b6b7fafddb fix(tui): normalize tabs in editor setText and input paths (#2027) 2026-03-12 23:48:15 +00:00
xu0o0
48e4bd94ef fix(tui): wordWrapLine overflow with wide chars at wrap boundary (#2082) 2026-03-12 23:46:37 +00:00
github-actions[bot]
5641693c4e chore: approve contributor tintinweb 2026-03-12 23:44:55 +00:00
Lucas Rangel Cezimbra
baeccade54 fix(tui): restore shift+tab in xterm modifyOtherKeys mode (#2081) 2026-03-12 23:36:45 +00:00
Mario Zechner
4535415300 fix(ai): capture usage from choice.usage for non-standard OpenAI-compatible providers
Some OpenAI-compatible providers (e.g., Moonshot/Kimi) return usage
data in chunk.choices[0].usage instead of the standard chunk.usage.
Extract usage parsing into a helper and check choice.usage as fallback.

closes #2017
2026-03-10 16:28:39 +01:00
Geraldo Dutra Neto
23109b113d fix: send assistant content as string in openai-completions provider (#2008)
The OpenAI Chat Completions API standard format for assistant message
content is a plain string. Sending it as an array of
{type:"text", text:"..."} objects causes some models (notably DeepSeek
V3.2 via NVIDIA NIM) to mirror the content-block structure literally
in their output. This produces recursive nesting where each turn wraps
the previous content blocks deeper:

  [{'type':'text','text':'[{\'type\':\'text\',\'text\':...}]'}]

The fix unifies the assistant content serialization to always use a
joined string — the same approach already used for the github-copilot
provider — for all openai-completions backends.

Affected models observed: deepseek-ai/deepseek-v3.2 (nvidia provider).
Models like GLM-5, GPT-4, Claude were unaffected as they tolerate
array content, but sending a standard string is safer for all.

Co-authored-by: geraldoaax <geraldoaax@users.noreply.github.com>
2026-03-10 16:04:11 +01:00
Fero
15e0957b04 fix(tui): stop wide input slice overflow closes #1982 (#2006) 2026-03-09 23:19:26 +01:00
Ben Hayden
fd0c7c3bdb fix(ai): improve GitHub Copilot OAuth polling (#1994) 2026-03-09 20:15:17 +01:00
Mario Zechner
aaeb2d8208 fix(tui): handle wide unicode input scrolling closes #1982 2026-03-09 17:51:38 +01:00
github-actions[bot]
18e7b79417 chore: approve contributor deybhayden 2026-03-09 16:35:34 +00:00
Fero
b621f3eefd docs(coding-agent): explain Windows Terminal Alt+Enter remap (#1967) 2026-03-09 13:31:42 +01:00
xu0o0
78bf0262e5 fix(tui): normalize tab characters in Input paste to spaces (#1975) 2026-03-09 13:30:53 +01:00
Gordon Hui
01f7faae9c fix(ai): support GOOGLE_CLOUD_API_KEY for google-vertex (#1948) (#1976) 2026-03-09 13:30:22 +01:00
Drew Brown
d9cfa115be fix(ai): improve error details in response.failed handler (#1956) 2026-03-08 21:34:01 +01:00
Daniel Nouri
758e9eccc3 fix(coding-agent): update Anthropic compaction model and HTTPS package test (#1960)
* fix(coding-agent): use supported Anthropic compaction model

The Anthropic compaction test was pinned to claude-3-7-sonnet-latest, which now fails with a 404 because that model line was retired. Switch the test to the existing claude-sonnet-4-5 convention used elsewhere in coding-agent tests.

* test(coding-agent): disable git prompts in HTTPS parsing test

The HTTPS URL parsing test intentionally clones a nonexistent GitHub repo to verify that bare HTTPS sources dispatch to git. Under a TTY, git can prompt on that path and hang the test run.

Set GIT_TERMINAL_PROMPT=0 in that test so it still exercises real git but fails fast instead of waiting for terminal input.
2026-03-08 21:33:13 +01:00
github-actions[bot]
2ef2a5d1ae chore: approve contributor gordonhwc 2026-03-08 18:14:53 +00:00
Mario Zechner
b370cd5a5c Add [Unreleased] section for next cycle 2026-03-08 00:56:38 +01:00
Mario Zechner
a9cedccdde Release v0.57.1 2026-03-08 00:55:52 +01:00
Mario Zechner
5a82b5e5b1 docs(coding-agent): update unreleased changelog 2026-03-08 00:55:02 +01:00
Mario Zechner
ad11058e37 fix(coding-agent): use shell for external editor on windows closes #1925 2026-03-08 00:48:42 +01:00
Mario Zechner
deb5fb3b88 feat(tui): support digit keybindings closes #1905 2026-03-08 00:36:04 +01:00
Mario Zechner
80d79eefc3 fix(coding-agent): prefer explicit -e extensions closes #1896 2026-03-08 00:34:31 +01:00
Mario Zechner
95d0806adc docs(coding-agent): add changelog entry for z.ai overflow
closes #1937
2026-03-08 00:22:44 +01:00
Mario Zechner
787f351ab7 feat(coding-agent): refine session_directory hook closes #1729 2026-03-08 00:19:35 +01:00
Helmut Januschka
7df89066d9 feat(coding-agent): add session_directory extension event
Adds a session_directory extension event that fires before session manager
creation, allowing extensions to customize the session directory path based
on cwd, git branch, or other context.

- Extensions can return a custom sessionDir in the event handler
- CLI --session-dir flag takes precedence over extension-provided paths
- If multiple extensions return a sessionDir, the last one wins
- Enables implementing branch-based sessions as an extension instead of core feature

This provides the extension point needed to implement git branch-based
session directories without adding the complexity to core.

Closes #1729
2026-03-08 00:19:35 +01:00
Mario Zechner
ade6a35e75 fix(ai): detect z.ai context overflow
closes #1937
2026-03-08 00:18:29 +01:00
Mario Zechner
d48843ea55 Pr 1724 (#1939)
* feat(coding-agent): add fold/unfold to tree branch navigation

Remap left/right arrow keys in the session tree to jump between branch
segment starts (first child of each branching point). Left on a foldable
node (root or segment start) folds it, hiding its descendants. Right on
a folded node unfolds it. Nested fold state is preserved. Search and
filter changes reset all folds.

Folded branches show ⊞ in the connector (├⊞/└⊞) or as a prefix for
roots. Active path marker • appears after the fold indicator.

Add Page Up/Down support for paging through the tree list, consistent
with session selector and config selector.

* feat(coding-agent): improve tree branch folding closes #1724

---------

Co-authored-by: Sviatoslav Abakumov <dust.harvesting@gmail.com>
2026-03-08 00:15:47 +01:00
Mario Zechner
41e02598f5 docs(tui): add changelog entry for slash autocomplete fix 2026-03-07 23:22:31 +01:00
Benjamin Rapaport
6937d2129e fix(tui): chain slash arg autocomplete after Tab completion
fixes #1437
2026-03-07 23:19:26 +01:00
github-actions[bot]
52bf3b515d chore: approve contributor drewburr 2026-03-07 22:12:03 +00:00
Mario Zechner
9a8bc61300 fix(tui,coding-agent): handle tmux xterm extended keys and warn on tmux setup fixes #1872 2026-03-07 23:01:48 +01:00
Aliou Diallo
e3decbcdd6 fix(tui): autocomplete highlight follows first prefix match as user types (#1931) 2026-03-07 19:03:42 +01:00
Aliou Diallo
e77e51e7ba fix(coding-agent): custom tool collapsed/expanded rendering in HTML export (#1934) 2026-03-07 19:01:33 +01:00
Mario Zechner
b279d03d33 Add [Unreleased] section for next cycle 2026-03-07 14:44:23 +01:00
Mario Zechner
3c3d63e161 Release v0.57.0 2026-03-07 14:43:35 +01:00
Mario Zechner
8f2d3ad85e chore(changelog): audit unreleased entries 2026-03-07 14:42:35 +01:00
Mario Zechner
bd751f0515 chore(coding-agent): add codex tool-loop cache probe 2026-03-07 14:34:28 +01:00
Mario Zechner
a3f05423d9 feat(coding-agent): add provider payload hook 2026-03-07 14:34:28 +01:00
Mario Zechner
e3adaf1bd9 fix(coding-agent): use strict JSONL framing fixes #1911 2026-03-07 14:34:27 +01:00
Nico Bailon
841c95ac9c feat(tui): add non-capturing overlays with focus control (#1916) 2026-03-07 14:19:16 +01:00
Mario Zechner
3e6e459cfc chore(coding-agent): close issue 1915
closes #1915
2026-03-07 12:22:14 +01:00
Mario Zechner
e80692bcb6 fix(coding-agent): keep ~/.agents skills user-scoped\n\ncloses #1915 2026-03-07 12:21:54 +01:00
github-actions[bot]
c99b9940e1 chore: approve contributor smithbm2316 2026-03-07 06:40:21 +00:00
Mario Zechner
1e52a687ae Add [Unreleased] section for next cycle 2026-03-06 17:07:29 +01:00
Mario Zechner
dd66b5cc3e Release v0.56.3 2026-03-06 17:06:42 +01:00
Mario Zechner
e1d2c355e2 docs: add missing changelog entries for #1871, #1878, and New Features section 2026-03-06 17:05:41 +01:00
Mario Zechner
bcfd5169a2 docs(coding-agent): document tool result truncation in compaction serialization 2026-03-06 16:58:16 +01:00