feat(backend): système de plugins — domaine, application, infrastructure (#43)
Lots B1-B4 : modèle de domaine des plugins (manifeste, capacités menus/layouts/MCP), port et registre applicatif, chargement/validation en infrastructure, exposition DTO et commandes Tauri. Tests cargo verts. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@ -10,6 +10,7 @@ use crate::ids::{
|
||||
use crate::issue::{IssueLinkKind, IssuePriority, IssueRef, IssueStatus, IssueVersion};
|
||||
use crate::mailbox::TicketId;
|
||||
use crate::memory::MemorySlug;
|
||||
use crate::plugin::{PluginId, PluginMcpServerId, PluginVersion};
|
||||
use crate::sprint::{SprintOrder, SprintVersion};
|
||||
use crate::template::TemplateVersion;
|
||||
|
||||
@ -41,6 +42,53 @@ pub enum DomainEvent {
|
||||
/// The new project.
|
||||
project_id: ProjectId,
|
||||
},
|
||||
/// A plugin was installed.
|
||||
PluginInstalled {
|
||||
/// Plugin id.
|
||||
plugin_id: PluginId,
|
||||
/// Installed version.
|
||||
version: PluginVersion,
|
||||
},
|
||||
/// A plugin was enabled.
|
||||
PluginEnabled {
|
||||
/// Plugin id.
|
||||
plugin_id: PluginId,
|
||||
},
|
||||
/// A plugin was disabled.
|
||||
PluginDisabled {
|
||||
/// Plugin id.
|
||||
plugin_id: PluginId,
|
||||
/// Whether a restart is needed for full JS purge.
|
||||
restart_required: bool,
|
||||
},
|
||||
/// A plugin was uninstalled.
|
||||
PluginUninstalled {
|
||||
/// Plugin id.
|
||||
plugin_id: PluginId,
|
||||
/// Whether a restart is needed for full JS purge.
|
||||
restart_required: bool,
|
||||
},
|
||||
/// A plugin failed to load.
|
||||
PluginLoadFailed {
|
||||
/// Plugin id.
|
||||
plugin_id: PluginId,
|
||||
/// Failure reason.
|
||||
reason: String,
|
||||
},
|
||||
/// A plugin MCP server started.
|
||||
PluginMcpServerStarted {
|
||||
/// Plugin id.
|
||||
plugin_id: PluginId,
|
||||
/// Server id.
|
||||
server_id: PluginMcpServerId,
|
||||
},
|
||||
/// A plugin MCP server stopped.
|
||||
PluginMcpServerStopped {
|
||||
/// Plugin id.
|
||||
plugin_id: PluginId,
|
||||
/// Server id.
|
||||
server_id: PluginMcpServerId,
|
||||
},
|
||||
/// An agent was launched in a terminal.
|
||||
AgentLaunched {
|
||||
/// The agent.
|
||||
|
||||
Reference in New Issue
Block a user