astrid-plugins 0.1.0

Plugin trait and registry for the Astrid secure agent runtime SDK
Documentation

Plugin trait and registry for the Astrid secure agent runtime SDK.

Provides the core abstractions for extending Astrid with plugins:

  • [PluginId]: Stable, human-readable plugin identifier
  • [PluginManifest]: Describes a plugin's identity, entry point, and capabilities
  • [Plugin]: Trait for plugin lifecycle (load/unload) and tool provision
  • [PluginTool]: Trait for tools provided by plugins (mirrors BuiltinTool)
  • [PluginContext] / [PluginToolContext]: Execution contexts with scoped KV storage
  • [PluginRegistry]: Registry for loaded plugins with cross-plugin tool lookup
  • [discover_manifests]: Filesystem discovery of plugin.toml manifests

Tool Naming Convention

Plugin tools are exposed to the LLM as plugin:{plugin_id}:{tool_name}, which avoids collision with built-in tools (no colons) and MCP tools (server:tool — single colon).

Storage Isolation

Each plugin gets a ScopedKvStore pre-bound to the namespace plugin:{plugin_id}. Plugins cannot access each other's data.