Commit Graph
100 Commits
Author SHA1 Message Date
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
Mario Zechner 8d4a49487a fix(coding-agent): add tool promptGuidelines support fixes #1720 2026-03-02 22:50:08 +01:00
Mario Zechner bc2fa8d6d0 fix(coding-agent): support dynamic tool registration and tool prompt snippets closes #1720 2026-03-02 22:32:07 +01:00
Mario Zechner ca5510158d Restore approved contributors 2026-03-02 20:50:49 +01:00
Mario Zechner dfc779faab fix(coding-agent): serialize session event handling to preserve message order (fixes #1717) 2026-03-02 20:48:22 +01:00
Mario Zechner 062f7ff52d docs(mom): add changelog entry for settings manager fix
closes #1444
2026-03-02 19:43:35 +01:00
Mario Zechner 105e296b69 chore(ai): update generated models data 2026-03-02 19:41:38 +01:00
Mario Zechner 46bfa7931e refactor(mom): use SettingsManager with workspace storage
fixes #1444
2026-03-02 19:41:38 +01:00
Mario Zechner 95276df060 Add [Unreleased] section for next cycle 2026-02-27 22:54:44 +01:00
Mario Zechner 9d68043cbc Release v0.55.3 2026-02-27 22:54:03 +01:00
Mario Zechner af85b715db chore(coding-agent): add changelog entry for windows image paste keybinding closes #1682 2026-02-27 22:51:51 +01:00
Mario Zechner edca5dd769 Add [Unreleased] section for next cycle 2026-02-27 22:26:46 +01:00
Mario Zechner 10180037d2 Release v0.55.2 2026-02-27 22:26:00 +01:00
Mario Zechner 15e0a74a3c docs: audit and add missing changelog entries for v0.55.1..HEAD 2026-02-27 22:25:03 +01:00
Mario Zechner 2f64df1e52 fix(coding-agent): prevent duplicate session headers when forking from pre-assistant entry
createBranchedSession() wrote the file and set flushed=true even when the
branched path had no assistant message. The next _persist() call saw no
assistant, reset flushed=false, and the subsequent flush appended all
in-memory entries to the already-populated file, duplicating the header
and entries.

Fix: defer file creation when the branched path has no assistant message,
matching the newSession() contract. _persist() creates the file on the
first assistant response.

closes #1672
2026-02-27 22:18:26 +01:00
Mario Zechner 9825c13f5f fix(ai): handle redacted_thinking blocks, skip interleaved beta for adaptive models, drop temperature with thinking
- Map redacted_thinking to ThinkingContent with redacted: true instead of
  adding a new content type. The opaque payload goes in thinkingSignature,
  thinking text is set to "[Reasoning redacted]" so it renders naturally
  everywhere. Cross-model transform drops redacted blocks.
- Skip interleaved-thinking-2025-05-14 beta header for Opus 4.6 / Sonnet 4.6
  where adaptive thinking makes it deprecated/redundant.
- Do not send temperature when thinkingEnabled is true (incompatible with
  both adaptive and budget-based thinking).

Based on #1665 by @tctev
2026-02-27 21:53:25 +01:00
Mario Zechner afe9ae06e8 Closes #1671, switch to GLM-5 for tests 2026-02-27 21:35:40 +01:00
Mario Zechner 187a99c720 docs(ai): add changelog entry for Z.ai thinking fix #1674 2026-02-27 21:33:42 +01:00
Mario Zechner 8880cd3cb8 Manual merge of #1677 2026-02-27 21:27:55 +01:00
Mario Zechner 3dcb3c1c77 Merge branch 'pr-1669-fixes'
# Conflicts:
#	package-lock.json
#	packages/ai/CHANGELOG.md
#	packages/coding-agent/CHANGELOG.md
2026-02-27 21:04:00 +01:00
Mario Zechner 2f55890452 fix(coding-agent,ai): finalize provider unregister lifecycle and dependency security updates fixes #1669 2026-02-27 21:00:25 +01:00
Mario Zechner 9a0a8d7ccb Add [Unreleased] section for next cycle 2026-02-26 01:10:55 +01:00
Mario Zechner a753e24135 Release v0.55.1 2026-02-26 01:10:09 +01:00
Mario Zechner a27ea5b9e2 docs(changelog): cover upstream unreleased ai and coding-agent entries 2026-02-26 01:13:32 +01:00
Mario Zechner b2983c483e docs(changelog): audit unreleased entries and add missing items 2026-02-26 01:11:34 +01:00
Mario Zechner 43c3c99dde chore: add repository .gitattributes for line ending normalization 2026-02-26 01:11:34 +01:00
Mario Zechner 4939434997 fix(coding-agent): handle typebox alias path separators on windows 2026-02-26 00:28:23 +01:00
Mario Zechner 3db5715de4 fix(coding-agent): harden fd/rg bootstrap on windows
fixes #1348
2026-02-26 00:19:43 +01:00
Mario Zechner ef8c950357 docs(changelog): add unreleased coding-agent fix entries closes #1631 closes #1627 2026-02-25 23:45:31 +01:00
Mario Zechner 333ded7f26 docs: skip generated model catalog changes in changelog audit prompt 2026-02-25 23:42:57 +01:00
Mario Zechner 5c0ec26c28 Add [Unreleased] section for next cycle 2026-02-24 23:52:43 +01:00
Mario Zechner d3232c2e9e Release v0.55.0 2026-02-24 23:52:01 +01:00