mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-13 06:03:39 -06:00
8d034a7b61
* fix(cron): stop advertising trigger-gated fields when cron triggers are disabled When cron.triggers.enabled is off (the documented default posture), the cron tool still advertised job.trigger/patch.trigger, schedule.kind "stream" with its stream-only fields, and payload.kind "script" — all of which the scheduler unconditionally rejects. Schema-eager models attach junk triggers to plain reminder requests, get rejected, and retry-loop without ever creating the job. Gate those surfaces on the resolved config so they are only advertised when the runtime can actually accept them, and swap the trigger guidance for a short unavailable notice so the model tells the user instead of polling or silently degrading the request. Config-less construction paths keep the full surface. Related: #119455 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(cron): restore config type import and regenerate schema contracts Repairs rebase fallout and CI-contract consequences of the trigger gating: - Re-import OpenClawConfig from config/types.openclaw.js; the rebase crossed #121768 which removed the re-export from config/config.js, stranding resolveCronTriggersEnabled's signature. - Guard the destructured tool in the MCP gating test for noUncheckedIndexedAccess. - Collapse the hookContext merge object to one line: the added config pass-through tipped openclaw-tools.ts over the max-lines ratchet (701/700). - Regenerate prompt snapshots (cron description narrowed under triggers-disabled harness config; ~3k chars per prompt) and the plugin-sdk API baseline (CronToolOptions gained the optional config member, visible via codex-mcp-projection). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore(cron): align schema contracts with current main --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Josh Lehman <550978+jalehman@users.noreply.github.com>