Commit Graph

9467 Commits

Author SHA1 Message Date
can1357 0b04fda921 fix(coding-agent): added vision fallback for text-only model image attachments
- Added `images.describeForTextModels` configuration defaulting to true for text models.
- Added `describeAttachedImagesForTextModel` to persist images and generate local:// descriptions.
- Added image-description notices to session flow with hidden typing and pre-user insertion.
- Added fallback behavior that returns notes when vision is unavailable or output is empty.
2026-06-17 12:24:18 +02:00
Can Bölük 4060be5b44 Merge pull request #2638 from chan1103/fix-collab-transcript-wrapping
fix(collab-web): align transcript wrapping with TUI
2026-06-17 11:58:27 +02:00
Can Bölük 169fc8ee36 Merge branch 'main' into fix-collab-transcript-wrapping 2026-06-17 11:58:18 +02:00
Can Bölük 24ddaf66ec Merge pull request #2816 from alexanderkirilin/fix/litellm-base-url
fix(litellm): support LITELLM_BASE_URL
2026-06-17 11:37:38 +02:00
Can Bölük b7fe6f61a1 Merge branch 'main' into fix/litellm-base-url 2026-06-17 11:37:28 +02:00
Can Bölük 17e7810467 Merge pull request #2806 from igasmi/fix/google-oauth-validation-url
fix(ai): surface Google OAuth account-verification URL on VALIDATION_…
2026-06-17 11:36:48 +02:00
Can Bölük 623653dc03 Merge branch 'main' into fix/google-oauth-validation-url 2026-06-17 11:36:40 +02:00
Can Bölük be99a77f5c Merge pull request #2802 from 21307369/fix/alibaba-endpoint-selection-v2
feat(alibaba-coding-plan): add endpoint selection for China/International/Custom
2026-06-17 11:36:02 +02:00
Can Bölük ec73cbb53e Merge pull request #2813 from usr-bin-roygbiv/agent/json-mode-stdout-hygiene
Keep JSON mode stdout clean during startup
2026-06-17 11:35:04 +02:00
Can Bölük 50fe87aef1 Merge pull request #2848 from DarkPhilosophy/perf/tui-sgr-coalescing
perf(tui): coalesce byte-adjacent SGR sequences in emitted lines
2026-06-17 11:33:34 +02:00
Can Bölük 871a3128a1 Merge pull request #2841 from lyc-aon/feat/stats-dashboard-redesign
feat(stats): redesign the omp stats dashboard
2026-06-17 11:32:34 +02:00
Can Bölük 7dec5cd4f2 Merge pull request #2843 from lyc-aon/fix/check-spoofed-versions-source
fix(scripts): check current Gemini CLI version source
2026-06-17 11:28:49 +02:00
Can Bölük ed1259f855 Merge branch 'main' into fix/check-spoofed-versions-source 2026-06-17 11:28:43 +02:00
Can Bölük 9374bd64f4 Merge pull request #2860 from cagedbird043/fix/antigravity-endpoint-routing
fix(catalog): route google-antigravity default baseUrl to primary daily endpoint
2026-06-17 11:25:49 +02:00
cagedbird043 aa586c4ec3 fix(catalog): route google-antigravity default baseUrl to primary daily endpoint 2026-06-17 17:15:47 +08:00
DarkPhilosophy 8fbd21ebf6 fix(tui): do not coalesce across incomplete extended-color SGR
A semicolon-form extended color with a missing component (e.g. 38;2;255;0
lacking blue, or 38;5 lacking the palette index) has ambiguous arity: if
a following SGR is concatenated onto it, the next code is absorbed as the
missing channel/index and the rendered color changes. Stop a merge run at
any parameter list that ends mid extended-color so the following sequence
keeps its original framing. Complete colors and the self-delimiting colon
form still merge, so the win is unchanged on real transcripts (34.3% SGR
reduction on the sampled capture). Adds regression tests for incomplete
truecolor/indexed runs and the complete-color merge.
2026-06-17 10:55:35 +03:00
can1357 94a813788f chore: bump version to 16.0.4 2026-06-17 09:44:33 +02:00
can1357 8443a42d25 ux(coding-agent/modes): added troubleshooting tip for PI_DIALECT tool-calling fallback
- Updated the coding-agent modes tips to mention PI_DIALECT for providers that mis-handle native tool calls.
- Clarified a troubleshooting option for restoring behavior when inference providers cannot parse tool-call payloads.
2026-06-17 09:43:45 +02:00
can1357 bcf29b9d1b fix(ai): fixed nested JSON coercion for tool argument values
- Enabled recursive parsing in `tryParseJsonForTypes` to coerce double-encoded JSON strings.
- Updated `coerceArgsFromIssues` to parse object/array JSON strings before singleton-array fallback.
- Prevented malformed container strings from being wrapped into arrays so validation returns array errors directly.
2026-06-17 09:43:39 +02:00
can1357 fb3534740f feat(catalog): added GLM-5.2 reasoning support for ZAI and zhipu completions
- Added ZAI GLM-5.2 reasoning-effort mapping, translating minimal to none and xhigh to max.
- Enabled ZAI and zhipu GLM-5.2 completion requests to send reasoning_effort and tool_stream.
- Added provider token clamping so GLM-5.2 completion requests use capped max_tokens.
- Updated catalog policies to route GLM-5.2 max-token and reasoning support through ZAI/zhipu hosts.
- Removed synthetic HF model entries and aligned GLM-5.2 catalog specs with real providers.

