Commit Graph

17993 Commits

Author SHA1 Message Date
Andrew Demczuk
bffb83acf8 fix(gateway): stop SSRF guard rejecting operator-configured proxy hostnames (#62312)
When allowPrivateProxy is true, the explicit proxy hostname is operator-
configured and trusted. The SSRF guard was checking the proxy hostname
against the target-scoped hostnameAllowlist (e.g. ["api.telegram.org"]),
which rejected localhost and other local proxy hostnames. This broke
Telegram media downloads (and any channel using a local proxy) after
the url-fetch security hardening in 2026.4.x.

Clear the hostnameAllowlist for the proxy hostname check while keeping
private-network IP validation in place via allowPrivateNetwork.

Fixes #61906

Co-authored-by: Devin Robison <drobison00@users.noreply.github.com>
2026-04-07 13:22:21 -06:00
Peter Steinberger
cfbe7ac227 fix(test): refresh schema snapshot and stabilize channel registry 2026-04-07 20:04:29 +01:00
Agustin Rivera
e5aae5e056 fix(browser): align browser.proxy profile mutation guards (#60489)
* fix(browser): block proxy profile mutations

* docs(changelog): add browser proxy guard entry

---------

Co-authored-by: Devin Robison <drobison@nvidia.com>
Co-authored-by: Devin Robison <drobison00@users.noreply.github.com>
2026-04-07 13:00:21 -06:00
Peter Steinberger
744d176744 test: speed up plugin cli tests 2026-04-07 19:59:46 +01:00
Agustin Rivera
a383878e97 Require re-pairing for node reconnect command upgrades (#62658)
* fix(node): require re-pairing for reconnect command upgrades

Co-authored-by: zsx <git@zsxsoft.com>

* fix(node): tighten reconnect pairing test polling

* docs(changelog): add node reconnect pairing entry

---------

Co-authored-by: zsx <git@zsxsoft.com>
Co-authored-by: Devin Robison <drobison@nvidia.com>
2026-04-07 12:48:18 -06:00
Peter Steinberger
93ab2ac69d test(gateway): cover isolated cron session key routing 2026-04-07 19:46:16 +01:00
pgondhi987
23ab290a71 fix: expand host-exec env blocklist for Java, Rust, and Cargo toolchains [AI-assisted] (#62291)
* fix: address issue

* docs(changelog): add host env blocklist entry

---------

Co-authored-by: Devin Robison <drobison@nvidia.com>
Co-authored-by: Devin Robison <drobison00@users.noreply.github.com>
2026-04-07 12:40:54 -06:00
BitToby
9edf9804b1 feat: add cover image support to Discord event create (#60883)
* feat: add image param to Discord event create for cover art

* fix: pass trusted media roots to event cover image loader

* fix: solve lint error

* fix: add changelog entry for Discord event cover image support (#60883) (thanks @bittoby)

---------

Co-authored-by: Shadow <hi@shadowing.dev>
2026-04-07 13:40:39 -05:00
Gustavo Madeira Santana
d78512b09d Refactor: centralize native approval lifecycle assembly (#62135)
Merged via squash.

Prepared head SHA: b7c20a7398
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-07 14:40:26 -04:00
pgondhi987
4108901932 fix(fetch-guard): drop request body on cross-origin unsafe-method redirects [AI-assisted] (#62357)
* fix: address issue

* fix: address review feedback

* docs(changelog): add fetch guard redirect body entry

---------

Co-authored-by: Devin Robison <drobison@nvidia.com>
2026-04-07 12:11:00 -06:00
Peter Steinberger
d855f5f505 Tests: fix full-suite regressions 2026-04-07 18:59:38 +01:00
DhruvBhatia0
12331f0463 feat: add pluggable compaction provider registry (#56224)
Merged via squash.

Prepared head SHA: 0cc9cf3f30
Co-authored-by: DhruvBhatia0 <69252327+DhruvBhatia0@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-07 10:55:34 -07:00
i-dentifier
adb7b0d5d6 fix: compaction after tool use abortion cause agent infinite loop calls (#62600)
Merged via squash.

Prepared head SHA: 304ba07207
Co-authored-by: i-dentifier <44976464+i-dentifier@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-07 10:28:00 -07:00
Peter Steinberger
7c478473fe Tests: tighten cron timeout start handshakes 2026-04-08 01:20:00 +08:00
Peter Steinberger
16cebe5669 Tests: stabilize cron timeout regressions 2026-04-08 01:10:19 +08:00
pgondhi987
df881d5c18 fix(allowlist): gate write commands behind owner check before channel resolution [AI] (#62383)
* fix: address issue

* docs(changelog): add allowlist owner gate entry

---------

Co-authored-by: Devin Robison <drobison@nvidia.com>
2026-04-07 11:01:15 -06:00
EVA
caecd3c1fe fix(agents): heartbeat always targets main session — prevent routing to active subagent sessions (#61803)
Merged via squash.

Prepared head SHA: 5d79db3940
Co-authored-by: 100yenadmin <239388517+100yenadmin@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-07 09:59:18 -07:00
mappel-nv
c6b5731c5d Plugins: verify ClawHub archive integrity (#60517)
* docs(changelog): add clawhub archive integrity entry

---------

Co-authored-by: Devin Robison <drobison@nvidia.com>
2026-04-07 10:55:22 -06:00
Peter Steinberger
b2dc25cd12 fix: repair ci type narrowing 2026-04-07 17:51:05 +01:00
Peter Steinberger
037340d287 refactor: dedupe gateway lowercase helpers 2026-04-07 17:50:38 +01:00
Peter Steinberger
6058eacaec refactor: dedupe infra lowercase helpers 2026-04-07 17:50:38 +01:00
Peter Steinberger
1a3f141215 refactor: dedupe cli lowercase helpers 2026-04-07 17:50:38 +01:00
Peter Steinberger
cebfa70277 refactor: dedupe auto-reply lowercase helpers 2026-04-07 17:50:37 +01:00
Peter Steinberger
d40dc8f025 refactor: dedupe agent lowercase helpers 2026-04-07 17:50:37 +01:00
Peter Steinberger
d56fe040b4 refactor: dedupe agent lowercase helpers 2026-04-07 17:50:37 +01:00
Peter Steinberger
9e61209780 refactor: dedupe agent lowercase helpers 2026-04-07 17:50:37 +01:00
Peter Steinberger
c1fc2ed0e8 test: speed up provider auth onboarding test 2026-04-07 17:36:41 +01:00
pgondhi987
f0c9978030 fix(feishu): enforce workspace-only localRoots in docx upload actions [AI-assisted] (#62369)
* fix: address issue

* docs(changelog): add feishu workspace-only docx entry

---------

Co-authored-by: Devin Robison <drobison@nvidia.com>
2026-04-07 10:35:03 -06:00
Josh Lehman
e46e32b98c feat: expose prompt-cache runtime context to context engines (#62179)
* Context engine: plumb prompt cache runtime context

Add a typed prompt-cache payload to the context-engine runtime context and populate it from the embedded runner's resolved retention, last-call usage, cache-break observation, and cache-touch metadata. Also pass the same payload through the retry compaction runtime context when a run attempt already has it.

Regeneration-Prompt: |
  Expose OpenClaw prompt-cache telemetry to context engines in a narrow,
  additive way without changing compaction policy. Keep the public change on
  the OpenClaw side only: add a typed promptCache payload to the context-engine
  runtime context, thread it into afterTurn, and also into compact where the
  existing run loop already has the data cheaply available.

  Use OpenClaw's resolved cache retention, not raw config. Use last-call usage
  for the new payload, not accumulated retry or tool-loop totals. Reuse the
  existing prompt-cache observability result and tracked change causes instead
  of inventing a new heuristic. If cache-touch metadata is already available
  from the cache-TTL bookkeeping, include it; do not invent expiry timestamps
  for providers where OpenClaw cannot know them confidently.

  Keep the interface backward-compatible for engines that ignore the new field.
  Add focused tests around the existing attempt/context-engine helpers and the
  compaction runtime-context propagation path rather than broad new integration
  coverage.

* Agents: fix prompt-cache afterTurn usage

Regeneration-Prompt: |
  Fix PR #62179 so context-engine prompt-cache metadata uses only the current attempt's usage. The review comment pointed out that early exits could reuse a prior turn's assistant usage when no new assistant message was produced. Restrict the prompt-cache lastCallUsage lookup to assistant messages added after prePromptMessageCount, and fall back to current-attempt usage totals instead of stale snapshot history. Also repair the PR's new context-engine test typings and add a regression test for the stale prior-turn case. Two import-only fixes in doctor-state-integrity and config/talk were already broken on origin/main, but they blocked build/check and the gateway-watch regression harness, so include the minimum unblocking imports as well.

* Agents: document prompt-cache context

* Agents: address prompt-cache review feedback

* Doctor: drop unused isRecord import
2026-04-07 09:29:57 -07:00
pgondhi987
5880ec17b1 fix(gateway): invalidate shared-token/password WS sessions on secret rotation [AI] (#62350)
* fix: address issue

---------

Co-authored-by: Devin Robison <drobison@nvidia.com>
2026-04-07 10:10:10 -06:00
Peter Steinberger
6a6a279fda perf(auto-reply): trim duplicate heavy coverage 2026-04-07 16:52:08 +01:00
Peter Steinberger
8cee6f96e6 fix(test): isolate provider auth env marker mocks 2026-04-07 16:44:41 +01:00
Peter Steinberger
d366b13ec9 fix(test): restore cli runtime mocks and gateway timeouts 2026-04-07 16:18:12 +01:00
Peter Steinberger
eb29782416 fix(discord): stabilize DM ACP binding identity 2026-04-07 16:16:06 +01:00
Peter Steinberger
e973275fd0 fix: harden claude-cli live switch smoke 2026-04-07 16:05:54 +01:00
Peter Steinberger
9d4b0d551d fix: support inferrs string-only completions 2026-04-07 15:55:20 +01:00
Peter Steinberger
ea9efc0e81 refactor: dedupe plugin lowercase helpers 2026-04-07 15:53:50 +01:00
Peter Steinberger
1d7e87580d refactor: dedupe media lowercase helpers 2026-04-07 15:53:50 +01:00
Peter Steinberger
c3074bd513 refactor: dedupe path lowercase helpers 2026-04-07 15:53:50 +01:00
Peter Steinberger
bbcc95948e refactor: dedupe provider lowercase helpers 2026-04-07 15:53:50 +01:00
Peter Steinberger
761e12008d refactor: dedupe infra lowercase helpers 2026-04-07 15:53:50 +01:00
Peter Steinberger
f476f8211c refactor: dedupe acp lowercase helpers 2026-04-07 15:53:50 +01:00
Tak Hoffman
ac6693986b docs: rename and improve infer docs 2026-04-07 09:42:42 -05:00
Peter Steinberger
6fe93b55cb Provider usage: narrow auth store before profile lookup 2026-04-07 15:34:11 +01:00
Peter Steinberger
17a8c896a4 Tests: relax serialized models write ordering 2026-04-07 15:29:29 +01:00
Peter Steinberger
a3d5630232 test: stabilize scoped runners and qa ports 2026-04-07 15:28:46 +01:00
Peter Steinberger
067f158b74 fix: preserve plugin runtime registry state 2026-04-07 15:28:46 +01:00
Peter Steinberger
d3b359a1c2 fix: stabilize agent and config isolation 2026-04-07 15:28:46 +01:00
Peter Steinberger
d9333ac095 test: speed up plugin status tests 2026-04-07 15:25:21 +01:00
Peter Steinberger
8b2b52dc94 test: speed up provider usage auth tests 2026-04-07 15:25:21 +01:00