data/plugins/plugin_service library

Classes

ManifestValidationResult
Manifest validation result.
PluginCliService
CLI command wrappers for plugin operations.
PluginIdentifier
Parsed plugin identifier (name + optional marketplace).
PluginInstallationRecord
Plugin installation record from the V2 on-disk format.
PluginOperationResult
Result of a plugin operation (install, uninstall, enable, disable).
PluginOperationsService
Core plugin operations — install, uninstall, enable, disable, update.
PluginTelemetryFields
Telemetry fields for plugin CLI analytics events.
PluginUpdateResult
Result of a plugin update operation.

Enums

InstallationStatus
Status of a marketplace or plugin installation.
PluginLifecyclePhase
Lifecycle phase of a plugin.
PluginScope
Scopes at which a plugin can be installed.

Constants

scopePrecedence → const Map<PluginScope, int>
Scope precedence map for override resolution.
validInstallableScopes → const List<PluginScope>
Valid installable scopes (excludes 'managed').
validUpdateScopes → const List<PluginScope>
Valid scopes for update operations (includes 'managed').

Functions

assertInstallableScope(PluginScope scope) → void
Assert that a scope is valid for install/uninstall/enable/disable.
buildPluginTelemetryFields(String name, String? marketplace, Set<String> managedPluginNames) PluginTelemetryFields
Build telemetry fields from a plugin name and context.
classifyPluginCommandError(Object error) String
Classify a plugin command error for analytics.
isBuiltinPluginId(String pluginId) bool
Whether pluginId is a built-in plugin.
isInstallableScope(PluginScope scope) bool
Whether scope is valid for install/uninstall.
loadAllPlugins({String? projectRoot}) Future<List<LoadedPlugin>>
Load all plugins from standard locations.
loadManifestFromFile(String path) Future<PluginManifest?>
Load a plugin manifest from a JSON file at path.
loadPluginMcpConfigs(List<LoadedPlugin> plugins) Future<List<McpServerConfig>>
Load MCP server configs from all enabled plugins.
loadPluginsFromDir(String dirPath) Future<List<LoadedPlugin>>
Load plugins from a dirPath directory.
loadPluginSkills(List<LoadedPlugin> plugins) Future<List<SkillDefinition>>
Load skills from all enabled plugins.
parseManifest(Map<String, dynamic> json) PluginManifest
Parse a plugin manifest from a JSON map.
parsePluginIdentifier(String plugin) PluginIdentifier
Parse a plugin identifier string into name and optional marketplace.
scopeToSettingSource(PluginScope scope) String
Convert a scope enum to its settings-source key string.
validateManifest(PluginManifest manifest) ManifestValidationResult
Validate a PluginManifest for required fields and consistency.