Commit Graph
100 Commits
Author SHA1 Message Date
Mario Zechner 83e8c88a2e docs: add missing changelog entries for v0.58.0..HEAD 2026-03-14 12:38:33 +01:00
Mario Zechner ad48b52de4 fix(ai): align codex websocket headers and terminate SSE closes #1961 2026-03-14 12:23:17 +01:00
Mario Zechner 1feccfedcb fix(coding-agent): handle WSL clipboard image fallback\n\nCloses #1722 2026-03-14 06:07:38 +01:00
Mario Zechner 80ca61a1c4 fix(coding-agent): start UI before session_start closes #2035 2026-03-14 05:48:38 +01:00
Mario Zechner c3fc724887 fix(coding-agent): add uninstall alias
closes #2051
2026-03-14 05:44:47 +01:00
Mario Zechner 1a4d153d7a fix(ai): limit Bedrock prompt caching to Claude models\n\ncloses #2053 2026-03-14 05:20:41 +01:00
Mario Zechner 03ad7ecee7 fix(ai): add qwen-chat-template compat mode closes #2020 2026-03-14 05:20:27 +01:00
Mario Zechner c961cda2cd fix(ai): harden Bedrock unsigned thinking replay closes #2063 2026-03-14 05:06:14 +01:00
Mario Zechner a0396e1f9b fix(coding-agent): silence headless clipboard fallback errors closes #2056 2026-03-14 05:05:07 +01:00
Mario Zechner bdf2419ac3 fix(coding-agent): honor provider compat in models.json closes #2062 2026-03-14 04:55:03 +01:00
Mario Zechner 62064b2b64 fix(ai): support xhigh for opus 4.6 by model id closes #2040 2026-03-14 04:55:03 +01:00
Mario Zechner 7ddaf150d6 fix(coding-agent): support configurable npm wrapper command closes #2072 2026-03-14 04:38:01 +01:00
Mario Zechner ad32089f0c fix(tui): preserve literal paste content closes #2064 2026-03-14 04:34:40 +01:00
Mario Zechner a8e3c829fa fix(coding-agent): stop skill recursion at root closes #2075 2026-03-14 04:18:28 +01:00
Mario Zechner acb0f4d807 fix(tui): preserve ./ prefix in tab completion, closes #2087 2026-03-14 04:12:38 +01:00
Mario Zechner b6181bed92 fix(coding-agent): expand paste markers in ctx.ui.getEditorText(), closes #2084 2026-03-14 04:08:24 +01:00
Mario Zechner a79ca41190 fix(ai): handle unknown finish_reason in openai-completions gracefully
Map unknown finish_reason values (e.g. "end" from Ollama/LM Studio) to
"stop" instead of throwing, since assistant content is already produced.

fixes #2142
2026-03-14 04:01:22 +01:00
Mario Zechner 9c0ba357ad fix(tui): distinguish ctrl+backspace from backspace on Windows Terminal
0x08 (BS) was treated as plain backspace alongside 0x7f (DEL). On
Windows Terminal, Backspace sends 0x7f and Ctrl+Backspace sends 0x08,
making ctrl+backspace bindings unreachable.

Now 0x08 matches ctrl+backspace (and ctrl+h, same byte) but not plain
backspace. 0x7f remains plain backspace.

fixes #2139
2026-03-14 03:58:28 +01:00
Mario Zechner 5c9ce47c53 fix(coding-agent): fix startup crash when downloading fd/ripgrep on first run
Use pipeline() instead of finished(readable.pipe(writable)) so stream
errors from abort signals are caught as promise rejections. Increase
download timeout from 10s to 120s for multi-MB archives.