Fixes #2833
2026-06-17 09:38:43 +02:00
can1357 22bd89912d Merge remote-tracking branch 'origin/farm/d2160078/respect-skills-automatically' 2026-06-17 09:37:41 +02:00
can1357 6b9ae4cbc3 Merge remote-tracking branch 'origin/farm/c99534a5/omit-google-auto-toolconfig' 2026-06-17 09:26:57 +02:00
can1357 e7d86a8813 Merge remote-tracking branch 'origin/farm/3e227f1b/fix-chatgpt-token-exchange-403' 2026-06-17 09:25:35 +02:00
can1357 66f0f85d9d Merge remote-tracking branch 'origin/farm/7793113a/fix-rpc-todo-injection' 2026-06-17 09:24:50 +02:00
can1357 882a5e0bf0 Merge remote-tracking branch 'origin/farm/4cf935c9/fix-hashline-ins-post-visible-line' 2026-06-17 09:24:37 +02:00
can1357 2ccbd0bbea fix: skipped oversized spans while continuing BFS summary unfolding
- Changed `select_folded_spans` to skip an unfold candidate that exceeded `unfold_limit` and continue processing the remaining BFS queue instead of breaking.
- Added a regression test in `summary.rs` proving a large `<style>` raw-text span no longer starves sibling HTML sections from unfolding.
- Updated the summary unfold-ceiling setting description to document that overflowed candidates stay folded while BFS continues.
2026-06-17 09:24:19 +02:00
lycaon 9a39b0093f fix(scripts): check current Gemini CLI version source 2026-06-17 00:16:36 -06:00
DarkPhilosophy 87912e1f4d perf(tui): coalesce byte-adjacent SGR sequences in emitted lines
The renderer's component tree emits each styled span as
<set-color>text<reset>, producing runs of byte-adjacent SGR sequences.
Two byte-adjacent SGR sequences are semantically identical to one SGR
carrying both parameter lists (params apply left-to-right), so merging a
run into a single CSI is behavior-preserving and cuts per-frame byte
volume and SGR-dispatch count on slow terminal engines (xterm.js/WebGL
under a large viewport). Each emitted sequence is capped at 16 parameter
tokens so long runs split across several valid CSIs instead of
overflowing a terminal's parameter buffer. On by default; disable with
PI_NO_SGR_COALESCE=1.
2026-06-17 08:48:22 +03:00
lycaon 525f4baa64 feat(stats): redesign the omp stats dashboard
Rewrite the local `omp stats` web UI on the OMP brand palette with a left nav, focused per-section views, a new Projects view, a system-aware light/dark toggle, and flicker-free navigation. Same data, endpoints, and command; the only server change is a 1h time-range bucketing fix in the aggregator.
2026-06-16 23:30:50 -06:00
roboomp b112a7d381 fix(prompting): instructed agents to load matching skills
- Added default system-prompt guidance to scan skill descriptions and read applicable skill:// content before work.
- Covered the rendered prompt contract with a frontend-design skill regression test.

Fixes #2829
2026-06-17 04:28:03 +00:00
roboomp 66fcb8f776 fix(providers): omitted google cli auto tool config
Stopped google-gemini-cli and google-antigravity requests from sending explicit AUTO toolConfig entries for toolChoice auto, matching the shared Google provider behavior.

Added regression coverage for both Gemini CLI provider identities.

Fixes #2830
2026-06-17 04:19:24 +00:00
roboomp 44d06ad188 fix(ai): repaired chatgpt token exchange
Added Codex connector OAuth scopes to browser login and preserved structured token endpoint error details instead of object coercion.\n\nFixes #2825
2026-06-17 03:57:31 +00:00
roboomp 75d8d97220 fix(session): persisted todo reminder injections
Recorded todo reminder developer messages in the session log so JSONL transcripts match model-visible context when reminders are enabled.\n\nFixes #2824
2026-06-17 03:49:55 +00:00
roboomp 80cfc4737c fix(rpc): honored todo setting opt-outs
Preserved project-level todo.enabled, todo.reminders, and todo.eager settings in protocol hosts instead of forcing host defaults.\n\nFixes #2824
2026-06-17 03:30:40 +00:00
roboomp e42353a79b fix(hashline): recorded acp read lines
Merge displayed bridge-backed range and multi-range read lines into the existing hashline snapshot provenance so INS.POST anchors pass visible-line validation after ACP reads.

