Jido.Plugin.Manifest (Jido v2.0.0-rc.4)

View Source

The manifest representation of a plugin's metadata and capabilities.

Contains all compile-time metadata about a plugin for discovery, introspection, and ecosystem tooling. Unlike Jido.Plugin.Spec, the manifest focuses on what the plugin provides rather than per-agent runtime configuration.

Fields

  • module - The plugin module
  • name - Plugin name string
  • description - Optional description
  • category - Optional category for organization
  • tags - List of tag strings for categorization
  • vsn - Optional version string
  • capabilities - List of atoms describing what the plugin provides
  • requires - List of requirements like {:config, :token}, {:app, :req}, {:plugin, :http}
  • state_key - Atom key for plugin state in agent
  • schema - Zoi schema for plugin state
  • config_schema - Zoi schema for per-agent config
  • actions - List of action modules
  • signal_routes - List of signal route tuples like {"post", ActionModule}
  • schedules - List of schedule tuples like {"*/5 * * * *", ActionModule}
  • signal_patterns - Legacy signal patterns for routing
  • subscriptions - Sensor subscriptions provided by this plugin

Summary

Functions

Returns the Zoi schema for Manifest.

Types

t()

@type t() :: %Jido.Plugin.Manifest{
  actions: [atom()],
  capabilities: [atom()],
  category: binary(),
  config_schema: any(),
  description: binary(),
  module: atom(),
  name: binary(),
  otp_app: atom(),
  requires: [any()],
  schedules: [any()],
  schema: any(),
  signal_patterns: [binary()],
  signal_routes: [any()],
  singleton: boolean(),
  state_key: atom(),
  subscriptions: [any()],
  tags: [binary()],
  vsn: binary()
}

Functions

schema()

@spec schema() :: Zoi.schema()

Returns the Zoi schema for Manifest.