Peter Steinberger
31456e3326
fix(providers): handle proxied DeepSeek V4 replay
2026-04-25 19:23:15 +01:00
Vincent Koc
b8a41739d5
feat(diagnostics-otel): export memory diagnostics
2026-04-25 11:22:19 -07:00
Peter Steinberger
1380dc170e
fix(browser): avoid restart hint for external profiles
2026-04-25 19:18:06 +01:00
Vincent Koc
d6ef1fcf24
feat(diagnostics-otel): export tool loop events
2026-04-25 11:11:56 -07:00
Peter Steinberger
830bd2e236
fix: recover stale runtime deps locks
2026-04-25 19:09:09 +01:00
Poo-Squirry
fd3840cb00
Fix context usage display and active-run reload interruptions
...
Fixes context usage display regressions and prevents active runs from being interrupted by channel reloads. Adds persisted tool-result detail bounds so large tool metadata stays out of model/session payloads.
2026-04-25 19:07:52 +01:00
Chris Zhang
c3bfd328ad
feat(litellm): add image generation provider ( #70246 )
...
* feat(litellm): add image generation provider
Registers litellm as an image-generation provider so model refs like
litellm/gpt-image-2 route through the LiteLLM proxy, and
agents.defaults.imageGenerationModel.fallbacks entries of the form
litellm/... resolve without "No image-generation provider registered
for litellm" errors.
Implementation uses the OpenAI-compatible /images/generations and
/images/edits endpoints that LiteLLM proxies for. BaseUrl resolves from
models.providers.litellm.baseUrl (default http://localhost:4000 ). Private
network is auto-allowed when baseUrl is a loopback/RFC1918 address, which
covers the common self-hosted LiteLLM proxy case without needing
OPENCLAW_PROVIDER_ALLOW_PRIVATE_NETWORK. Public baseUrls keep normal SSRF
defaults.
Default model is gpt-image-2 (matching upstream 4.21+ OpenAI default).
Advertises the same 2K/4K sizes OpenAI now exposes, plus legacy
256/512/1024 for dall-e-3. Supports both generate and edit.
Local patch. LiteLLM has no upstream image-generation support yet; revisit
if upstream adds one.
* ci: rerun after upstream main hot-fix
* fix(litellm): harden image generation provider
---------
Co-authored-by: Chris Zhang <chris@ChrisdeMac-mini.local >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-04-25 19:06:51 +01:00
Chunyue Wang
930d81aa41
fix(agents): prevent Bedrock replay death loop on empty assistant content ( #71627 )
...
* fix(agents): prevent Bedrock replay death loop on empty assistant content
Fixes #71572
* docs: document Bedrock replay repair (#71627 ) (thanks @openperf)
* fix(diagnostics): share diagnostic event state across sdk graphs
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-04-25 19:04:40 +01:00
Vincent Koc
ff172f46a5
feat(diagnostics-otel): add context assembly spans
2026-04-25 11:03:46 -07:00
Peter Steinberger
afd6b5d6fc
fix(opencode-go): route DeepSeek V4 through OpenAI transport
2026-04-25 18:58:08 +01:00
Vincent Koc
275c128e99
feat(plugins): add sanitized model call hooks
2026-04-25 10:56:40 -07:00
Peter Steinberger
9ffe764416
fix(whatsapp): send voice note text separately
2026-04-25 18:55:03 +01:00
Peter Steinberger
617e1dd6bf
fix(browser): honor remote CDP open timeouts
2026-04-25 18:52:57 +01:00
Peter Steinberger
d623354a0e
fix(infra): share diagnostic event state across loaders
2026-04-25 18:52:38 +01:00
Vincent Koc
44114328b4
feat(diagnostics): surface provider request id hashes
2026-04-25 10:46:10 -07:00
Peter Steinberger
2e0ae56b1a
test(plugins): satisfy readonly index lint
2026-04-25 18:44:29 +01:00
Peter Steinberger
cd6c64d2ee
test(plugins): avoid readonly index mutation
2026-04-25 18:42:25 +01:00
Peter Steinberger
649a645492
test(core): trim sync test overhead
2026-04-25 18:41:21 +01:00
Peter Steinberger
39488dfd68
test(pairing): reduce fixture io overhead
2026-04-25 18:41:20 +01:00
Peter Steinberger
8c93745f0f
test(memory): speed up host fixture setup
2026-04-25 18:41:20 +01:00
Vincent Koc
f56bf63b06
fix(plugins): reject stale registry policy reads
2026-04-25 10:35:36 -07:00
Vincent Koc
61b3c04424
test(plugins): cover registry refresh mutations
2026-04-25 10:35:36 -07:00
Vincent Koc
3ec92dfac0
fix(plugins): deprecate registry disable break glass
2026-04-25 10:35:36 -07:00
Vincent Koc
4324855a9d
docs(plugins): document persisted registry repair
2026-04-25 10:35:35 -07:00
Vincent Koc
fd8a8789d0
fix(plugins): satisfy registry lint
2026-04-25 10:35:35 -07:00
Vincent Koc
2f622acec6
fix(plugins): normalize startup config from registry
2026-04-25 10:35:35 -07:00
Vincent Koc
f14aa65bcc
fix(plugins): refresh registry after chat toggles
2026-04-25 10:35:35 -07:00
Vincent Koc
29988335fc
feat(plugins): resolve provider owners from registry
2026-04-25 10:35:35 -07:00
Vincent Koc
674d188153
feat(plugins): plan gateway startup from registry
2026-04-25 10:35:35 -07:00
Vincent Koc
feb8d3a4bd
fix(plugins): label registry list state as enabled
2026-04-25 10:35:34 -07:00
Vincent Koc
5677a26385
docs(changelog): note registry-backed plugin list
2026-04-25 10:35:34 -07:00
Vincent Koc
5859dcd298
feat(plugins): list from registry snapshot
2026-04-25 10:35:34 -07:00
Vincent Koc
caf25fac91
feat(plugins): add registry repair command
2026-04-25 10:35:34 -07:00
Vincent Koc
521e75dea0
feat(plugins): prefer persisted registry reads
2026-04-25 10:35:09 -07:00
Vincent Koc
a7de722f4f
fix(diagnostics-otel): align GenAI semconv attrs
2026-04-25 10:33:13 -07:00
Peter Steinberger
5f4bc6ec02
fix: surface external agent errors
2026-04-25 18:30:16 +01:00
Peter Steinberger
f545872cbc
test(ui): streamline session controls async tests
2026-04-25 18:27:23 +01:00
Peter Steinberger
847c00d409
test(ui): speed up chat icon mocks
2026-04-25 18:27:23 +01:00
Peter Steinberger
88df8fe09d
fix(browser): clarify Browserless CDP attach handling
2026-04-25 18:26:57 +01:00
Peter Steinberger
0bbb0eb735
fix(image): honor generation timeout config
2026-04-25 18:25:26 +01:00
Peter Steinberger
80739731dd
docs: clarify pi-ai generic failover ( #71647 )
2026-04-25 18:22:06 +01:00
willamhou
4b5c2f9aa3
fix(agents/failover): classify bare pi-ai stream wrapper as timeout regardless of provider ( #71620 )
2026-04-25 18:22:06 +01:00
Vincent Koc
dcdf97685b
fix(diagnostics): trust internal trace parents ( #71574 )
...
* fix(diagnostics): trust internal trace parents
* fix(diagnostics): harden trusted trace metadata
* fix(tooling): honor explicit oxlint threads
* fix(agents): use stable nonmutating sort helpers
* chore(plugin-sdk): refresh api baseline
* fix(diagnostics): gate internal event subscriptions
* fix(diagnostics): isolate listener event copies
* chore(plugin-sdk): refresh internal diagnostics baseline
* chore(plugin-sdk): refresh diagnostics event baseline
* fix(diagnostics): keep event state module local
* fix(diagnostics): harden internal subscription capability
* fix(diagnostics): freeze listener metadata
2026-04-25 10:18:52 -07:00
Peter Steinberger
8e7d382c37
refactor(tts): clarify text media directives
2026-04-25 18:18:34 +01:00
Peter Steinberger
67506ac2a9
fix(xai): support video reference images
2026-04-25 18:14:51 +01:00
Peter Steinberger
768bbc7cc0
docs: update OpenAI GPT-5.5 API guidance
2026-04-25 18:14:10 +01:00
Peter Steinberger
390be8138f
fix: add OpenCode Go DeepSeek V4 models
2026-04-25 18:11:59 +01:00
Vincent Koc
0d274ef6c2
docs(control-ui): note assistant avatar uploads stay browser-local
...
Val Alexander's c65aa1d2a6 (#71639 ) changed assistant avatar uploads
from gateway config persistence to localStorage, mirroring the existing
user-avatar pattern. CHANGELOG covered it but docs/web/control-ui.md
'Personal identity (browser-local)' section only documented the user
identity. Add a paragraph noting the assistant avatar override follows
the same browser-local pattern, while keeping the ui.assistant.avatar
config field reachable for non-UI clients writing the field directly.
2026-04-25 10:08:59 -07:00
Peter Steinberger
6b3e4b88d6
test: update QA parity fixtures for GPT-5.5
2026-04-25 18:05:28 +01:00
Peter Steinberger
39343088ed
fix(tts): keep media-only no-reply payloads
2026-04-25 18:04:54 +01:00