Commit Graph
100 Commits
Author SHA1 Message Date
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
Mario Zechner 83b57924a0 fix(coding-agent): resolve extension aliases without require.resolve 2026-03-04 21:18:45 +01:00
Mario Zechner 668ebc0941 fix(ai): replace Function-based dynamic imports with module imports (fixes #1814) 2026-03-04 20:50:14 +01:00
Mario Zechner 0199abfd11 fix(binary): preload Bedrock provider module for Bun bundle
refs #1814
2026-03-04 20:47:41 +01:00
Mario Zechner 12cec4f162 fix(coding-agent): build binary with freshly built workspace deps 2026-03-04 20:36:27 +01:00
Mario Zechner c0d706bf32 fix(extensions): alias pi-ai oauth subpath in jiti loader 2026-03-04 20:31:57 +01:00
Mario Zechner 392fbc73cd fix(dev): map pi-ai oauth subpath in tsconfig paths 2026-03-04 20:30:10 +01:00
Mario Zechner 9673f52919 fix(tui): render blockquote list content correctly
closes #1787
2026-03-04 20:25:55 +01:00
Mario Zechner e0754fdbb3 fix(ai,coding-agent): make pi-ai browser-safe and move OAuth runtime exports
- add browser smoke bundling check to root check + pre-commit

- lazy-load Bedrock provider registration to avoid browser graph traversal

- remove top-level OAuth runtime exports from @mariozechner/pi-ai

- add @mariozechner/pi-ai/oauth subpath export and update coding-agent imports

- move proxy dispatcher init to coding-agent CLI (Node-only)

- document Bedrock/OAuth browser limitations

closes #1814
2026-03-04 20:21:25 +01:00
Mario Zechner 2af0c98b5f fix(ai): support gemini-3.1 flash-lite and thinking matching
closes #1785
2026-03-04 20:17:58 +01:00
Mario Zechner e64cd15c25 fix(coding-agent): preserve session thinking for scoped model cycling
closes #1789
2026-03-04 19:51:55 +01:00
Mario Zechner 4cb1a56b53 fix(tui,coding-agent): add OSC 133 user message markers support closes #1805 2026-03-04 18:33:22 +01:00
Mario Zechner 689e7b4ac2 fix(tui): make single-line paste atomic to avoid @ autocomplete lag
closes #1812
2026-03-04 18:25:37 +01:00
Mario Zechner 49749407fa fix(tui): ignore unsupported Kitty CSI-u modifiers closes #1807 2026-03-04 18:14:29 +01:00
Mario Zechner 8e157412a6 Update AGENTS.md 2026-03-04 18:06:26 +01:00
Mario Zechner 6b4b920425 fix(coding-agent): stop overflow auto-compaction cascades
fixes #1319
2026-03-03 17:19:42 +01:00
Mario Zechner 7b96041068 fix(ai): map groq qwen3 reasoning effort values closes #1745 2026-03-03 16:44:42 +01:00
Mario Zechner 42579dd923 feat(ai,coding-agent): add OpenCode Go provider support closes #1757 2026-03-03 16:02:29 +01:00
Mario Zechner 1912f0336b fix(coding-agent): allow model-level baseUrl override in models.json closes #1777 2026-03-03 15:46:58 +01:00
Mario Zechner 7bd4c45d81 fix(ai,coding-agent): update antigravity gemini 3.1 models and headers
fixes #1761
2026-03-03 14:54:43 +01:00
Mario Zechner 76a191c264 fix(scripts): make npm scripts cross-platform with shx (closes #1771) 2026-03-03 14:26:01 +01:00
Mario Zechner c65de34e11 Add [Unreleased] section for next cycle 2026-03-02 23:25:10 +01:00
Mario Zechner 9a53d950c4 Release v0.55.4 2026-03-02 23:24:27 +01:00
Mario Zechner 8903299074 fix(coding-agent): close retry wait race across queued events (from #1726) 2026-03-02 23:20:16 +01:00
Mario Zechner 2e7ec46176 docs(coding-agent): add unreleased new features section 2026-03-02 23:08:08 +01:00
Mario Zechner 5ec0540bf4 Update README.md 2026-03-02 23:00:29 +01:00
Mario Zechner a2b52f5cee OSS vacation off 2026-03-02 23:00:15 +01:00
Mario Zechner 8e06afbf34 chore(coding-agent): add changelog entry for PR #1719\n\ncloses #1719 2026-03-02 22:59:32 +01:00
Mario Zechner 7b7b967aef merge: PR #1719 for local testing 2026-03-02 22:54:58 +01:00
Mario Zechner 8032a302e9 docs(coding-agent): fix changelog attribution format 2026-03-02 22:52:55 +01:00
Mario Zechner e18c74dda0 docs(coding-agent): reference #1237 in changelog attribution 2026-03-02 22:51:36 +01:00
Mario Zechner 8344f3da49 docs(coding-agent): add changelog attribution for #1720 2026-03-02 22:51:00 +01:00