Commit Graph

8672 Commits

Author SHA1 Message Date
Peter Steinberger
151e61cadf test: clarify discord unresolved allowlist assertion 2026-05-08 07:08:03 +01:00
Peter Steinberger
eaad397981 test: clarify discord wildcard id assertion 2026-05-08 07:06:46 +01:00
Jesse Merhi
a9377fe667 Harden browser download output writes (#78780)
Summary:
- The PR exports `ensureAbsoluteDirectory` through the fs-safe/SDK runtime facades and routes browser download ... through safe output directory/file helpers with focused tests, a changelog entry, and SDK API hash updates.
- Reproducibility: yes. at source level: current main creates browser download/output roots with raw recursive ... jection coverage for that path. I did not run a live browser runtime reproduction in this read-only review.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(browser): use fs-safe output directory helper
- PR branch already contained follow-up commit before automerge: docs(changelog): mention browser fs-safe hardening
- PR branch already contained follow-up commit before automerge: fix(browser): harden download output writes

Validation:
- ClawSweeper review passed for head a9c9570f66.
- Required merge gates passed before the squash merge.

Prepared head SHA: a9c9570f66
Review: https://github.com/openclaw/openclaw/pull/78780#issuecomment-4394146682

Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-08 05:57:23 +00:00
Peter Steinberger
ab192eb3f0 test: tighten helper assertion guards 2026-05-08 06:56:38 +01:00
Peter Steinberger
0a6818bbb5 test: finish exact function assertion cleanup 2026-05-08 06:38:25 +01:00
Peter Steinberger
948ba9e7cb test: guard extension callback captures 2026-05-08 06:34:45 +01:00
Peter Steinberger
24f9f4455b test: invoke matrix entry hooks 2026-05-08 06:32:40 +01:00
Peter Steinberger
765ca52915 test: invoke whatsapp setup validators 2026-05-08 06:31:10 +01:00
Peter Steinberger
0f31b6424e test: tighten proxy fetch assertions 2026-05-08 06:28:56 +01:00
Peter Steinberger
8af475d9be test: tighten function-shape assertions 2026-05-08 06:19:37 +01:00
Peter Steinberger
6a07855d5a test: type msteams monitor mocks 2026-05-08 06:18:36 +01:00
Peter Steinberger
48ff229a82 test(msteams): type lifecycle mocks 2026-05-08 06:14:53 +01:00
Peter Steinberger
d4eb40248a fix: normalize gemini 3 pro preview config 2026-05-08 06:08:58 +01:00
Pavan Kumar Gondhi
ff80167e5a fix(discord): gate user allowlist name resolution [AI] (#79002)
* fix: gate discord user allowlist name resolution

* docs: add changelog entry for PR merge
2026-05-08 10:38:39 +05:30
Pavan Kumar Gondhi
c1edfafa3e fix(msteams): gate startup user allowlist resolution [AI] (#79003)
* fix: gate msteams user allowlist name resolution

* addressing codex review

* docs: add changelog entry for PR merge
2026-05-08 10:38:05 +05:30
Peter Steinberger
9e58cc82c8 test: fix strict CI gates 2026-05-08 05:56:38 +01:00
Peter Steinberger
eabae023eb perf: lazy load memory embedding runtime 2026-05-08 05:39:13 +01:00
Peter Steinberger
8dcc2ff1d2 fix(discord): prefer latest voice auto-join channel 2026-05-08 05:35:51 +01:00
Peter Steinberger
fe79d85ae0 feat(imessage): add native imsg message actions
Adds native iMessage private-API message actions, lightweight message-tool discovery, bridge capability cache sharing, execution-time action gates, target alias coverage, and regression tests.
2026-05-08 05:34:22 +01:00
Peter Steinberger
9ef37d1907 test: tighten assertions and harness coverage 2026-05-08 05:28:12 +01:00
Kevin Lin
f62618f805 fix: respect Codex requirements for app-server defaults (#79151)
* fix(codex): honor requirements for app-server defaults

* test(codex): harden requirements policy coverage

* fix(codex): match requirements sandbox constraints

* fix(codex): honor approval requirements in defaults

* fix(codex): honor reviewer requirements in defaults

* fix(codex): honor remote sandbox requirements
2026-05-07 21:16:08 -07:00
NVIDIAN
36f847a60e fix(whatsapp): ignore outbound echoes for inbound activity (#79057)
Merged via squash.

Prepared head SHA: 3b1f38a2bd
Co-authored-by: ai-hpc <183861985+ai-hpc@users.noreply.github.com>
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com>
Reviewed-by: @mcaxtr
2026-05-08 01:02:19 -03:00
Ayaan Zaidi
252456e2f6 fix(telegram): recover sticky fallback transport 2026-05-08 09:15:31 +05:30
Zeroth
741315e657 fix(slack): seed thread routing for implicit-conversation channels (#78522)
When a Slack channel has `requireMention: false` and a non-`off` reply mode, every top-level bot reply creates a Slack thread (because `replyToMode` does). Without seeding the inbound root, the root turn landed on the channel session while later thread replies landed on a fresh `🧵<root_ts>` session, breaking conversational continuity.

Extend `seedTopLevelRoomThreadBySource` to also fire for those channels, mirroring how `app_mention` / `explicitlyMentioned` roots already get seeded. The thread session key is now consistent on both sides of the turn, so follow-up thread messages route back to the originating session.

Fixes #78505
2026-05-07 23:30:10 -04:00
Val Alexander
4e983aa57b fix: hide retired google gemini chat models
Summary:
- Hide retired and non-public Google Gemini model IDs from Control UI/chat model catalogs.
- Route the bare gemini-3-pro alias to gemini-3.1-pro-preview.
- Keep models.list fallback rows filtered by manifest suppressions and update stale pricing-cache expectations.

Verification:
- pnpm test src/commands/models/list.list-command.forward-compat.test.ts src/commands/models/list.rows.test.ts extensions/google/manifest.test.ts extensions/google/model-id.test.ts extensions/google/provider-models.test.ts extensions/google/provider-policy-api.test.ts extensions/google/media-understanding-provider.video.test.ts src/plugin-sdk/provider-model-id-normalize.test.ts src/plugins/manifest-model-suppression.test.ts src/gateway/server-methods/models.test.ts ui/src/ui/chat-model-select-state.test.ts ui/src/ui/chat-model-ref.test.ts
- pnpm test src/gateway/model-pricing-cache.test.ts
- pnpm --silent openclaw models list --all --json --provider google / google-vertex hidden-row probe
- Testbox pnpm check:changed: https://github.com/openclaw/openclaw/actions/runs/25534551033
2026-05-07 22:20:07 -05:00
pashpashpash
fb106fb9ae fix codex harness service tiers (#79152) 2026-05-08 12:10:41 +09:00
Omar Shahine
df069f7b02 fix(imessage): surface silent group-allowlist drops at default log level (#79190)
Merged via squash.

Prepared head SHA: 6454366a62
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com>
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com>
Reviewed-by: @omarshahine
2026-05-07 20:09:05 -07:00
Omar Shahine
e259751ec9 feat(imessage): private-API support via imsg JSON-RPC [AI-assisted] (#78317)
Merged via squash.

Prepared head SHA: b7d336b296
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com>
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com>
Reviewed-by: @omarshahine
2026-05-07 19:20:18 -07:00
Peter Steinberger
6cfb08680e fix(codex): close app-server stdio gracefully 2026-05-08 02:58:27 +01:00
Peter Steinberger
478996231a test: stabilize Codex searchable dynamic tools test 2026-05-08 02:42:38 +01:00
Peter Steinberger
e0cc5c0eee fix: preserve progress draft tool titles 2026-05-08 02:03:12 +01:00
Peter Steinberger
accf774591 fix: make channel progress labels rolling 2026-05-08 02:03:12 +01:00
Peter Steinberger
ef29c85a48 fix: improve Discord progress draft rendering 2026-05-08 02:03:12 +01:00
Kevin Lin
a1ac559ed7 feat(codex): enable native plugin app support (#78733)
* feat(codex): add native plugin config schema

* feat(codex): add native plugin inventory activation

* feat(codex): configure native plugin apps for threads

* feat(codex): enforce plugin elicitation policy

* feat(codex): migrate native plugins

* docs(codex): document native plugin support

* fix(codex): harden plugin migration refresh

* fix(codex): satisfy plugin activation lint

* fix: stabilize codex plugin app config

* fix: address codex plugin review feedback

* fix: key codex plugin app cache by websocket credentials

* fix: keep codex plugin app fingerprints stable

* fix: refresh codex plugin cache test fixtures

* fix: refresh plugin app readiness after activation

* fix: support remote codex plugin activation

* fix: recover plugin app bindings after cache refresh

* fix: force codex app refresh after plugin activation

* fix: recover partial codex plugin app bindings

* fix: sync codex plugin selection config

* fix: keep codex plugin activation fail closed

* fix: align codex plugin protocol types with main

* fix: refresh partial codex plugin app bindings

* fix: key codex app cache by env api key

* fix: skip failed codex plugin migration config

* test: update codex prompt snapshots

* fix: fail closed on missing codex app inventory entries

* fix(codex): enforce native plugin policy gates

* fix(codex): normalize native plugin policy types

* fix(codex): fail closed on plugin refresh errors

* fix(codex): use native plugin destructive policy

* fix(codex): key plugin cache by api-key profiles

* fix(codex): drop unshipped plugin fingerprint compat

* fix(codex): let native app policy gate plugin tools

* fix(codex): allow open-world plugin app tools

* fix(codex): revalidate native plugin app bindings

* fix(codex): preserve plugin binding on recheck failure

* docs(codex): clarify plugin harness scope

* fix(codex): return activation report state exhaustively

* test(codex): refresh prompt snapshots after rebase

* fix(codex): match namespaced plugin ids
2026-05-07 17:20:28 -07:00
Peter Steinberger
63ec912786 fix(openai): use GA realtime bridge for gpt-realtime-2
Summary:
- switch OpenAI realtime voice default to gpt-realtime-2
- migrate backend OpenAI WebSocket bridge to the GA session shape and drop the beta header
- keep Azure deployment realtime bridges on the deployment-compatible shape
- extend live Talk smoke coverage and align npm Telegram package-runtime assertions

Verification:
- pnpm test extensions/openai/realtime-voice-provider.test.ts src/gateway/protocol/index.test.ts src/gateway/talk-handoff.test.ts extensions/google-meet/index.test.ts -- --reporter=dot
- pnpm test test/scripts/npm-telegram-live.test.ts -- --reporter=dot
- pnpm check:docs
- env OPENCLAW_TESTBOX=0 pnpm check:changed
- OPENCLAW_REALTIME_OPENAI_MODEL=gpt-realtime-2 node --import tsx scripts/dev/realtime-talk-live-smoke.ts
2026-05-08 00:47:25 +01:00
pashpashpash
3f217964d1 Defer Codex dynamic tools behind search
Defer OpenClaw Codex dynamic tools behind Codex tool_search, keep required turn-control tools direct, pin the managed Codex harness to 0.129.0-alpha.15, and document the real behavior/token impact from the live dev-agent watch.
2026-05-07 16:40:37 -07:00
Mert Başar
029ca8c268 feat(agents): implement state-aware failover and lane suspension
Summary:
- Persist quota-suspension state transitions and reload fresh suspension state before failover handoff injection.
- Restore suspended lanes to configured concurrency and share failover-to-suspension reason mapping across fallback and embedded runner paths.
- Export model.failover diagnostics via OTLP and cover queueing/resume behavior with regressions.

Verification:
- pnpm test src/config/sessions/store.pruning.integration.test.ts src/process/command-queue.test.ts src/agents/session-suspension.test.ts src/agents/model-fallback.test.ts extensions/diagnostics-otel/src/service.test.ts
- git diff --check
- pnpm exec oxfmt --check --threads=1 on changed TypeScript files
- GitHub checks: 92 successful, 0 pending, 0 failed on head 962146be88
- Review threads: none unresolved
2026-05-07 18:34:05 -05:00
Peter Steinberger
6a4069dead fix: share plugin runtime helpers
Consolidate shared plugin runtime MIME/schema helpers, preserve canonical runtime behavior, and guard QQBot STT fetches.
2026-05-08 00:28:43 +01:00
Peter Steinberger
9e4da8c7b3 fix(active-memory): honor agent allowlist in status 2026-05-08 00:21:44 +01:00
Peter Steinberger
b00c9943bd fix(active-memory): avoid google chat space ids as channels 2026-05-08 00:21:26 +01:00
Peter Steinberger
36835592df feat: log discord voice transcripts 2026-05-07 22:17:42 +01:00
Peter Steinberger
5a4676bd64 fix(byteplus): align Kimi catalog metadata 2026-05-07 22:05:45 +01:00
Vincent Koc
84638bfbb0 fix(imessage): report non-mac default imsg hosts 2026-05-07 12:53:01 -07:00
Vincent Koc
4ad4be9aff test(channels): drop bluebubbles fixture assumptions 2026-05-07 12:53:01 -07:00
Vincent Koc
07bf572f35 chore(channels): delete bluebubbles plugin package 2026-05-07 12:53:00 -07:00
Vincent Koc
fcb9dcc886 test(openai): align codex default auth contract 2026-05-07 07:16:20 -07:00
Vincent Koc
237fcbcbf1 test(llm-task): use real typebox schemas 2026-05-07 07:16:20 -07:00
Ayaan Zaidi
11d6a3f892 fix(telegram): keep dm allow separate from group auth 2026-05-07 19:08:43 +05:30
Ayaan Zaidi
c967628816 fix(telegram): restore outbound poll cap 2026-05-07 19:08:43 +05:30
Ayaan Zaidi
923ea990fd refactor(telegram): use grammY native helpers 2026-05-07 19:08:43 +05:30