ExBifrost.Api.Plugins (ex_bifrost v0.1.0)

Copy Markdown View Source

API calls for all endpoints tagged Plugins.

Summary

Functions

Create a new plugin Creates a new plugin with the specified configuration.

Delete a plugin Removes a plugin from the configuration and stops it if running.

Get a specific plugin Returns the configuration for a specific plugin. The response includes the plugin status with types array showing which interfaces the plugin implements (llm, mcp, http). The actualName field shows the plugin name from GetName() (used as the map key), which may differ from the display name (name).

List built-in plugin names Returns the canonical list of built-in plugin names available in this Bifrost build. Use this to discover which plugins can be enabled without supplying a custom binary.

List all plugins Returns a list of all plugins with their configurations and status. The actualName field contains the plugin name from GetName() (used as the map key), while name contains the display name from the configuration. The types array in the status shows which interfaces the plugin implements (llm, mcp, http).

Update a plugin Updates a plugin's configuration. Will reload or stop the plugin based on enabled status. The response actualName field shows the plugin name from GetName() (used as the map key), which may differ from the display name (name).

Functions

create_plugin(connection, create_plugin_request, opts \\ [])

Create a new plugin Creates a new plugin with the specified configuration.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • create_plugin_request (CreatePluginRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.CreatePlugin201Response.t} on success
  • {:error, Tesla.Env.t} on failure

delete_plugin(connection, name, opts \\ [])

@spec delete_plugin(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, ExBifrost.Model.MessageResponse.t()}
  | {:ok, ExBifrost.Model.BifrostError.t()}
  | {:error, Tesla.Env.t()}

Delete a plugin Removes a plugin from the configuration and stops it if running.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • name (String.t): Plugin display name (the config field name, not the internal actualName from GetName())
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.MessageResponse.t} on success
  • {:error, Tesla.Env.t} on failure

get_plugin(connection, name, opts \\ [])

@spec get_plugin(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, ExBifrost.Model.Plugin.t()}
  | {:ok, ExBifrost.Model.BifrostError.t()}
  | {:error, Tesla.Env.t()}

Get a specific plugin Returns the configuration for a specific plugin. The response includes the plugin status with types array showing which interfaces the plugin implements (llm, mcp, http). The actualName field shows the plugin name from GetName() (used as the map key), which may differ from the display name (name).

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • name (String.t): Plugin display name (the config field name, not the internal actualName from GetName())
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.Plugin.t} on success
  • {:error, Tesla.Env.t} on failure

list_builtin_plugins(connection, opts \\ [])

@spec list_builtin_plugins(
  Tesla.Env.client(),
  keyword()
) ::
  {:ok, ExBifrost.Model.ListBuiltinPlugins200Response.t()}
  | {:ok, ExBifrost.Model.BifrostError.t()}
  | {:error, Tesla.Env.t()}

List built-in plugin names Returns the canonical list of built-in plugin names available in this Bifrost build. Use this to discover which plugins can be enabled without supplying a custom binary.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.ListBuiltinPlugins200Response.t} on success
  • {:error, Tesla.Env.t} on failure

list_plugins(connection, opts \\ [])

@spec list_plugins(
  Tesla.Env.client(),
  keyword()
) ::
  {:ok, ExBifrost.Model.BifrostError.t()}
  | {:ok, ExBifrost.Model.ListPluginsResponse.t()}
  | {:error, Tesla.Env.t()}

List all plugins Returns a list of all plugins with their configurations and status. The actualName field contains the plugin name from GetName() (used as the map key), while name contains the display name from the configuration. The types array in the status shows which interfaces the plugin implements (llm, mcp, http).

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.ListPluginsResponse.t} on success
  • {:error, Tesla.Env.t} on failure

update_plugin(connection, name, update_plugin_request, opts \\ [])

Update a plugin Updates a plugin's configuration. Will reload or stop the plugin based on enabled status. The response actualName field shows the plugin name from GetName() (used as the map key), which may differ from the display name (name).

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • name (String.t): Plugin display name (the config field name, not the internal actualName from GetName())
  • update_plugin_request (UpdatePluginRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.CreatePlugin201Response.t} on success
  • {:error, Tesla.Env.t} on failure