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
Vincent Koc
f288ff3f9f
fix(tests): stabilize cron and blocked-flow assertions
2026-03-31 17:58:41 +09:00
Mariano
f86e5c0a08
ClawFlow: add linear flow control surface ( #58227 )
...
* ClawFlow: add linear flow control surface
* Flows: clear blocked metadata on resume
2026-03-31 10:08:50 +02:00
Josh Avant
788f56f30f
Secrets: hard-fail unsupported SecretRef policy and fix gateway restart token drift ( #58141 )
...
* Secrets: enforce C2 SecretRef policy and drift resolution
* Tests: add gateway auth startup/reload SecretRef runtime coverage
* Docs: sync C2 SecretRef policy and coverage matrix
* Config: hard-fail parent SecretRef policy writes
* Secrets: centralize unsupported SecretRef policy metadata
* Daemon: test service-env precedence for token drift refs
* Config: keep per-ref dry-run resolvability errors
* Docs: clarify config-set parent-object policy checks
* Gateway: fix drift fallback and schema-key filtering
* Gateway: align drift fallback with credential planner
* changelog
Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com >
---------
Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com >
2026-03-31 02:37:31 -05:00
Gustavo Madeira Santana
20481d424c
cli: clarify cron channel help
2026-03-30 22:33:44 -04:00
Peter Steinberger
3f1d6fe147
test: speed up cli and command suites
2026-03-31 02:25:02 +01:00