Codex.Plugins.Marketplace (Codex SDK v0.16.1)

Copy Markdown View Source

Local authoring model for .agents/plugins/marketplace.json.

Summary

Functions

Compatibility alias for parse!/1.

Parses marketplace data into a %Codex.Plugins.Marketplace{} struct.

Parses marketplace data and raises on invalid input.

Parses a single marketplace entry for add/update flows.

Returns the schema used to validate marketplace data.

Serializes a marketplace struct back into canonical JSON-compatible data.

Types

interface_t()

@type interface_t() :: %{display_name: String.t() | nil, extra: map()}

plugin_t()

@type plugin_t() :: %{
  name: String.t(),
  source: source_t(),
  policy: policy_t(),
  category: String.t(),
  extra: map()
}

policy_t()

@type policy_t() :: %{
  installation: Codex.Protocol.Plugin.InstallPolicy.t(),
  authentication: Codex.Protocol.Plugin.AuthPolicy.t(),
  products: [String.t()] | nil,
  extra: map()
}

source_t()

@type source_t() :: %{source: :local, path: String.t(), extra: map()}

t()

@type t() :: %Codex.Plugins.Marketplace{
  extra: map(),
  interface: (interface_t() | nil) | nil,
  name: String.t(),
  plugins: [plugin_t()]
}

Functions

from_map(data)

@spec from_map(map() | keyword() | t()) :: t()

Compatibility alias for parse!/1.

parse(value)

@spec parse(map() | keyword() | t()) ::
  {:ok, t()}
  | {:error,
     {:invalid_plugin_marketplace, CliSubprocessCore.Schema.error_detail()}}

Parses marketplace data into a %Codex.Plugins.Marketplace{} struct.

parse!(data)

@spec parse!(map() | keyword() | t()) :: t()

Parses marketplace data and raises on invalid input.

parse_plugin(plugin)

@spec parse_plugin(map() | keyword() | plugin_t()) ::
  {:ok, plugin_t()}
  | {:error,
     {:invalid_plugin_marketplace_plugin,
      CliSubprocessCore.Schema.error_detail()}}

Parses a single marketplace entry for add/update flows.

schema()

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

Returns the schema used to validate marketplace data.

to_map(value)

@spec to_map(t()) :: map()

Serializes a marketplace struct back into canonical JSON-compatible data.