Commit Graph

2890 Commits

Author SHA1 Message Date
Vincent Koc
fc7e2a10c8 fix(plugins): reserve pending delivery session slots 2026-05-04 11:21:59 -07:00
stain lu
74ab62c6a2 fix: pass claude cli thinking effort (#77410)
Summary:
- Adds a plugin-owned CLI backend argument rewrite hook and wires Anthropic `claude-cli` to translate non-off `/think` levels into Claude Code `--effort`, with docs, changelog, API baseline, and tests.
- Reproducibility: yes. Current main has a high-confidence source reproduction: choose `claude-cli`, set a non ... builds argv from backend args that contain no `--effort` even though `thinkLevel` exists on the run params.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

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

Prepared head SHA: be17754009
Review: https://github.com/openclaw/openclaw/pull/77410#issuecomment-4372812685

Co-authored-by: stainlu <stainlu@newtype-ai.org>
2026-05-04 18:13:53 +00:00
Pavan Kumar Gondhi
37c0520a0b fix(device-pair): require pairing scope for pair command [AI] (#76377)
* fix: restrict device pairing command access

* addressing review-skill

* addressing review-skill

* addressing codex review

* address codex review feedback

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* docs: add changelog entry for PR merge
2026-05-04 22:12:06 +05:30
Eva
cb38535875 [plugin sdk] Project session extension slots (#75609)
Merged via squash.

Prepared head SHA: d9b670a867
Co-authored-by: 100yenadmin <239388517+100yenadmin@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-05-04 08:04:27 -07:00
Eva
8afc9ef73c [plugin sdk] Harden finalize retry and run context cleanup (#75600)
Merged via squash.

Prepared head SHA: ec58a6212b
Co-authored-by: 100yenadmin <239388517+100yenadmin@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-05-04 07:04:22 -07:00
Peter Steinberger
a9f1882047 test: harden plugin and UI isolation checks 2026-05-04 11:46:05 +01:00
Vincent Koc
57f9a558e4 fix(types): wire plugin package metadata 2026-05-04 03:36:36 -07:00
Vincent Koc
4c40686f9e fix(plugins): trust official Codex package commands 2026-05-04 03:25:26 -07:00
Vincent Koc
89a15fddaf fix(plugins): ignore invalid managed runtime shadows 2026-05-04 03:17:57 -07:00
Vincent Koc
feb9a5af6a fix(plugins): scope commands to channels 2026-05-04 03:01:56 -07:00
Vincent Koc
54300e5270 fix(plugins): quiet official npm install scan warnings 2026-05-04 02:40:55 -07:00
Vincent Koc
33e19fb5ae fix(security): ignore scanner comment context 2026-05-04 02:35:43 -07:00
Vincent Koc
88b21427f8 fix(plugins): reject invalid inferred package runtimes 2026-05-04 01:55:50 -07:00
Vincent Koc
7482754aca fix(plugins): avoid duplicate native fallback loads 2026-05-04 01:49:36 -07:00
Vincent Koc
a9282f3571 fix(plugins): reject blank runtime entries 2026-05-04 01:41:20 -07:00
Vincent Koc
baecb6b4d6 fix(plugin): preserve sdk alias fallback for native loads 2026-05-04 01:40:58 -07:00
Vincent Koc
3c971255fa fix(auth): quiet codex oauth manual fallback 2026-05-04 00:07:13 -07:00
Dallin Romney
cdc00614cc fix(plugins): warn on source-only installed packages instead of blocking config 2026-05-03 23:59:20 -07:00
Peter Steinberger
128cc2c84b refactor(web-tools): share runtime provider context 2026-05-04 07:44:34 +01:00
Peter Steinberger
605e89468e fix(discord): avoid blocking startup on probe (#77129)
* fix(discord): avoid blocking startup on probe

* fix(discord): clear degraded probe status

* test(plugin-sdk): isolate jiti loader override

* test(plugin-sdk): fix circular facade fixture path

* fix(plugins): preserve sdk aliases for native loads

* fix(plugins): route sdk alias loads through transform
2026-05-04 07:41:42 +01:00
Peter Steinberger
fa689295c6 fix: resolve small triage issues 2026-05-04 07:38:42 +01:00
Joey Krug
c76d8f5a7c fix(web-search): keep first-class web_search runtime providers visible
When createWebSearchTool is wired with lateBindRuntimeConfig: true, the
first-class assistant tool now lives off whatever runtime is active at
execute time. That works in the gateway process where runtime metadata
and the active secrets snapshot are populated, but in agent contexts that
do not share that in-process state, both fall through to undefined and
the tool returned "web_search is disabled or no provider is available"
even though `openclaw capability web search` and direct provider runtime
execution succeeded.

Two fixes:

- src/agents/tools/web-search.ts: when late-binding, fall back to
  options.runtimeWebSearch when the active runtime web tools metadata is
  null, and fall back to options.config when getActiveSecretsRuntimeSnapshot
  is null. Derive a configured provider id from
  config.tools.web.search.provider and use it together with the runtime
  selection when deciding preferRuntimeProviders, so an explicit Brave/
  Perplexity selection still discovers the configured plugin even when
  no runtime provider id is bound.
- src/plugins/web-provider-runtime-shared.ts: the active gateway plugin
  registry may be otherwise compatible with the active config while
  contributing zero web providers (channels, memory, harnesses, and
  sidecars without Brave/web). Treating that empty active registry as
  authoritative meant first-class tools resolved to "no provider".
  Fall through to the scoped provider plugin load when the active
  registry returns no providers. Explicit `onlyPluginIds: []` still
  short-circuits to [] to preserve the empty-scope contract.

Adds regression tests for both seams.
2026-05-04 07:18:10 +01:00
Vincent Koc
0907c60dd7 fix(plugins): preserve native loader errors 2026-05-03 23:09:12 -07:00
Peter Steinberger
705bde4594 perf(gateway): avoid jiti on native plugin loads 2026-05-04 06:07:41 +01:00
Peter Steinberger
a6d67ccf29 fix: log google meet realtime models 2026-05-04 06:03:53 +01:00
Vincent Koc
19f948af2e fix(plugins): gate package test api aliases 2026-05-03 21:40:32 -07:00
Vincent Koc
dadf0005ec fix(plugins): alias bundled public surfaces in source loaders 2026-05-03 21:29:55 -07:00
Peter Steinberger
2949171fcc perf: reduce gateway startup readiness latency 2026-05-04 05:20:39 +01:00
Vincent Koc
09e7eb6687 fix(plugins): preserve optional tool metadata 2026-05-03 21:06:46 -07:00
Vincent Koc
5ca0aa1d15 fix(plugins): accept stable correction releases 2026-05-03 20:53:23 -07:00
Vincent Koc
e3cba91ef0 fix(plugins): respect manifest optional tool siblings 2026-05-03 20:44:18 -07:00
Vincent Koc
616a4e9782 fix(plugins): restore preferred clawhub installs 2026-05-03 20:34:12 -07:00
Vincent Koc
ac00d7882a fix(plugins): clean resolved npm load paths 2026-05-03 19:51:09 -07:00
Vincent Koc
571d75aab3 fix(plugins): honor plugin tool denylists 2026-05-03 19:33:00 -07:00
Vincent Koc
9799e412f8 fix(plugins): clean pinned externalized load paths 2026-05-03 17:27:18 -07:00
Vincent Koc
c42a349b42 fix(plugins): trust official externalized npm installs 2026-05-03 17:20:47 -07:00
Vincent Koc
f5927cbb43 fix(plugins): update trusted prerelease installs 2026-05-03 17:17:10 -07:00
Vincent Koc
443f7035a2 fix(plugins): filter unavailable optional tools 2026-05-03 17:10:41 -07:00
Peter Steinberger
baadd74b6b fix(plugins): narrow optional tool cold loads 2026-05-04 00:41:01 +01:00
Peter Steinberger
7915110259 fix(memory-lancedb): declare apache-arrow peer 2026-05-04 00:30:02 +01:00
Vincent Koc
cde9591168 fix(plugins): prefer newest official prerelease install 2026-05-03 16:25:02 -07:00
Vincent Koc
b520e40cf6 fix(plugins): merge external catalog channel hints 2026-05-03 16:24:17 -07:00
Peter Steinberger
88b983a713 fix: stabilize Google Meet realtime audio 2026-05-04 00:17:57 +01:00
Vincent Koc
b5affa64b3 fix(plugins): supplement external catalog contracts 2026-05-03 16:15:28 -07:00
Vincent Koc
3efa82de86 fix(plugins): allow prerelease-only official packages 2026-05-03 16:12:39 -07:00
Vincent Koc
250be27f64 fix(plugins): fall back to stable official npm versions 2026-05-03 16:07:53 -07:00
Peter Steinberger
e5ec14a06a fix(plugins): discover alsoAllow plugin tools
Summary:
- Discover optional plugin tools named in tools.alsoAllow without treating additive alsoAllow as a restrictive plugin-tool allowlist.
- Preserve explicit alsoAllow wildcards and keep default non-optional plugin tools visible.
- Document llm-task and lobster enablement and add changelog coverage.

Verification:
- pnpm test src/agents/tool-policy.test.ts src/gateway/tools-invoke-http.test.ts src/agents/pi-tools.create-openclaw-coding-tools.test.ts src/plugins/tools.optional.test.ts
- pnpm exec oxfmt --check --threads=1 src/agents/sandbox-tool-policy.ts src/agents/tool-policy.ts src/agents/tool-policy.test.ts src/agents/pi-tools.create-openclaw-coding-tools.test.ts src/gateway/tools-invoke-http.test.ts src/plugins/tools.ts src/plugins/tools.optional.test.ts
- git diff --check
- Blacksmith Testbox tbx_01kqr05924hz9kw50myxrqmsf9: pnpm check:changed

Fixes #76616
2026-05-03 23:46:14 +01:00
Peter Steinberger
4047f4d0b4 fix(plugins): recover managed npm install ledger 2026-05-03 23:17:49 +01:00
Vincent Koc
5355ef0f08 fix(plugins): dedupe manifest diagnostics 2026-05-03 13:51:25 -07:00
Vincent Koc
1d34564de9 fix(plugins): expose hook timeout overrides 2026-05-03 12:21:59 -07:00