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