Fixes #2773
2026-06-17 02:54:26 +00:00
can1357 d5b3c78132 chore: update docs 2026-06-17 04:37:39 +02:00
Alexander Kirilin 11e6eb0c2c fix(litellm): support LITELLM_BASE_URL 2026-06-16 20:54:55 -04:00
lsmir2 e264d8b100 fix(auth-storage): replace legacy api_key rows on OAuth login upgrade
When a user who previously logged in (stored as api_key credential) re-logs
in with the new version (returns OAuthCredentials with enterpriseUrl), the old
api_key row was not replaced by #upsertOAuthCredential. AuthStorage.getApiKey()
prioritizes api_key over OAuth, so the old row was matched, returned a raw key
without JSON wrapper, and the enterpriseUrl (selected endpoint) was lost.

Changed to set() which calls replaceAuthCredentialsForProvider() to replace ALL
existing credentials for the provider.

Related to #2802
2026-06-17 08:47:17 +08:00
can1357 ce9db56066 feat(coding-agent): added advisor CLI flag for runtime advisor enabling
- Added a new `--advisor` flag to argument parsing and launch flag definitions.
- Applied the parsed `advisor` flag as a runtime-only override of `advisor.enabled` during startup.
- Updated advisor-related docs and added parseArgs tests for `--advisor` behavior and position handling.
2026-06-17 02:14:11 +02:00
can1357 8eeb707387 chore: bump version to 16.0.3 2026-06-17 01:58:36 +02:00
can1357 467ffb92d6 chore: update changelogs 2026-06-17 01:57:27 +02:00
can1357 b1878bdbe4 Merge remote-tracking branch 'origin/farm/8c67833b/local-auto-thinking-classifier' 2026-06-17 01:57:21 +02:00
can1357 37646a4a14 fix(coding-agent): refined STT warmup and mechanical space-hold handling
- Reworked space-bar hold detection to require sustained mechanical gaps.
- Implemented per-model STT dependency tracking with background warmup and deferred setup.
- Tightened Whisper cache validation to require both encoder and decoder models.
- Caught STT request promise rejections to avoid unhandled rejection noise.
2026-06-17 01:57:14 +02:00
can1357 eaba315cbd security(coding-agent): sanitized artifact names and wrapped extension and MCP tools
- Sanitized artifact filenames by normalizing tool names before composing spill paths.
- Applied `wrapToolWithMetaNotice` to custom tool adapters and RPC-host tools in agent-session setup.
- Wrapped SDK-registered extension/custom tools with the same meta-notice adapter during session creation.
2026-06-17 01:53:24 +02:00
usr_bin_roygbiv 3ea7e4f077 Keep JSON mode stdout clean during startup 2026-06-16 18:51:18 -05:00
roboomp 648f41c710 fix(coding-agent): expanded local auto-thinking budget
- Gave reasoning-capable local auto-thinking classifiers the safe 1024-token answer budget used by online reasoning classifiers.
- Raised the non-reasoning local classifier floor to 16 tokens and allowed tiny completions to honor larger explicit budgets.
- Added regression coverage for qwen3-1.7b and qwen2.5-1.5b local classifier budgets.

Fixes #2808
2026-06-16 23:36:29 +00:00
can1357 abe4453234 fix(coding-agent): stopped coercing explicit provider-id models to Codex
- Removed the Codex-preferred canonical remapping path for exact `provider/id` model matches.
- Resolved explicit `openai/gpt-5.5` references as `openai` provider without redirecting to `openai-codex`.
- Added regression tests to confirm explicit provider/id and enabled-model patterns are not coalesced to Codex.
2026-06-17 01:28:10 +02:00
can1357 d588a7e092 Merge remote-tracking branch 'origin/farm/3fd81e96/codex-default-provider-auth' 2026-06-17 01:24:19 +02:00
can1357 0e049b9a1a test(ai): dropped chdir and env mutation from request-debug recording test
- Replaced `process.chdir(tempDir)` plus `PI_REQ_DEBUG=1` auto-naming with explicit `setNextRequestDebugPath` targets, removing the `previousCwd` save/restore and the `debugFiles` directory-scan helper.
- The PI_REQ_DEBUG recording assertions now read each request/response from the path they set, so the test no longer mutates `process.cwd()` or the global debug env flag.
2026-06-17 01:22:31 +02:00
can1357 ab66280ea6 refactor(coding-agent): removed process.chdir from install and package-dir tests
- Added an optional `cwd` parameter to `looksLikeLocalPath` so bare-name local-directory detection resolves against an explicit path; the install-command test now passes a temp dir instead of `process.chdir`-ing into it.
- Removed `issue-1423-repro.test.ts`, whose package-dir-lookup repro relied on `process.chdir` to stage an isolated project.
2026-06-17 01:22:06 +02:00