closes #2066
2026-03-14 03:57:59 +01:00
Mario Zechner b90f69297b Add [Unreleased] section for next cycle 2026-03-14 03:39:42 +01:00
Mario Zechner c00653255d Release v0.58.0 2026-03-14 03:29:31 +01:00
Mario Zechner 27f8835a7f chore: add missing changelog entries for commits since v0.57.1 2026-03-14 03:27:48 +01:00
Mario Zechner c7309aedac fix(ai): replace curl with fetch in Anthropic OAuth token exchange 2026-03-14 03:21:08 +01:00
Mario Zechner 9b794558c6 chore(ai): refresh generated models 2026-03-14 03:11:15 +01:00
Mario Zechner 63ac2df24d fix(coding-agent): sync tool hooks with agent event processing closes #2113 2026-03-14 03:10:04 +01:00
Mario Zechner 933348593c fix(ai): send tool result images in function_call_output closes #2104 2026-03-14 00:49:40 +01:00
Mario Zechner 4aa25bfb72 docs(agent,ai): clarify non-throwing stream and hook contracts 2026-03-13 22:54:41 +01:00
Mario Zechner ea1a1f8266 docs(agent): clarify non-throwing stream contracts fixes #2119 2026-03-13 22:49:27 +01:00
Mario Zechner 7506b8e9ba fix(agent): remove broken async loop test 2026-03-13 22:48:55 +01:00
Mario Zechner 92882dc4cc fix(ai): improve anthropic oauth flow fixes #2119 2026-03-13 22:38:34 +01:00
Mario Zechner 4b9e6006fa fix(coding-agent): keep only ISO date in system prompt closes #2131 2026-03-13 21:07:03 +01: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
Mario Zechner aaeb2d8208 fix(tui): handle wide unicode input scrolling closes #1982 2026-03-09 17:51:38 +01: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
Mario Zechner ade6a35e75 fix(ai): detect z.ai context overflow
closes #1937
2026-03-08 00:18:29 +01:00
Mario ZechnerandSviatoslav Abakumov 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
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
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
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
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
Mario Zechner d1a17bbae5 fix(coding-agent): guard against stale kept pre-compaction usage in error-path threshold check 2026-03-06 16:57:14 +01:00
Mario Zechner c950c692a1 fix(coding-agent): truncate tool results in compaction summarization to prevent overflow, fixes #1796 2026-03-06 16:57:14 +01:00
Mario Zechner d8e3998d6e docs(coding-agent): add changelog entry for #1838 2026-03-06 16:42:43 +01:00
Mario Zechner 15b36cbee1 feat(coding-agent): preserve custom editor onEscape/onCtrlD handlers
Only set app-level handlers on custom editors if they haven't defined
their own. This allows custom editors (e.g. vim mode) to implement
custom escape handling instead of being overwritten.

Closes #1838
2026-03-06 16:41:12 +01:00
Mario Zechner b8910f13ad fix(coding-agent): allow threshold compaction for error messages using last successful usage, fixes #1834 2026-03-06 16:26:11 +01:00
Mario Zechner 25c145142d docs(coding-agent): add changelog entry for #1860 2026-03-06 16:18:02 +01:00
Mario Zechner d5c18e0248 fix(coding-agent): ignore stale pre-compaction assistant usage in threshold compaction checks, fixes #1860 2026-03-06 16:17:38 +01:00
Mario Zechner 58f8fcd8f1 fix(coding-agent): retry sync lockfile acquisition to prevent false auth errors during parallel startup
Add manual retry loop (10 attempts, 20ms delay) around lockfile.lockSync()
in FileAuthStorageBackend and FileSettingsStorage. Previously, concurrent
pi processes would fail immediately on ELOCKED, causing auth.json to load
as empty and surfacing misleading 'No API key found' errors.

fixes #1871
2026-03-06 16:04:01 +01:00
Mario Zechner bdf482cefc fix(tui): add modifyOtherKeys fallback for modified enter keys in tmux
When Kitty keyboard protocol is not available (e.g. inside tmux), fall
back to xterm modifyOtherKeys mode 2 so that Shift+Enter, Ctrl+Enter,
and other modified keys are distinguishable from plain Enter.

tmux users need to add to ~/.tmux.conf:
  set -g extended-keys on
  set -g extended-keys-format csi-u

closes #1872
2026-03-06 16:02:17 +01:00
Mario Zechner cb6aef2ffb fix(coding-agent): preserve thinking defaults across model switches closes #1864 2026-03-06 15:14:53 +01:00
Mario Zechner b079003cf6 docs(coding-agent): clarify that tool errors must be thrown, not returned
Returning { isError: true } from a tool's execute function was silently
ignored - the agent loop only sets isError via the catch block. Fix the
with-deps example to throw instead, add a clear note in the Tool Definition
docs section, and update the Error Handling summary.

