Drop pnpm-lock.yaml and add a fresh package-lock.json (lockfileVersion
3, resolved against registry.npmjs.org); ignore pnpm-lock.yaml going
forward. legacy-peer-deps stays in .npmrc.
Inline badge components captured the styles object on every render,
tripping noComponentHookFactories; move them out and pass styles as a
prop. Also autofix useMathMinMax and unused-variable findings.
Port the admin console feature set from the Vue web app: AIChat,
Analytics, Button, Document, FileManager, FormList, Function, Im
(SignalR chat hub), Knowledge (Obsidian sync), Menu, Permission,
Role, Storage, Workflow (X6 designer) and user management, plus
CreateFormModal, avatar blob proxy and authFetch util.