Files
openclaw/packages
Yuval Dinodia 864bb18738 fix(cron): cap trigger script tool access (#104430)
* fix(cron): cap trigger script tool access

Persist the creator tool cap for any cron job with a trigger script and pass it to the headless trigger runtime. System event and command payloads retain the cap across cron updates.

* fix(cron): persist trigger tool cap for systemEvent and command payloads

The creator tool cap is stamped on systemEvent and command payloads whenever a
cron job carries a trigger script, but the SQLite codec dropped
payload.toolsAllow for those kinds. After a gateway restart the reloaded job
carried no cap and the trigger regained the full coding surface. Persist and
restore toolsAllow through the existing payload_tools_allow_json column for all
payload kinds, and add restart-aware round-trip coverage.

* ci: re-trigger workflows (transient self-hosted runner flake)

* fix(cron): use expectDefined for store test job access

* refactor(cron): hoist cron tool types, payload merge, and wire types into companion modules

Keeps the oversized cron files at or below their baseline line counts for the
changed-file TypeScript LOC ratchet on main. No behavior change.

* fix(cron): retain freshly stamped cap markers

* test(ci): align compact shard count

* fix(cron): make trigger cap updates atomic

* fix(cron): preserve explicit cap provenance

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Peter Steinberger <peter@steipete.me>
2026-07-15 00:01:26 -07:00
..