MingaAgent.Skills.Registry (Minga v0.1.0)

Copy Markdown View Source

Source-owned registry for extension-contributed skill paths.

Global and project-local skills remain filesystem-discovered. Extension skill declarations are stored here so extension disable and reload can remove stale skill paths without rescanning running manifests.

Summary

Types

Registry entry for one skill path.

Source that contributed skill paths.

Functions

Returns registered entries in deterministic registration order.

Returns registered skill paths in deterministic registration order.

Registers a source-owned batch of skill paths. Same-source batches replace prior entries.

Starts the skill registry.

Removes all skill paths owned by a source.

Types

entry()

@type entry() :: %{source: source(), id: String.t(), path: String.t()}

Registry entry for one skill path.

source()

Source that contributed skill paths.

state()

@type state() :: [entry()]

Functions

entries()

@spec entries() :: [entry()]

Returns registered entries in deterministic registration order.

paths()

@spec paths() :: [String.t()]

Returns registered skill paths in deterministic registration order.

register_many(source, paths, opts \\ [])

@spec register_many(source(), [String.t()], keyword()) :: :ok

Registers a source-owned batch of skill paths. Same-source batches replace prior entries.

start_link(opts \\ [])

@spec start_link(keyword()) :: GenServer.on_start()

Starts the skill registry.

unregister_source(source)

@spec unregister_source(source()) :: :ok

Removes all skill paths owned by a source.