# `A2A.Artifact`
[🔗](https://github.com/actioncard/a2a-elixir/blob/main/lib/a2a/artifact.ex#L1)

An output produced by an agent in response to a task.

Artifacts contain typed parts representing the result of agent work.

# `t`

```elixir
@type t() :: %A2A.Artifact{
  artifact_id: String.t(),
  description: String.t() | nil,
  extensions: [String.t()],
  metadata: map(),
  name: String.t() | nil,
  parts: [A2A.Part.t()]
}
```

# `new`

```elixir
@spec new([A2A.Part.t()], keyword()) :: t()
```

Creates a new artifact from parts.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
