Commit Graph

1719 Commits

Author SHA1 Message Date
Peter Steinberger b40d4b63f6
refactor: centralize update targets and extension guardrails 2026-04-03 23:26:31 +09:00
Peter Steinberger d375cd727e
fix: migrate legacy web search config on startup 2026-04-03 23:24:02 +09:00
jayeshp19 eb4b6f7024 Use owning npm prefix for global updates 2026-04-03 23:01:43 +09:00
Peter Steinberger 173bb0aea0
test: remove update-cli shared partial mock 2026-04-03 14:40:11 +01:00
Peter Steinberger 8962a8fb73
test: reduce status and update-cli partial mocks 2026-04-03 14:37:47 +01:00
Shakker 3b727d2433 test: harden package-root mocks after setup slimming 2026-04-03 14:17:16 +01:00
Peter Steinberger e43a362ad9
test: trim update-cli metadata fixture import 2026-04-03 14:09:28 +01:00
Peter Steinberger 3a2667b5fc
test: fix status and update-cli mock drift 2026-04-03 14:06:32 +01:00
Peter Steinberger f59d0eac68
refactor(plugin-runtime): remove plugin-specific core seams 2026-04-03 13:08:39 +01:00
Peter Steinberger 0a2a1ff778
fix(ci): make gateway audit path test platform-safe 2026-04-03 12:22:29 +01:00
Peter Steinberger e2e1197fa9
refactor(gateway): clarify local mode guardrails 2026-04-03 20:02:32 +09:00
Peter Steinberger 2c7eea8f10
fix(gateway): fail closed on missing mode 2026-04-03 19:50:45 +09:00
Peter Steinberger 1c26e806ff
refactor: simplify gateway startup logs 2026-04-03 11:31:34 +01:00
Peter Steinberger 2766c27b2a
refactor(plugin-sdk): genericize web channel runtime seams 2026-04-03 11:17:28 +01:00
Peter Steinberger f2d7a825b1
refactor(plugin-sdk): remove channel-specific sdk seams 2026-04-03 10:45:10 +01:00
Peter Steinberger ad6fdf1e3c
test: suppress expected nodes run stderr noise 2026-04-03 10:44:20 +01:00
Ayaan Zaidi a2b53522eb fix(pairing): allow private lan mobile ws 2026-04-03 14:51:24 +05:30
Ayaan Zaidi 84add47525 fix(pairing): allow emulator ws setup urls 2026-04-03 14:51:24 +05:30
Ayaan Zaidi acd5734aa9 fix(pairing): align mobile setup with secure endpoints 2026-04-03 14:51:24 +05:30
Peter Steinberger 051b5ddafe
test: dedupe core test teardown paths 2026-04-03 07:14:58 +01:00
Peter Steinberger b66197f932
test: reduce import wrapper reload churn 2026-04-03 07:14:58 +01:00
Brad Groux dda53a2ff8
test: update gateway.mode test to match default-to-local behavior (#54801) (#60094)
The test previously asserted that a valid snapshot without gateway.mode
blocks startup. After defaulting gateway.mode to 'local' when unset,
the gateway should start successfully in this scenario — update the
test to verify the new expected behavior.

Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
2026-04-03 00:59:51 -05:00
Brad Groux 9978d2276b
fix: default gateway.mode to 'local' when unset (#54801) (#60085)
After v2026.3.24 introduced a gateway.mode guard, startup fails on
Windows (and other platforms) when the config file exists but doesn't
contain an explicit gateway.mode value. This happens after 'openclaw
onboard' writes a minimal config without gateway settings.

Default to 'local' when the mode is unset, restoring pre-3.24 behavior
where the gateway started without requiring an explicit mode.

Fixes #54801

Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
2026-04-03 00:23:06 -05:00
Derek YU 5f6e3499f3
fix: detect PID recycling in gateway lock on Windows/macOS + startup progress (#59843)
Fix stale lock files from crashed gateway processes blocking new invocations on Windows/macOS. Detect PID recycling to avoid false positive lock conflicts, and add startup progress indicator.

Thanks @TonyDerek-dot
2026-04-02 22:07:35 -05:00
Vincent Koc f911bbc353
refactor(plugins): separate activation from enablement (#59844)
* refactor(plugins): separate activation from enablement

* fix(cli): sanitize verbose plugin activation reasons
2026-04-03 03:22:37 +09:00
Vincent Koc efe9464f5f
fix(tasks): tighten task-flow CLI surface (#59757)
* fix(tasks): tighten task-flow CLI surface

* fix(tasks): sanitize task-flow CLI text output
2026-04-03 00:25:10 +09:00
Vincent Koc d46240090a
test(tasks): add task-flow operator coverage (#59683) 2026-04-02 23:58:33 +09:00
Peter Steinberger ef86edacf7
fix: harden plugin auto-enable empty config handling 2026-04-02 15:19:53 +01:00
Vincent Koc bb3f17fc02
refactor(plugins): drop generic status report alias (#59700) 2026-04-02 22:59:25 +09:00
Vincent Koc def5b954a8
feat(plugins): surface imported runtime state in status tooling (#59659)
* feat(plugins): surface imported runtime state

* fix(plugins): keep status imports snapshot-only

* fix(plugins): keep status snapshots manifest-only

* fix(plugins): restore doctor load checks

* refactor(plugins): split snapshot and diagnostics reports

* fix(plugins): track imported erroring modules

* fix(plugins): keep hot metadata where required

* fix(plugins): keep hot doctor and write targeting

* fix(plugins): track throwing module imports
2026-04-02 22:50:17 +09:00
Vincent Koc 3e4de956c0
!refactor(xai): move x_search config behind plugin boundary (#59674)
* refactor(xai): move x_search config behind plugin boundary

* chore(changelog): note x_search config migration

* fix(xai): include x_search migration helpers
2026-04-02 22:08:59 +09:00
Vincent Koc 6f91f87f3b refactor(tasks): move task-flow ownership under tasks 2026-04-02 21:40:40 +09:00
Vincent Koc 9823833383
fix(plugins): preserve activation provenance (#59641)
* fix(plugins): preserve activation provenance

* fix(gateway): preserve activation reason metadata

* fix(plugins): harden activation state policy
2026-04-02 20:57:14 +09:00
Vincent Koc 38d2faee20
!feat(plugins): add web fetch provider boundary (#59465)
* feat(plugins): add web fetch provider boundary

* feat(plugins): add web fetch provider modules

* refactor(web-fetch): remove remaining core firecrawl fetch config

* fix(web-fetch): address review follow-ups

* fix(web-fetch): harden provider runtime boundaries

* fix(web-fetch): restore firecrawl compare helper

* fix(web-fetch): restore env-based provider autodetect

* fix(web-fetch): tighten provider hardening

* fix(web-fetch): restore fetch autodetect and compat args

* chore(changelog): note firecrawl fetch config break
2026-04-02 20:25:19 +09:00
Vincent Koc f65da8711a
fix(plugin-sdk): narrow cli discord and matrix contract seams (#59565) 2026-04-02 19:40:04 +09:00
Mariano 2fa4c7cc61
TaskFlow: restore managed substrate (#58930)
Merged via squash.

Prepared head SHA: c99093838f
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-02 12:17:56 +02:00
Gustavo Madeira Santana f69570f820
Exec approvals: fix policy source attribution (#59367)
Merged via squash.

Prepared head SHA: 974945a9f0
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-02 01:28:14 -04:00
Gustavo Madeira Santana ba735d0158
Exec approvals: unify effective policy reporting and actions (#59283)
Merged via squash.

Prepared head SHA: d579b97a93
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-01 22:02:39 -04:00
Peter Steinberger f6317fb747
fix(gateway): stop pinning node commands to pairing state 2026-04-01 18:27:06 +09:00
Peter Steinberger db0cea5689
refactor(gateway): extract node pairing reconciliation 2026-04-01 18:02:31 +09:00
Andy 4d8c07b97c
feat(cron): add --tools flag for per-job tool allow-list (#58504)
Add toolsAllow field to cron agent-turn payloads, enabling users to
restrict which tool schemas are sent to the model for a given cron job.

When --tools is set:
- Only listed tools are included in the provider request
- promptMode is forced to 'minimal' (strips skills catalog, reply tags,
  heartbeat, messaging, docs, memory, model aliases, silent replies)
- Dramatically reduces input tokens for small local models (~16K to ~800)

CLI surface:
- openclaw cron add --tools exec,read,write
- openclaw cron edit <id> --tools exec
- openclaw cron edit <id> --clear-tools (remove allow-list)

Closes #58435

Co-authored-by: andyk-ms <andyk-ms@users.noreply.github.com>
2026-03-31 21:09:17 -04:00
Peter Steinberger ce58f55fe0
fix: require doctor migration for legacy web search config 2026-04-01 04:22:41 +09:00
Vincent Koc 1a313caff3 refactor(tasks): remove flow registry layer 2026-04-01 02:25:13 +09:00
Peter Steinberger 8bf8baef87
Revert "refactor: move tasks into bundled plugin"
This reverts commit c75f4695b7.
2026-04-01 01:30:22 +09:00
Peter Steinberger 759d37635d
Revert "refactor: move tasks behind plugin-sdk seam"
This reverts commit da6e9bb76f.
2026-04-01 01:30:22 +09:00
Peter Steinberger 015ab98591
fix: restore ci status fast path and whatsapp tests 2026-03-31 16:21:55 +01:00
Peter Steinberger 0d7f1e2c84
feat(security): fail closed on dangerous skill installs 2026-03-31 23:27:20 +09:00
Peter Steinberger da6e9bb76f
refactor: move tasks behind plugin-sdk seam 2026-03-31 15:22:09 +01:00
Peter Steinberger c75f4695b7
refactor: move tasks into bundled plugin 2026-03-31 15:22:08 +01:00
Peter Steinberger 44b9936136
feat(plugins): add dangerous unsafe install override 2026-03-31 23:16:11 +09:00