lib/pi/protocol/skill_info.ex
defmodule Pi.Protocol.SkillInfo do
@moduledoc "Executable skill shown in bridge startup info."
use JSONCodec, fast_path: :json
alias Pi.Protocol.API.Extension
defstruct [:name, :path, :module, metadata: %{}, markdown: "", apis: []]
@type t :: %__MODULE__{
name: String.t() | nil,
path: String.t() | nil,
module: module() | nil,
metadata: map(),
markdown: String.t(),
apis: [Extension.t()]
}
codec(:module, atom: :unsafe)
end