mirror of
https://github.com/jhd3197/ServerKit.git
synced 2026-10-23 03:27:43 +09:00
Backend: - Plugin data models (manifest `models` → ext_<slug>_ tables; upgrade hook; purge on uninstall) via extension_lifecycle.py - Declarative jobs/schedules wired into the Jobs SDK; pause on disable, resume on enable, removed on uninstall - Socket.IO extension point (plugins_sdk.sockets → status-guarded /ext/<slug>) - Permission capability gate (plugins_sdk.permissions.require_permission) - Version compat gates enforced at every install source + panel_version() SDK; app/utils/version.py - Keep-data vs purge on uninstall (lifecycle.uninstall(plugin, purge=)) - Plugin-asset serving route (delivery foundation, ADR 0001); manifest-spec documents all new fields Frontend: - Generic PluginSlot; mounted dashboard.top / service.detail.tab / domain.drawer.panel - Uninstall keep/purge dialog; permission consent list + config_schema preview on the extension detail modal Docs: ADR 0001 (frontend delivery), ADR 0002 (sandboxing note), EXTENSIONS.md updates; scripts/new-extension.mjs scaffolder (#40). Tests: test_extension_platform.py (11). Full backend suite: 1197 passed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>