Commit graph

3011 commits

Author SHA1 Message Date
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
Yoshiaki Okuyama
22b3be834e
fix(ai): use enable_thinking for Z.ai instead of thinking param (#1674)
Z.ai uses the same enable_thinking: boolean parameter as Qwen to control reasoning, not thinking: { type: "enabled" | "disabled" }.

The wrong parameter name means Z.ai ignores the disable request and always runs with thinking enabled, wasting tokens and adding latency.

Merge the Z.ai and Qwen branches since they use the same format.

PR by @okuyam2y
2026-02-27 21:33:14 +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
Aliou Diallo
0b4dea466d
fix(coding-agent): ignore SIGINT while process is suspended (#1668)
Add a no-op SIGINT handler before sending SIGTSTP in handleCtrlZ().
Remove it on SIGCONT. Prevents Ctrl+C from killing the backgrounded
process.
2026-02-27 13:51:45 +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
Nader Dabit
40a8706bb9
fix syntax for initializing AuthStorage in docs (#1539) 2026-02-26 00:35:13 +01:00
tctev
e9d0074fa6
fix(ai): enable adaptive thinking for sonnet 4.6 and clamp xhigh effort (#1548)
* fix(ai): enable adaptive thinking for sonnet 4.6 and clamp xhigh effort

* chore(ai): drop changelog edit from contribution

---------

Co-authored-by: tctev <224793535+tctev@users.noreply.github.com>
2026-02-26 00:34:06 +01:00
jeremiahgaylord-web
cf656c169c
fix(ai): don't cache false for Vertex ADC credentials during async import race (#1550)
`hasVertexAdcCredentials()` uses dynamic imports to load `node:fs`,
`node:os`, and `node:path` to avoid breaking browser/Vite builds. These
imports are fired eagerly but resolve asynchronously. If the function is
called during gateway startup before those promises resolve, `_existsSync`,
`_homedir`, and `_join` are still null — causing the function to cache
`false` permanently and never re-evaluate.

This means users with valid `GOOGLE_APPLICATION_CREDENTIALS`,
`GOOGLE_CLOUD_PROJECT`, and `GOOGLE_CLOUD_LOCATION` configured are silently
treated as unauthenticated for Vertex AI. Calls fall back to the AI Studio
endpoint (generativelanguage.googleapis.com) which has much stricter rate
limits, causing unexpected 429 errors even though Vertex credentials are
correctly configured.

Fix: in Node.js/Bun environments, return false without caching when the
async modules aren't loaded yet, so the next call retries. Only cache false
permanently in browser environments where `fs` is genuinely unavailable.

Co-authored-by: Jeremiah Gaylord <jeremiahgaylord-web@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 00:31:16 +01:00
Tianshu Wang
7390f830de
fix(subagent): use getAgentDir for user agents path (#1559) 2026-02-26 00:22:42 +01:00
audichuang
96cf7425ca
feat(ai): add gemini-3.1-pro-preview to google-gemini-cli provider (#1599)
Add Gemini 3.1 Pro Preview model to the Cloud Code Assist (google-gemini-cli)
provider for parity with the google and google-vertex providers that already
include this model.

Tested and confirmed working via the Cloud Code Assist API endpoint.
2026-02-26 00:18:03 +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
Matteo Collina
757d36a41b
fix(coding-agent): add offline startup mode and network timeouts (#1631) 2026-02-25 19:44:49 +01:00
herr kaste
f129ac93c5
fix(tui): load koffi via createRequire in ESM (#1627)
The previous lazy-loading change switched to require("koffi") inside
enableWindowsVTInput(). In ESM, require is undefined, so the call
threw and VT input mode was silently not enabled on Windows.

Use createRequire(import.meta.url) at module scope and
cjsRequire("koffi") at the call site. This keeps koffi externalized
for Bun binaries while restoring Windows VT input behavior, including
multiline paste handling.
2026-02-25 12:05:27 +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
Duncan Ogilvie
f1a2092bcf
Do not create empty .pi folder unconditionally (#1588) 2026-02-23 00:59:10 +01:00
Fero
6137de9ce7
fix(coding-agent): sync extension theme changes to session settings (#1483) 2026-02-23 00:57:36 +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
Aliou Diallo
975de88eb1 feat(coding-agent): flush registerProvider immediately after bindCore, add unregisterProvider 2026-02-18 10:59:51 +01:00