feat: Core Plugin system — is_core flag, topological sort dependency resolution, deactivation protection

This commit is contained in:
leocrm-bot
2026-07-07 07:44:02 +02:00
parent 1694b14c55
commit bb4b0ce514
8 changed files with 147 additions and 1 deletions
+3
View File
@@ -39,6 +39,9 @@ class PluginManifest(BaseModel):
permissions: list[str] = Field(
default_factory=list, description="Required permissions for this plugin"
)
is_core: bool = Field(
default=False, description="Whether this is a core plugin that cannot be deactivated"
)
@field_validator("name")
@classmethod