Summary: - add plugin-state runtime SDK subpaths backed by the existing sidecar DB - migrate Discord model-picker preferences and Feishu dedup state to plugin-state keyed stores - wire doctor legacy-state migration imports, including TTL preservation, for existing plugin JSON state Verification: - pnpm plugin-sdk:api:check - focused plugin-state, doctor, Discord, Feishu, and package-boundary Vitest suites - git diff --check origin/main...HEAD - env -u OPENCLAW_TESTBOX pnpm check:changed - autoreview --mode branch --base origin/main - GitHub Actions PR checks green on 1025c2b570
1025c2b570
* test: make suites safe without isolation * fix: narrow auth profile credential types * test: inject channel module loader factory locally
Load Feishu setup surfaces through a setup-only barrel so onboarding does not import the Lark SDK before bundled runtime deps are staged.\n\nThanks @andrejtr.\n\nCo-authored-by: andrejtr <64274971+andrejtr@users.noreply.github.com>