mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -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>
Generated Docs Artifacts
Generated contract files are tracked drift-detection artifacts. Full pretty snapshots remain local inspection artifacts.
Tracked (committed to git):
config-baseline.sha256— hashes of config baseline JSON artifacts.config-baseline.counts.json— maximum entry counts for each config baseline kind.plugin-sdk-api-baseline/<entrypoint>.json— one content hash record per Plugin SDK module.sqlite-session-transcript-schema-baseline.sha256— hash of the sessions/transcripts SQLite schema baseline.
Local only (gitignored):
config-baseline.json,config-baseline.core.json,config-baseline.channel.json,config-baseline.plugin.jsonplugin-sdk-api-baseline.json.artifacts/sqlite-session-transcript-schema-baseline.sql
Do not edit any of these files by hand.
- Regenerate config baseline:
pnpm config:docs:gen - Validate config baseline:
pnpm config:docs:check - Regenerate Plugin SDK API baseline:
pnpm plugin-sdk:api:gen - Validate Plugin SDK API contract manifest:
pnpm plugin-sdk:api:check
The Plugin SDK contract sorts modules by import specifier and exports by kind
then name. Each entrypoint file hashes one module's normalized declarations and
surface-reachable declaration closure hashes, so changes to different modules
touch different files. Committed records omit source paths so file moves do not
change the contract; origin source fields remain available in the local pretty
JSON snapshot.
- Regenerate SQLite sessions/transcripts schema baseline:
pnpm sqlite:sessions-schema:gen - Validate SQLite sessions/transcripts schema baseline:
pnpm sqlite:sessions-schema:check