Commit Graph

29725 Commits

Author SHA1 Message Date
Alvin
65ef70b070 feat(matrix): add MSC4357 live streaming markers to draft-stream edits (#63513)
Merged via squash.

Prepared head SHA: 87a866a238
Co-authored-by: TigerInYourDream <48358093+TigerInYourDream@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-10 09:47:43 -04:00
Peter Steinberger
3631ec1f54 fix: route Discord auto TTS as voice notes (#64096) (thanks @LiuHuaize) 2026-04-10 14:37:25 +01:00
liuhuaize
271d3b3bdb speech-core: fix TTS regression test typing 2026-04-10 14:37:25 +01:00
liuhuaize
b3d7fd166a speech-core: route Discord auto TTS as voice notes 2026-04-10 14:37:25 +01:00
Peter Steinberger
6286810388 test: add Claude CLI provider QA scenario 2026-04-10 14:23:19 +01:00
Peter Steinberger
1b1853f0cc test: restore moved Vitest config discovery 2026-04-10 14:20:39 +01:00
Peter Steinberger
d2b9d918af docs(changelog): thank @hanamizuki for #64172 2026-04-10 14:07:22 +01:00
Hana Chang
8c876e311f test(discord): prefer claude-sonnet-4-6 in thread-title fixture
Follow repo testing guideline to prefer sonnet-4.6 for Anthropic model
constants in tests (per CLAUDE.md, flagged by Greptile review on #64172).
2026-04-10 14:07:22 +01:00
Hana Chang
537479f5b0 fix(discord): raise thread title max tokens for reasoning models
When the simple-completion model selected for thread-title generation is a
reasoning model (e.g. MiniMax M2, Claude thinking models, OpenAI o-series),
the 24-token output budget is entirely consumed by the internal thinking
block before any user-visible text is emitted. extractAssistantText then
returns an empty string, generateThreadTitle returns null, and the
auto-thread rename is silently skipped while the feature appears to do
nothing.

Raise DISCORD_THREAD_TITLE_MAX_TOKENS to 512 so there is enough headroom
for a short thinking pass plus the 3-6 word title output. The generous
ceiling only matters when the provider actually reasons; non-reasoning
models still emit a short title and stop early at end-of-sequence.

Verified live against a MiniMax M2 reasoning model served through an
Anthropic-compatible API endpoint: before the fix, the rename never fired;
after the fix, the thread is renamed with a concise generated title.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 14:07:22 +01:00
ly85206559
13821fd54b fix(plugins): make service registration idempotent
Treat duplicate registerService calls from the same plugin id as idempotent so plugin snapshot and activation loads stop emitting spurious service already registered diagnostics.\n\nThanks @ly85206559.
2026-04-10 14:06:18 +01:00
Mariano
03e19c5436 fix(gateway): restore dreaming startup reconciliation (#64258)
* gateway: restore dreaming startup reconciliation

* gateway: harden dreaming startup reconciliation

---------

Co-authored-by: mbelinky <mbelinky@users.noreply.github.com>
2026-04-10 15:02:19 +02:00
Mariano
383ea34efe fix(reply): keep resolved secret config stable (#64249)
Merged via squash.

Prepared head SHA: 973f863d8c
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-10 14:56:30 +02:00
Nimrod Gutman
af9272606f docs(changelog): note control ui btw fixes (#64290) (thanks @ngutman) 2026-04-10 15:55:03 +03:00
Nimrod Gutman
96f388e35c fix(ui): clear btw card on slash reset 2026-04-10 15:55:03 +03:00
Nimrod Gutman
b3a9c95dde fix(ui): ignore detached btw terminal teardown 2026-04-10 15:55:03 +03:00
Nimrod Gutman
9e2adb3ea8 fix(ui): send btw immediately during active runs 2026-04-10 15:55:03 +03:00
Nimrod Gutman
f989927174 feat(ui): render btw side results in control ui 2026-04-10 15:55:03 +03:00
Ravish Gupta
790343c4b1 fix(heartbeat): widen empty-detection to skip API calls for comment-only HEARTBEAT.md (#61690) (#63434)
Merged via squash.

Prepared head SHA: 1ad16a1238
Co-authored-by: ravyg <1249023+ravyg@users.noreply.github.com>
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
Reviewed-by: @hxy91819
2026-04-10 20:53:23 +08:00
Nimrod Gutman
795cc7d9dc fix(auth): thread workspaceDir into /btw runtime auth 2026-04-10 15:50:50 +03:00
Nimrod Gutman
7a59e5548a fix(auth): apply copilot runtime auth to /btw 2026-04-10 15:50:50 +03:00
Peter Steinberger
3027efaf21 test: raise QA suite default concurrency 2026-04-10 13:45:57 +01:00
Peter Steinberger
4c14f55c62 test: parallelize QA suite scenarios 2026-04-10 13:45:57 +01:00
Peter Steinberger
886e01c27b ci: keep full-suite tests conservative 2026-04-10 13:45:18 +01:00
Peter Steinberger
89d7a24a35 fix(cli-runner): wire OpenClaw skills into Claude CLI
Co-authored-by: Omar López <zomars@me.com>
2026-04-10 13:45:02 +01:00
Peter Steinberger
d5afeae206 test: align shard path expectations 2026-04-10 13:44:51 +01:00
Peter Steinberger
2ccb5cff22 test: move Vitest configs under test 2026-04-10 13:44:51 +01:00
Peter Steinberger
64f2b20963 test: isolate sharding default env 2026-04-10 13:43:25 +01:00
Peter Steinberger
b64a03793c test: keep conservative full-suite shards aggregated 2026-04-10 13:36:48 +01:00
Peter Steinberger
2eb66a1ba9 fix: detect llama.cpp context overflow (#64196) (thanks @alexander-applyinnovations) 2026-04-10 13:30:33 +01:00
Alexander Bunn
57e6aeca84 fix(agents): detect llama.cpp slot overflow as context overflow
Auto-compaction never triggered for self-hosted llama.cpp HTTP servers
(used directly or behind an OpenAI-compatible shim configured with
`api: "openai-completions"`) because llama.cpp's native overflow wording
isn't covered by any existing pattern in `isContextOverflowError()` or
`matchesProviderContextOverflow()`.

When the prompt overshoots a slot's `--ctx-size`, llama.cpp returns:

  400 request (66202 tokens) exceeds the available context size (65536 tokens), try increasing it

That message uses "context size" rather than "context length", says
"request (N tokens)" instead of "input/prompt is too long", and the
status code is 400 (not 413), so it slips past every existing string
check and every regex in `PROVIDER_CONTEXT_OVERFLOW_PATTERNS`. The
generic candidate pre-check passes, but the concrete provider regexes
all miss, so the agent runner reports `surface_error reason=...` and
the user gets the raw upstream error instead of compaction + retry.

This commit adds a llama.cpp-shaped pattern next to the existing Bedrock
/ Vertex / Ollama / Cohere ones in
`PROVIDER_CONTEXT_OVERFLOW_PATTERNS`, plus four test cases (three
parameterised messages exercising the new regex directly, and one
end-to-end assertion that `isContextOverflowError()` now returns true
for the verbatim message produced by llama.cpp's slot manager).

The pattern is anchored on llama.cpp's stable slot-manager wording
(`(?:request|prompt) (N tokens) exceeds (the )?available context size`)
so it won't accidentally swallow unrelated provider errors.

Closes #64180

AI-assisted: drafted with Claude Code (Opus 4.6, 1M context).
Testing: targeted tests pass via `pnpm vitest run
src/agents/pi-embedded-helpers/provider-error-patterns.test.ts`
(26/26). Broader vitest run shows 2 unrelated failures in
`group-policy.fallback.contract.test.ts` that are not touched by this
change.
2026-04-10 13:30:33 +01:00
Peter Steinberger
12ae2fa408 ci: parallelize full-suite project shards 2026-04-10 13:23:03 +01:00
Peter Steinberger
66ac5194f7 test: honor low-worker full-suite gate 2026-04-10 13:10:04 +01:00
Nimrod Gutman
8fe74145c4 fix(btw): land side-question context hardening (#64225) (thanks @ngutman) 2026-04-10 15:03:51 +03:00
Nimrod Gutman
7bb98ea12f fix(btw): drop hidden reasoning from side-question context 2026-04-10 15:03:51 +03:00
Nimrod Gutman
9553b402ee fix(btw): strip embedded tool blocks from side-question context 2026-04-10 15:03:51 +03:00
Nimrod Gutman
cc5cb496ad fix(btw): strip replayed tool calls from side-question context 2026-04-10 15:03:51 +03:00
Peter Steinberger
2138273d63 test: run full suite shards in parallel locally 2026-04-10 12:58:29 +01:00
Peter Steinberger
9f864c9ade fix: guard browser control fetches 2026-04-10 12:46:26 +01:00
Peter Steinberger
bf40baaa4d fix(gateway): improve websocket auth logging 2026-04-10 12:39:08 +01:00
Peter Steinberger
d350280fc2 test: fix latest type and lazy cli gates 2026-04-10 12:37:01 +01:00
Peter Steinberger
2ad451e91f test: fix parallel full-suite exposed gates 2026-04-10 12:34:53 +01:00
Peter Steinberger
9248a44fc1 fix: restore rebased type gates 2026-04-10 12:24:50 +01:00
Peter Steinberger
7c7a63eab4 test(nostr): type mock profile response 2026-04-10 12:20:04 +01:00
Peter Steinberger
644105bea6 fix: restore latest main typecheck 2026-04-10 12:20:04 +01:00
Peter Steinberger
8e242622e1 fix: stabilize rebased test gates 2026-04-10 12:14:36 +01:00
Peter Steinberger
444cdd055d fix: stabilize main test gates 2026-04-10 12:14:36 +01:00
Peter Steinberger
ef1694575d fix: restore main type gates 2026-04-10 12:14:36 +01:00
Pavan Kumar Gondhi
6517c700de fix(nostr): require operator.admin scope for profile mutation routes [AI] (#63553)
* fix: address issue

* fix: address review feedback

* fix: address review feedback

* fix: finalize issue changes

* fix: address PR review feedback

* fix: address review-pr skill feedback

* fix: address PR review feedback

* fix: address review-pr skill feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* docs: add changelog entry for PR merge
2026-04-10 16:38:41 +05:30
Vincent Koc
0e54440ecc fix(cycles): remove browser cli and tlon runtime seams 2026-04-10 11:45:28 +01:00
Vincent Koc
dbe2a97e80 fix(cycles): remove qa-lab and ui runtime seams 2026-04-10 11:45:27 +01:00