Source-owned registry for semantic agent UI contributions.
Extensions and bundles register cached Minga.RenderModel.UI.* values here. Render builders and input handlers read the ETS table directly, so frame and keystroke hot paths never invoke extension render callbacks.
Summary
Types
Existing render-model payload stored by an entry.
Registration attributes.
Source that owns semantic UI entries.
Semantic surface name.
Registry table name.
Functions
Returns all entries ordered by priority and id.
Returns the default production registry table.
Dispatches a semantic action through the editor command pipeline.
Returns all entries for a semantic surface ordered by priority and id.
Returns an entry by id.
Returns cached extension-panel panels contributed to agent UI.
Publishes a new cached render-model payload for an existing entry.
Registers or replaces a source-owned semantic UI entry.
Registers a source-owned batch, replacing all prior entries owned by the same source.
Starts the semantic UI registry.
Returns the semantic UI registry table for a state-like value.
Returns cached transcript enrichment bodies.
Unregisters an entry when it is owned by the caller's source.
Removes every semantic UI entry owned by a source.
Types
@type payload() :: MingaEditor.Agent.SemanticUI.Entry.payload()
Existing render-model payload stored by an entry.
@type register_attrs() :: %{ :id => String.t(), :surface => surface(), :payload => payload(), optional(:target) => term(), optional(:priority) => integer(), optional(:actions) => [Minga.RenderModel.UI.Action.t() | map() | keyword()] }
Registration attributes.
@type source() :: Minga.Extension.ContributionCleanup.contribution_source()
Source that owns semantic UI entries.
@type state() :: table()
@type surface() :: MingaEditor.Agent.SemanticUI.Entry.surface()
Semantic surface name.
@type table() :: atom()
Registry table name.
Functions
@spec all() :: [MingaEditor.Agent.SemanticUI.Entry.t()]
Returns all entries ordered by priority and id.
@spec all(table()) :: [MingaEditor.Agent.SemanticUI.Entry.t()]
@spec default_table() :: table()
Returns the default production registry table.
@spec dispatch_action(MingaEditor.State.t(), String.t(), String.t(), map()) :: MingaEditor.State.t()
Dispatches a semantic action through the editor command pipeline.
@spec dispatch_action(table(), MingaEditor.State.t(), String.t(), String.t(), map()) :: MingaEditor.State.t()
@spec entries(surface()) :: [MingaEditor.Agent.SemanticUI.Entry.t()]
Returns all entries for a semantic surface ordered by priority and id.
@spec entries(table(), surface()) :: [MingaEditor.Agent.SemanticUI.Entry.t()]
@spec get(String.t()) :: MingaEditor.Agent.SemanticUI.Entry.t() | nil
Returns an entry by id.
@spec get(table(), String.t()) :: MingaEditor.Agent.SemanticUI.Entry.t() | nil
@spec panels() :: [Minga.RenderModel.UI.ExtensionPanel.Panel.t()]
Returns cached extension-panel panels contributed to agent UI.
@spec panels(table()) :: [Minga.RenderModel.UI.ExtensionPanel.Panel.t()]
@spec publish( source(), String.t(), payload(), [Minga.RenderModel.UI.Action.t() | map() | keyword()] | nil ) :: :ok | {:error, term()}
Publishes a new cached render-model payload for an existing entry.
@spec register( source(), register_attrs() | MingaEditor.Agent.SemanticUI.Entry.t() | keyword() ) :: :ok | {:error, term()}
Registers or replaces a source-owned semantic UI entry.
@spec register( table(), source(), register_attrs() | MingaEditor.Agent.SemanticUI.Entry.t() | keyword() ) :: :ok | {:error, term()}
@spec register_many(source(), [ register_attrs() | MingaEditor.Agent.SemanticUI.Entry.t() | keyword() ]) :: :ok | {:error, term()}
Registers a source-owned batch, replacing all prior entries owned by the same source.
@spec register_many(table(), source(), [ register_attrs() | MingaEditor.Agent.SemanticUI.Entry.t() | keyword() ]) :: :ok | {:error, term()}
@spec start_link(keyword()) :: GenServer.on_start()
Starts the semantic UI registry.
Returns the semantic UI registry table for a state-like value.
@spec transcript_enrichments() :: [ {pos_integer(), Minga.RenderModel.UI.AgentChat.message_body()} ]
Returns cached transcript enrichment bodies.
@spec transcript_enrichments(table()) :: [ {pos_integer(), Minga.RenderModel.UI.AgentChat.message_body()} ]
Unregisters an entry when it is owned by the caller's source.
@spec unregister_source(source()) :: :ok
Removes every semantic UI entry owned by a source.