closes #1881
2026-03-06 14:36:27 +01:00
Mario Zechner e4172e68d0 feat(ai): add claude-sonnet-4-6 to Antigravity, fix Claude thinking header detection, bump UA to 1.18.4
closes #1859
2026-03-06 13:27:35 +01:00
Mario Zechner b13e080113 fix(coding-agent): clear header on /new closes #1880 2026-03-06 12:52:02 +01:00
Mario Zechner b4e7d5c445 fix(ai): restore OpenAI Responses reasoning replay closes #1878 2026-03-06 12:39:55 +01:00
Mario Zechner b14c359289 Add [Unreleased] section for next cycle 2026-03-06 00:42:35 +01:00
Mario Zechner 45a8499c8f Release v0.56.2 2026-03-06 00:41:33 +01:00
Mario Zechner 4110d93369 docs(changelog): audit unreleased entries 2026-03-06 00:39:41 +01:00
Mario Zechner 84655e814c fix(coding-agent): prefer workspace dist files for extension aliases 2026-03-06 00:39:13 +01:00
Mario Zechner 9bcf06c056 fix(tui): add Kitty CSI-u printable decoding to Input component, closes #1857 2026-03-06 00:33:58 +01:00
Mario Zechner 863135d429 fix(ai): keep mistral browser-safe 2026-03-06 00:16:18 +01:00
Mario Zechner a31065166d Merge branch 'feat/use-mistral-sdk' 2026-03-05 23:49:29 +01:00
Mario Zechner 4c175790b1 fix(ai): preserve mistral thinking replay 2026-03-05 23:49:18 +01:00
Mario Zechner 0573612a89 fix(ai,coding-agent): simplify oauth subpath exports closes #1856 2026-03-05 23:28:56 +01:00
Mario Zechner a74b18ca5a docs(changelog): add gpt-5.4 entries 2026-03-05 23:07:43 +01:00
Mario Zechner 8e77bb3272 merge: add gpt-5.4 support and cap context windows to 272k 2026-03-05 23:00:34 +01:00
Mario Zechner 16ec7de29c fix(ai): cap gpt-5.4 context windows to 272k 2026-03-05 22:57:20 +01:00
Mario Zechner 7aed39063b docs(coding-agent): add changelog entry for CRLF write preview fix (#1854) 2026-03-05 22:37:28 +01:00
Mario Zechner daaabbeac5 fix(coding-agent): normalize CRLF in write preview rendering (fixes #1854) 2026-03-05 22:35:26 +01:00
Mario Zechner a0d839ce84 fix(ai): use skip_thought_signature_validator for unsigned Gemini 3 tool calls
Replace text fallback with the official sentinel value so unsigned function
calls retain structured context in multi-turn conversations.

closes #1829
2026-03-05 22:04:00 +01:00
Mario Zechner cfbb15876a fix(ai): antigravity endpoint cascade on 403/404, add autopush fallback, strip extra headers
closes #1830
2026-03-05 21:59:43 +01:00
Mario Zechner 8f2af2ae7e feat(ai): add github-copilot gpt-5.3-codex fallback closes #1853 2026-03-05 21:47:52 +01:00
Mario Zechner 8fc2b76827 fix(ai): omit empty OpenAI Responses thinking blocks on replay 2026-03-05 21:28:16 +01:00
Mario Zechner 87d71380e2 fix(ai): preserve OpenAI Responses assistant phase across turns closes #1819 2026-03-05 21:13:06 +01:00
Mario Zechner 3de8c48692 fix(coding-agent): make footer truncation width-aware
Use visibleWidth/truncateToWidth for footer path and stats truncation so wide Unicode text cannot overflow terminal width.

Add regression tests for wide session/model/provider names and document the fix in changelog.

closes #1833
2026-03-05 20:45:04 +01:00
Mario Zechner dabcda0db3 fix(tui): full redraw on terminal width/height resize\n\ncloses #1844 2026-03-05 20:27:37 +01:00
Mario Zechner 3daf72d720 docs(coding-agent): clarify models.json name behavior (fixes #1840) 2026-03-05 20:16:28 +01:00
Mario Zechner 708ce9d4ce Add [Unreleased] section for next cycle 2026-03-05 07:14:13 +01:00
Mario Zechner ab00c80892 Release v0.56.1 2026-03-05 07:13:27 +01:00
Mario Zechner da915ddb99 chore(changelog): add unreleased entries for post-v0.56.0 fixes 2026-03-05 07:12:35 +01:00
Mario Zechner f430dce00a fix(tui): isolate blockquote rendering from default text style 2026-03-04 21:30:54 +01:00
Mario Zechner 3e611c135b Add [Unreleased] section for next cycle 2026-03-04 21:24:33 +01:00
Mario Zechner e39c7d163b Release v0.56.0 2026-03-04 21:23:47 +01:00
Mario Zechner cefb17dbd7 docs(changelog): add missing unreleased entries after v0.55.4 2026-03-04 21:19:14 +01:00