Commit Graph

25800 Commits

Author SHA1 Message Date
Peter Steinberger a23ab9b906
refactor: move voice-call realtime providers into extensions 2026-04-04 12:07:23 +09:00
Vincent Koc 61f93540b2 refactor(discord): narrow channel runtime imports 2026-04-04 12:06:00 +09:00
Vincent Koc 9bfaf7b681 refactor(slack): narrow channel runtime imports 2026-04-04 12:06:00 +09:00
Peter Steinberger 7e69c2f6a7
test: trim remaining mock drift 2026-04-04 04:04:12 +01:00
Vincent Koc 2f5509e36d refactor(slack): lazy-load directory config seam 2026-04-04 12:03:14 +09:00
Vincent Koc f9cf868553 refactor(slack): lazy-load target resolution seams 2026-04-04 12:02:58 +09:00
Vincent Koc bc6b20e542 refactor(discord): lazy-load directory and resolver seams 2026-04-04 12:02:58 +09:00
Peter Steinberger af94a3a89b
test: use native vitest root projects 2026-04-04 04:01:32 +01:00
Vincent Koc 2050ef2740 refactor(whatsapp): lazy-load channel directory and action seams 2026-04-04 12:01:30 +09:00
Peter Steinberger df86f4dc00
docs(changelog): reorder unreleased highlights 2026-04-04 12:00:10 +09:00
Vincent Koc 6c31b2fbc5 refactor(imessage): narrow channel runtime imports 2026-04-04 11:59:38 +09:00
Vincent Koc 0737816010 refactor(line): narrow channel runtime imports 2026-04-04 11:59:38 +09:00
Vincent Koc e9d802c32b fix(openai): align gpt-5.4 codex context test 2026-04-04 11:59:05 +09:00
Peter Steinberger 94b0062e90 fix: keep local marketplace paths stable (#60556) (thanks @eleqtrizit) 2026-04-04 11:58:52 +09:00
Agustin Rivera e8ebd6ab8c fix(marketplace): narrow canonical path checks 2026-04-04 11:58:52 +09:00
Agustin Rivera 750d963cb9 fix(marketplace): preserve local symlink installs 2026-04-04 11:58:52 +09:00
Agustin Rivera b1dd3ded35 fix(marketplace): canonicalize remote plugin paths 2026-04-04 11:58:52 +09:00
Peter Steinberger f25f147fc3
refactor(whatsapp): move legacy group session detection into contract surface 2026-04-04 03:57:56 +01:00
Vincent Koc 098abd484d fix(channels): keep feishu override parent fallbacks 2026-04-04 11:57:27 +09:00
Vincent Koc 5eb32f24ea refactor(discord): normalize lazy loader formatting 2026-04-04 11:53:21 +09:00
Vincent Koc bf1b1d63bd refactor(discord): lazy-load channel send seams 2026-04-04 11:53:21 +09:00
Vincent Koc e249a852ae refactor(slack): lazy-load async channel seams 2026-04-04 11:53:21 +09:00
Peter Steinberger a3a06524f2
fix(ci): restore session and setup fallbacks 2026-04-04 03:52:37 +01:00
Peter Steinberger 3c23126980
fix(ci): tolerate missing contract surface roots 2026-04-04 03:52:37 +01:00
Peter Steinberger 6b3ff0dd4f
feat(openai): add codex gpt-5.4-mini support 2026-04-04 11:51:57 +09:00
Vincent Koc 7df763b04d refactor(providers): share xai compat helper 2026-04-04 11:45:13 +09:00
Karl Yang 6d33c67c01
fix: enable groq and deepgram bundled media providers by default (#59982) (thanks @yxjsxy)
* fix: add enabledByDefault to groq and deepgram media plugin manifests

The groq and deepgram plugin manifests were missing the
enabledByDefault: true flag. Without this flag, both plugins are
treated as bundled-but-disabled-by-default, so resolveRuntimePluginRegistry
loads without them. When buildProviderRegistry later needs to resolve
audio providers, the active registry is used first (short-circuits
the compat path in resolvePluginCapabilityProviders), leaving groq
and deepgram absent from the registry.

This caused 'Media provider not available: groq' errors when users
configured tools.media.audio.models with groq or deepgram, even
with GROQ_API_KEY / DEEPGRAM_API_KEY set correctly.

The fix mirrors the pattern used by other audio/media-only providers
such as mistral, which already has enabledByDefault: true.

Fixes #59875

* fix: enable groq and deepgram bundled media providers by default (#59982) (thanks @yxjsxy)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-04 08:11:34 +05:30
Monty Taylor d605cb08c5
matrix: force SSSS recreation on backup reset when SSSS key is broken (bad MAC) (#60599)
Merged via squash.

Prepared head SHA: 3b0a623407
Co-authored-by: emonty <95156+emonty@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-03 22:34:23 -04:00
Vincent Koc fb1cb99c88 fix(xai): narrow stream wrapper params 2026-04-04 11:31:27 +09:00
Vincent Koc b5a849801c chore(plugin-sdk): refresh api baseline 2026-04-04 11:30:30 +09:00
Vincent Koc e273753d45 refactor(providers): share anthropic tool payload helper 2026-04-04 11:30:30 +09:00
George Zhang 87885b948a
fix: handle sensitive, number-clear, and array-clear edge cases in plugin config TUI (#60640) (#60640)
- Skip sensitive fields with a note directing users to openclaw config set
  or the Web UI (WizardPrompter has no masked input)
- Clear number fields to undefined when input is empty instead of storing 0
- Allow clearing array fields to undefined via empty input
2026-04-03 19:27:26 -07:00
Vincent Koc 761bd3bbd0 refactor(providers): share passthrough replay helpers 2026-04-04 11:22:41 +09:00
Ayaan Zaidi 6a3a0c405f fix: replay interrupted recurring jobs on first restart (#60583) (thanks @joelnishanth) 2026-04-04 07:51:04 +05:30
joelnishanth 7a16e14301 fix(cron): resume interrupted recurring jobs on first restart (#60495) 2026-04-04 07:51:04 +05:30
Vincent Koc 9e389cff3d
fix(config): migrate legacy group allow aliases (#60597)
* fix(config): migrate legacy group allow aliases

* fix(config): inline legacy streaming migration helpers

* refactor(config): rename legacy account matcher helper

* chore(agents): codify config contract boundaries

* fix(config): keep legacy allow aliases writable

* Update AGENTS.md
2026-04-04 11:15:32 +09:00
Ayaan Zaidi 945b198c76
fix(android): allow cleartext LAN gateways 2026-04-04 07:36:18 +05:30
Vincent Koc 94adc24393 chore(plugin-sdk): refresh api baseline 2026-04-04 11:03:28 +09:00
Vincent Koc 30479b4ee0 refactor(providers): compose provider stream wrappers 2026-04-04 11:03:28 +09:00
Michael Faath 85c76e83b7
fix: restore android talk mode reply tts (#60306) (thanks @MKV21)
* Android: keep talk-mode session key synced for TTS replies

* Android: harden talk-mode reply playback state

* Android: harden talk-mode playback cancellation

* Android: avoid stale talk-mode playback preemption

* Android: tighten talk-mode playback claiming

* fix: distill android talk-mode playback ownership

* fix: restore android talk mode reply tts (#60306) (thanks @MKV21)

---------

Co-authored-by: Michael Faath <michaelfaath@macbookpro.speedport.ip>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-04 07:28:56 +05:30
Vincent Koc 858bf405f4
refactor(providers): share replay and tool compat helpers (#60637)
* refactor(providers): share replay and tool compat helpers

* chore(plugin-sdk): refresh api baseline
2026-04-04 10:55:36 +09:00
Vincent Koc dd31ee1139 fix(cli): log pending control ui build 2026-04-04 10:47:38 +09:00
Peter Steinberger b76ed0fadf
fix: harden OpenAI websocket transport 2026-04-04 02:38:36 +01:00
Peter Steinberger 1e6e685347
fix: unblock cli startup metadata 2026-04-04 02:35:36 +01:00
Peter Steinberger 143d377c5a
fix(cli): keep status json startup lean 2026-04-04 02:16:56 +01:00
Gustavo Madeira Santana 3713b0e506
vertex: read ADC files without exists preflight (#60592)
Merged via squash.

Prepared head SHA: 72f7372e97
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-03 21:13:34 -04:00
Peter Steinberger 34cd49faa6
perf: route browser and line extension tests 2026-04-04 02:08:45 +01:00
Peter Steinberger 1e90b3afcd
perf: split extension channel vitest lane 2026-04-04 02:08:45 +01:00
Peter Steinberger e941d425ac
perf: split acp and ui vitest lanes 2026-04-04 02:08:45 +01:00
Peter Steinberger fb0ff6896a
perf: route contract test targets 2026-04-04 02:08:45 +01:00