A file, data, or text resource generated by an agent during a task.
Required: artifactId, parts. No kind discriminator (spec choice).
artifactId
parts
kind
@type t() :: %A2aEngine.Types.Artifact{ artifact_id: String.t(), description: String.t() | nil, extensions: [String.t()] | nil, metadata: map() | nil, name: String.t() | nil, parts: [A2aEngine.Types.Part.t()] }
@spec from_map(map()) :: {:ok, t()} | {:error, term()}
@spec to_map(t()) :: map()