Commit Graph

18447 Commits

Author SHA1 Message Date
can1357 5bd6af6a0e Merge PR #8776: fix(nix): install writable home-manager config instead of store symlink (@roboomp) 2026-08-19 01:36:57 +02:00
can1357 d06f1eb9fa Merge PR #8774: fix(ai): honor Fable/Mythos tier usage in usage-reserve health (@roboomp) 2026-08-19 01:36:57 +02:00
can1357 b1afa289ba Merge PR #8770: fix(tui): prefer macOS file URL over Finder icon bitmap on image paste (@roboomp) 2026-08-19 01:36:57 +02:00
can1357 23d3e96077 Merge PR #8768: fix(ai): encode empty successful tool_result content as empty string (@pgagarinov) 2026-08-19 01:36:56 +02:00
can1357 d4059fe81f Merge PR #8761: fix(coding-agent): keep thinking-loop retries on the same model (@roboomp) 2026-08-19 01:36:56 +02:00
can1357 6fd0b935a4 Merge PR #8756: fix(auth): rotate when a ChatGPT account lacks the requested Codex model (@alphastorm) 2026-08-19 01:36:56 +02:00
can1357 db2ce42e8e Merge PR #8753: fix(coding-agent): classify destructive rm with long options as critical (@ghosty-11) 2026-08-19 01:36:56 +02:00
can1357 a34fe0b676 Merge PR #8752: fix(tiny): match title stop string against generated tokens only (@alphastorm)
# Conflicts:
#	packages/coding-agent/test/tiny-title-generator.test.ts
2026-08-19 01:36:56 +02:00
can1357 c4b2eddc4e Merge PR #8750: fix(memory): separate extraction instructions from user input (@alphastorm) 2026-08-19 01:36:32 +02:00
can1357 cbb5ca8e8e chore(catalog): drop stray released-section changelog entries; align xai-oauth docs bullet with main 2026-08-19 01:36:22 +02:00
can1357 9103ebc841 Merge PR #8745: fix(catalog): expose grok-4.6 thinking levels on xai-oauth (@Unravl)
# Conflicts:
#	docs/provider-quirks.md
2026-08-19 01:36:22 +02:00
can1357 0167a60de5 Merge PR #8741: fix(biome): add .css to default fileTypes for CSS language support (@re2zero) 2026-08-19 01:36:05 +02:00
can1357 30acdce9e3 Merge PR #8739: fix(ai): name selected provider in opencode login prompt (@roboomp) 2026-08-19 01:36:05 +02:00
can1357 2b35d690b0 docs(coding-agent): align resolveUpdateTarget docstring with symlink-gated manager probes 2026-08-19 01:36:05 +02:00
can1357 b4db9c84e7 Merge PR #8734: fix(coding-agent): resolve update target from the running binary, not the PATH launcher (@roboomp) 2026-08-19 01:36:04 +02:00
can1357 b0bfe7e457 Merge PR #8733: fix(tui): consolidate live tool spinner timers into one shared ticker (@roboomp) 2026-08-19 01:36:04 +02:00
can1357 79de0acd44 docs(agent): add changelog entry for compaction prompt-injection hardening (#8727) 2026-08-19 01:36:04 +02:00
can1357 996f562247 Merge PR #8727: fix(agent): harden compaction summaries against prompt injection (@koopmannleon19977-cmyk) 2026-08-19 01:36:04 +02:00
can1357 8d6f8854fa Merge PR #8724: fix(tui): detect SIXEL outside Windows Terminal (@shrimpza) 2026-08-19 01:36:04 +02:00
can1357 c41f65ec89 Merge PR #8723: fix(launch): scope daemon prune to the daemons container (@roboomp) 2026-08-19 01:36:03 +02:00
can1357 1037bca4be Merge PR #8722: fix(ai): strip leaked ```thinking delimiters from Gemini thought summaries (@roboomp) 2026-08-19 01:36:03 +02:00
can1357 e88fb70afe Merge PR #8720: fix(compaction): honor /clear reset boundary in prepareCompaction (@roboomp) 2026-08-19 01:36:03 +02:00
can1357 68c636f0b5 Merge PR #8717: fix(pi-ai): honor onPayload replacement payloads in openai-completions, bedrock and cursor (@ranxianglei) 2026-08-19 01:36:03 +02:00
can1357 0d50c53d4c Merge PR #8715: fix(snapcompact): disambiguate digit zero from letter O in frame fonts (@roboomp) 2026-08-19 01:36:03 +02:00
can1357 a3fc18fd16 Merge PR #8704: fix(cli): exit cleanly after printing shell completions (@czchen) 2026-08-19 01:36:03 +02:00
can1357 43fcfb4475 Merge PR #8688: fix(mcp): preserve image tool results (@roboomp) 2026-08-19 01:36:02 +02:00
can1357 565d53515b feat(coding-agent): added providers.cacheRetention setting for prompt caching
- Add the `providers.cacheRetention` setting to control prompt-cache retention options per request.
- Forward configured cache retention preferences through the settings-aware stream function.
- Update documentation and test coverage for long cache retention behaviors.
2026-08-19 00:56:50 +02:00
can1357 bf490ae024 fix: added reasoning effort support for qwen templates
- Added `reasoning_effort` kwarg and top-level support for Qwen 3.8+ templates.
- Introduced `qwenTemplateReasoningEffort` compatibility option and identity helpers.
- Enabled default reasoning enforcement and updated cache provider invalidation.
- Added comprehensive unit and compatibility test suites for Qwen reasoning dials.
2026-08-19 00:47:11 +02:00
can1357 8500092296 chore: bump version to 17.3.7
Retry: widened agent dequeue-hook deadline budgets from 25ms to 1s — the run loop checks the deadline before invoking dequeue hooks, so a cold or CPU-starved mock roundtrip expired the deadline first and the hooks never ran (deterministic failure in isolation, flaky under CI parallel load).
2026-08-18 11:34:10 +03:00
can1357 adfa211bbf chore: bump version to 17.3.7
Retry: deflaked tui IME preedit border test (#5563) — VirtualTerminal.waitForRender's fixed 40ms sleep raced TUI's throttled render timer on starved CI runners, reading the pre-input frame; waitForRender now takes an optional settle predicate polled up to 2s and the test keys on the rendered content.
2026-08-18 11:24:23 +03:00
Kenneth Watson 49543d798e fix(tui): detect SIXEL outside Windows Terminal
The startup graphics probe only ran on ConPTY hosts with WT_SESSION, so a
SIXEL-capable terminal that exposes no identifying environment variable
(foot exports TERM=foot and COLORTERM=truecolor only) resolved the
trueColor capability row, kept imageProtocol null, and rendered every
image as the "[Image: …]" text card.

The XTSMGRAPHICS branch also had its status inverted: per xterm ctlseqs a
reply of `CSI ? 2 ; Ps ; Pv S` carries Ps = 0 on success, and a terminal
without SIXEL reports a zero maximum geometry, so a successful reply was
read as unsupported.

Drop the dead DA1 half of the probe with it: ProcessTerminal swallows
every `CSI ? … c` reply for the whole session so a late one cannot leak
into the composer (#8542), which means the attribute list never reached
the probe's input listener on any platform. The bare `CSI c` it wrote was
also unaccounted for in the DA1 sentinel FIFO, so its reply consumed
another probe's sentinel.

PI_FORCE_IMAGE_PROTOCOL, including its off/none kill switch, still wins
over the probe.
2026-08-18 14:47:20 +08:00
re2zero 00f5d4cfca fix: correct defaults.json blob (previous upload stored filename instead of content) 2026-08-18 09:19:21 +08:00
re2zero 1fefedce14 fix(biome): add .css to default fileTypes for CSS language support; add changelog entry
Addresses review feedback on the initial commit:
- restore the trailing newline at EOF stripped by the first edit
- add a Fixed entry for this change under ## [Unreleased] in the coding-agent CHANGELOG
2026-08-18 09:17:34 +08:00
ranxianglei 9aefdb5f81 Merge branch 'main' into fix/onpayload-replacement-completions-bedrock-cursor 2026-08-18 09:13:09 +08:00
Sunil Srivatsa b8dbf68613 fix(tiny): match title stop string against generated tokens only
StopOnTextCriteria decoded the last STOP_DECODE_WINDOW_TOKENS of the whole
sequence, so prompt tokens were eligible for matching. A prompt that itself
contains the stop string stops generation at the first generated token and
yields an empty title.

Anchor the window to the generation boundary by recording the first
generated index per batch entry. Existing local title models are
unaffected: with the assistant-prefill prompt shape, the example `</title>`
tags sit outside the 32-token window for normal messages, so no shipping
model changes behavior. The bug becomes reachable with any chat-level
few-shot prompt that places the stop string near the generation boundary.
2026-08-17 15:19:06 -07:00
Sunil Srivatsa f294d1b177 fix(auth): rotate when a ChatGPT account lacks the requested Codex model
A Codex request to a model the signed-in ChatGPT account is not entitled
to fails with "The '<model>' model is not supported when using Codex with
a ChatGPT account." That was classified as a plain provider error, so the
request failed outright even when a sibling account was signed in and
entitled to the model.

Classify that exact denial as an account-policy error, the same category
`cyber_policy` already uses, so the existing credential-rotation path can
reach an entitled account.

The match is deliberately narrow: it fires only for provider
`openai-codex`, only when the denied model in the message is the model that
was requested, and only for a bounded, non-null model identity. A denial
naming some other model does not trigger rotation, so an unrelated mention
cannot burn sibling credentials.
2026-08-17 15:07:53 -07:00
Sunil Srivatsa 49415712f2 fix(memory): separate extraction instructions from user input
The memory-extraction prompt concatenated its instructions, few-shot
examples, and the user message into a single user turn, so a small local
model could not distinguish instructions from input and frequently echoed
the Globex/weather examples instead of extracting facts.

Send the instructions as a real system turn and the raw text as the user
turn. The tiny worker protocol gains a systemPrompt field, and Mnemopi
completion input carries task metadata so the backend selects the right
prompt per call.

Drop the code-built MEMORY_EXTRACTION_TEMPLATE rather than porting it:
prompt text belongs in .md files, and resolveMemoryCompletionInput already
overrides that template for every extraction call, so Mnemopi rendered it
only for the result to be discarded.

Measured on ONNX q4 CPU, LFM2.5-1.2B memory extraction improved from 1/8
to 5/8 once the roles were separated.
2026-08-17 15:06:37 -07:00
can1357 644ad30d6e chore: bump version to 17.3.7
Retry: fixed changelog bundle probe asserting latest release equals VERSION (fails on releases with no coding-agent changelog content); widened issue-4593 watchdog test budgets from 5ms to 50ms against CI runner scheduling noise.
2026-08-17 23:55:09 +03:00
can1357 0a912cc467 chore: bump version to 17.3.7 2026-08-17 22:29:25 +03:00
Can Bölük 7913d70254 Merge pull request #8840 from Jaaneek/fix/openai-compat-user-agent
fix(ai): send omp User-Agent on xAI chat only
2026-08-17 20:52:46 +02:00
Jaaneek 7affc3d402 fix(ai): send omp User-Agent on xAI chat only
xAI chat was inheriting Bun's default UA. Set USER_AGENT on xai and
xai-oauth unless the request already supplied one.
2026-08-17 18:40:57 +00:00
can1357 54e1a8c900 chore: bump version to 17.3.6 2026-08-17 17:16:40 +03:00
can1357 f97a002dfa Merge PR #8772: feat(catalog): default paid xAI and SuperGrok to grok-4.6 (@geraint0923) 2026-08-17 16:00:42 +03:00
can1357 bf8537015e Merge branch 'main' into pr-8772 2026-08-17 15:55:20 +03:00
can1357 d4249537a3 Merge PR #8052: feat(extensions): broker denied file writes and deletes (@psyrendust) 2026-08-17 11:16:08 +03:00
can1357 ba71a0aa6c docs(extensions): included sessionId in delete fallback request shape 2026-08-17 11:06:16 +03:00
can1357 9913c58ec1 Merge branch 'main' into pr-8052 2026-08-17 11:00:58 +03:00
can1357 d187249375 Merge PR #7824: fix(stats): restore configurable dashboard bind host (@anatoli-tsinovoy) 2026-08-17 10:47:48 +03:00
can1357 d8c5659d9a feat(catalog): updated context window floor and pricing parameters for gpt models
- Updated GPT-5.6 context window floor to 1,000,000 tokens across discovery, policies, and tests.
- Updated model configurations and pricing parameters in catalog models JSON.
2026-08-17 10:47:30 +03:00
Anatoli Tsinovoy 16ad301117 fix(stats): restore configurable dashboard bind host 2026-08-17 09:46:49 +03:00