Commit Graph

6 Commits

Author SHA1 Message Date
Pine df085ac6f8 feat(plugin-inventory): guard critical plugins from enable/disable
Every entry now carries a protected flag. The guard is default-protect:
disabling a plugin another plugin injects breaks the dependent, and enabling
one whose service is unavailable fails the boot (dsh-tool-ralph: pending on
workflowEngine). setEnabled refuses and the UI hides the toggle for every
shipped plugin; only opt-in-bundle plugins (USER_TOGGLEABLE_PLUGINS in
required.ts) are toggleable.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-14 14:10:38 +08:00
Pine 3e0eca752c feat(plugin-inventory): add setEnabled Remote that toggles and persists a plugin
pluginInventory/setEnabled calls ctx.loader.update({disabled}) for a live
effect and writes an explicit disabled override into the profile's user
patch layer so the choice survives a restart. The patch row id is the bare
entry options.id, not the group-prefixed tree id.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-14 13:53:24 +08:00
Tianyi Cui a2d0f7f411 refactor: apply repository naming contract
Apply the accepted pre-release package, service, type, directory, and role renames as one repository-wide change.
2026-08-13 00:54:38 +08:00
ZiyaZhang be693f3bc7 test(plugin-inventory): avoid assuming loader sibling order 2026-08-12 04:23:03 -07:00
ZiyaZhang eea356e785 Show module names for dynamic plugins 2026-08-11 21:10:14 -07:00
ZiyaZhang 6ed5df964e feat(web): add read-only Loader plugin inventory 2026-08-11 21:10:14 -07:00