Commit Graph
100 Commits
Author SHA1 Message Date
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
Mario Zechner f0379384fe feat(coding-agent): prioritize project resources over global 2026-02-24 23:50:55 +01:00
Mario Zechner 380236a003 Add [Unreleased] section for next cycle 2026-02-23 01:57:06 +01:00
Mario Zechner 2417fc256f Release v0.54.2 2026-02-23 01:56:21 +01:00
Mario Zechner 0c61dd5873 fix(coding-agent): incremental highlight for streaming write tool calls 2026-02-23 01:52:30 +01:00
Mario Zechner 9e694f081a docs(coding-agent): add changelog entry for extension theme persistence (closes #1483) 2026-02-23 01:03:25 +01:00
Mario Zechner 34f841f036 Extend OSS vacation to March 2, 2026 2026-02-22 19:56:08 +01:00
Mario Zechner d34e8d80c4 docs(coding-agent): add built-in-tool-renderer to extensions README 2026-02-22 19:05:57 +01:00
Mario Zechner 316c2afe38 fix(coding-agent): fix git-update test using unparseable git source
The test used 'github.com/test/extension' as the git source, but
parseGitUrl() requires a 'git:' prefix for bare hostnames. Changed
to 'git:github.com/test/extension' so the source is correctly
parsed as a git type and update() actually runs.
2026-02-22 14:57:58 +01:00
Mario Zechner 21141e0040 docs(coding-agent): add built-in tool renderer extension example
Shows how to override rendering of read, bash, edit, write tools
with compact output while delegating execution to the originals.
2026-02-22 14:52:49 +01:00
Mario Zechner 7364696ae6 fix(coding-agent): prefer provider/model split over gateway model id matching
When resolving --model zai/glm-5, the resolver now correctly interprets
'zai' as the provider and 'glm-5' as the model id, rather than matching
a vercel-ai-gateway model whose id is literally 'zai/glm-5'.

If the provider/model split fails to find a match, falls back to raw id
matching to still support OpenRouter-style ids like 'openai/gpt-4o:extended'.
2026-02-22 14:40:36 +01:00
Mario Zechner de1560a7ba Add [Unreleased] section for next cycle 2026-02-22 14:35:28 +01:00
Mario Zechner 5563d8969a Release v0.54.1 2026-02-22 14:34:44 +01:00
Mario Zechner 19c6f641cf chore(ai): update generated models 2026-02-22 14:33:51 +01:00
Mario Zechner 8386a807ff fix(tui): externalize koffi from bun binary builds
Changed koffi import from top-level to dynamic require in
enableWindowsVTInput() and added --external koffi to bun build.
This prevents embedding all 18 platform .node files (~74MB) into
every compiled binary. For Windows builds, only the win32_x64
koffi.node is shipped alongside the binary.

Binary size reduction: darwin-arm64 142MB -> 67MB, archive 43MB -> 28MB.
2026-02-22 14:29:21 +01:00
Mario Zechner 3a3e37d390 Add [Unreleased] section for next cycle 2026-02-20 00:18:31 +01:00
Mario Zechner 76b02a81b1 Release v0.54.0 2026-02-20 00:17:44 +01:00
Mario Zechner 39cbf47e42 feat(coding-agent): discover skills in .agents paths by default 2026-02-20 00:15:53 +01:00
Mario Zechner 7207c16c84 docs(coding-agent): fix 0.53.1 changelog model provider summary 2026-02-19 20:52:12 +01:00
Mario Zechner 5706e66ae0 Add [Unreleased] section for next cycle 2026-02-19 20:34:59 +01:00
Mario Zechner 18ea1ed997 Release v0.53.1 2026-02-19 20:34:16 +01:00
Mario Zechner 18c7ab8a47 chore(models): update Gemini 3.1 provider catalogs and antigravity opus 4.6 2026-02-19 20:33:27 +01:00
Mario Zechner 4ba3e5be22 Add [Unreleased] section for next cycle 2026-02-17 20:04:38 +01:00
Mario Zechner ce1410b01d Release v0.53.0 2026-02-17 20:03:50 +01:00
Mario Zechner 312af81eb1 docs(ai): add claude sonnet 4.6 unreleased changelog entry 2026-02-17 20:02:59 +01:00
Mario Zechner 6e4680d1f2 docs(coding-agent): add claude sonnet 4.6 changelog note 2026-02-17 20:01:32 +01:00
Mario Zechner b9a2b6cc5f docs(coding-agent): clarify AuthStorage constructor breaking change 2026-02-17 20:00:45 +01:00
Mario Zechner 0245b524e9 feat(ai): add claude sonnet 4.6 model fallback 2026-02-17 19:59:09 +01:00
Mario Zechner 65a3b2872d merge: auth storage backend refactor 2026-02-17 19:57:32 +01:00
Mario Zechner 2977c14917 refactor(coding-agent): move auth storage to backend abstraction 2026-02-17 19:57:21 +01:00
Mario Zechner 0a6b0b8fb0 merge: settings manager storage refactor 2026-02-17 00:08:42 +01:00
Mario Zechner de2736bad0 refactor(coding-agent): improve settings storage semantics and error handling 2026-02-17 00:08:32 +01:00
Mario Zechner 5133697bc4 Extend OSS vacation to February 23, 2026 2026-02-16 09:16:00 +01:00
Mario Zechner 6312fc2e42 Add [Unreleased] section for next cycle 2026-02-13 23:43:35 +01:00
Mario Zechner 479eedd46f Release v0.52.12 2026-02-13 23:42:49 +01:00
Mario Zechner a26a9cfabd feat: add configurable transport and codex websocket session caching 2026-02-13 23:41:49 +01:00
Mario Zechner 9537919a49 Release v0.52.11 2026-02-13 21:58:59 +01:00
Mario Zechner 130c23e6c7 chore(models): add MiniMax M2.5 entries across providers 2026-02-13 21:57:21 +01:00
Mario Zechner bd040072d3 Cleanup 2026-02-12 22:56:33 +01:00
Mario Zechner d0543d3c18 Add [Unreleased] section for next cycle 2026-02-12 22:19:30 +01:00
Mario Zechner 2668a1125d Release v0.52.10 2026-02-12 22:18:43 +01:00
Mario Zechner 460b891470 chore(changelog): audit unreleased entries since v0.52.9 2026-02-12 22:17:24 +01:00
Mario Zechner 0adce69b3b fix(coding-agent): tighten git source parsing and local path normalization (fixes #1426) 2026-02-12 21:28:06 +01:00
Mario Zechner 31f765ff1b fix(tui): scope @ fuzzy search to path prefixes\n\ncloses #1423 2026-02-12 21:26:47 +01:00
Mario Zechner ed0cfcbda2 fix(ai): tolerate malformed trailing tool-call JSON in OpenAI streams closes #1424 2026-02-12 21:09:42 +01:00
Mario Zechner 2a29a82464 fix(web-ui): make model selector search case-insensitive (fixes #1443) 2026-02-12 20:50:39 +01:00
Mario Zechner fb83307092 feat(ai): add gpt-5.3-codex-spark model definition
Added to both OpenAI API and OpenAI Codex (ChatGPT OAuth) providers.
128k context window, text-only, research preview with zero cost.
Not yet functional via pi, may become available in the next few hours or days.
2026-02-12 20:49:03 +01:00
Mario Zechner ce2ba29333 fix(coding-agent): clear extension terminal input listeners on reset
closes #1293
2026-02-12 20:45:33 +01:00
Mario Zechner 6da488a5aa docs(coding-agent): add #1375 changelog entry and extension event docs fixes #1375 2026-02-12 20:34:24 +01:00
Mario Zechner 4793f7c92d fix(coding-agent): make resolveCliModel sync, update docs and changelog 2026-02-12 19:04:51 +01:00
Mario Zechner 7ccf809a5d chore(ai): add changelog entry for copilot claude messages routing 2026-02-12 18:53:04 +01:00
Mario Zechner 7eb969ddb1 fix(coding-agent): show unknown context usage after compaction, fix multi-compaction boundary
After compaction, context token count is unknown until the next LLM
response. Instead of showing stale pre-compaction values or heuristic
estimates, the footer now shows ?/200k.

ContextUsage.tokens and ContextUsage.percent are now number | null
(breaking change). Removed usageTokens, trailingTokens, lastUsageIndex
from ContextUsage (internal details).

Also fixed _checkCompaction() using .find() (first compaction) instead
of getLatestCompactionEntry() (latest), which caused incorrect overflow
detection with multiple compactions.

Closes #1382
2026-02-12 18:35:09 +01:00
Mario Zechner 1e88c5e463 feat(ai): add generic metadata field to StreamOptions, closes #1384
Add metadata?: Record<string, unknown> to StreamOptions so providers
can extract fields they understand. Anthropic provider extracts user_id
for abuse tracking and rate limiting. Other providers ignore it.

Based on #1384 by @7Sageer, reworked to use a generic type instead of
Anthropic-specific typing on the base interface.
2026-02-12 17:39:03 +01:00
Mario Zechner fdcd9ab783 Add [Unreleased] section for next cycle 2026-02-09 00:17:28 +01:00
Mario Zechner cc3eaee560 Release v0.52.9 2026-02-09 00:16:45 +01:00
Mario Zechner c26505c55d chore(changelog): audit unreleased entries before patch release 2026-02-09 00:15:55 +01:00
Mario Zechner f405018d51 docs(coding-agent): add custom provider example references 2026-02-09 00:02:47 +01:00
Mario Zechner c85050bb30 docs(coding-agent): add changelog entry for local extension path parsing fix 2026-02-08 23:52:53 +01:00
Mario Zechner 88ac5ca1d9 fix(coding-agent): treat dot-prefixed extension paths as local 2026-02-08 23:52:23 +01:00
Mario Zechner ed9255d3bd ai: update Antigravity system instruction to compact version, fix flaky tool test
- Replace verbose ANTIGRAVITY_SYSTEM_INSTRUCTION with compact version from CLIProxyAPI
- Replace bridgePrompt override with [ignore] wrapper pattern
- Switch Antigravity Gemini test model from gemini-3-flash to gemini-3-pro-high
- Rename calculator tool to math_operation (gemini-3-pro ignores schema for 'calculator')

closes #1415
2026-02-08 23:37:09 +01:00
Mario Zechner b95ae431ca Remove OlivierBarbier from APPROVED_CONTRIBUTORS 2026-02-08 23:14:23 +01:00
Mario Zechner 5b36cacaf3 feat(coding-agent): add -ne, -ns, -np aliases for --no-extensions, --no-skills, --no-prompt-templates 2026-02-08 23:02:01 +01:00
Mario Zechner afb7e5ed4c feat(coding-agent): show tool input schema in /export HTML
Include tool parameter names, types, descriptions in a collapsible
section under each tool in the export HTML. Also adds parameters to
pi.getAllTools() return value.

closes #1407, closes #1416
2026-02-08 22:58:46 +01:00
Mario Zechner 83931c53fd docs(coding-agent): add changelog entry for rg startup download 2026-02-08 22:58:01 +01:00
Mario Zechner a6cd254471 fix(coding-agent): ensure rg is downloaded at startup alongside fd
rg was only downloaded lazily when the grep tool was invoked, but the
LLM often uses rg directly via the bash tool. Ensure both fd and rg
are downloaded at startup so they are available in PATH for all tools.

fixes #1348
2026-02-08 22:56:28 +01:00
Mario Zechner 5d361f4719 chore: audit and update changelog entries for v0.52.8..HEAD 2026-02-08 22:50:53 +01:00
Mario Zechner 1caadb2e2a fix(ai): use parametersJsonSchema for Google tool declarations, revert Antigravity opus model
- Use parametersJsonSchema instead of parameters for Gemini tool declarations
  to support full JSON Schema (anyOf, oneOf, const, etc.)
- Keep legacy parameters field for Claude models on Cloud Code Assist, where
  the API translates parameters into Anthropic's input_schema
- Revert claude-opus-4-6-thinking back to claude-opus-4-5-thinking (model
  doesn't exist on the Antigravity endpoint)

fixes #1398
2026-02-08 15:53:17 +01:00
Mario Zechner 82caf064e0 fix(coding-agent): use tar instead of unzip for .zip extraction on Windows
Windows does not ship with unzip, causing fd/rg download to fail on
first run in PowerShell. Use tar (bsdtar, available on Windows 10+)
for both .tar.gz and .zip extraction. Also adds proper error checking
on the extraction result.

fixes #1348
2026-02-08 15:53:17 +01:00
Mario Zechner e1b56c1d28 feat(coding-agent): add ctx.reload and reload-runtime example closes #1371 2026-02-08 15:34:47 +01:00
Mario Zechner 2c3f624348 fix(ai): correct opencode context windows for Claude Sonnet 4/4.5
fixes #1383
2026-02-08 14:35:07 +01:00
Mario Zechner d58d2c2da1 Add [Unreleased] section for next cycle 2026-02-07 17:51:07 +01:00
Mario Zechner f06d31ae41 Release v0.52.8 2026-02-07 17:50:24 +01:00
Mario Zechner f1335e9c50 docs: add missing changelog entries for commits since v0.52.7 2026-02-07 17:49:30 +01:00
Mario Zechner 310da43042 fix(coding-agent): refresh temporary git extension caches on cache hits 2026-02-06 22:01:49 +01:00
Mario Zechner 92fdb53c10 fix(coding-agent): run extension shutdown via clean TUI shutdown path 2026-02-06 21:37:35 +01:00
Mario Zechner d39faa72d3 Add [Unreleased] section for next cycle 2026-02-06 19:20:32 +01:00
Mario Zechner 4eb15a9d11 Release v0.52.7 2026-02-06 19:19:46 +01:00
Mario Zechner 4238b07b4e Merge branch 'pr-1332-fixups'
# Conflicts:
#	packages/ai/CHANGELOG.md
2026-02-06 19:18:38 +01:00
Mario Zechner 6b2d8a77b2 (chore) Changelog update 2026-02-06 19:16:35 +01:00
Mario Zechner c855a77c58 docs(coding-agent): add unreleased new features summary 2026-02-06 19:15:26 +01:00
Mario Zechner 76a6a74517 feat(coding-agent): merge custom models with built-ins by id 2026-02-06 19:15:26 +01:00
Mario Zechner ddd5a65c7e fix(coding-agent): handle compromised auth lock without crashing
closes #1322
2026-02-06 19:15:26 +01:00
Mario Zechner e9749f3067 docs(coding-agent): add unreleased new features summary 2026-02-06 19:14:27 +01:00