mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-25 03:45:46 -06:00
964c8c84c1
* refactor: consolidate coercion ownership Centralize four canonical coercion helpers, migrate exact core and plugin duplicates through narrow Plugin SDK facades, and enforce declaration and plugin-normalization ownership boundaries. The sweep adds eight focused SDK exports while deleting more production and tooling code than it adds. User-visible behavior is unchanged except for safer equivalent object and UI parsing at existing boundaries. * fix: guard integer option ownership Register resolveIntegerOption with the canonical function owner and extend the declaration-guard fixture so future local duplicates fail validation. * fix: keep integer helpers on numeric facade Remove the unshipped duplicate string-coerce exports and route every affected plugin consumer through the existing number-runtime contract. * fix: point numeric coercion to number runtime Make boundary and declaration diagnostics recommend the canonical numeric facade, with failing-before coverage for both guidance paths.
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