Sparkline

An inline trend line with no axes — a word-sized chart for embedding beside stats and in prose-dense layouts.

rendered, live
the wire — click a line to scrub
the contract — Sparkline in catalog.json
{
  "type": "object",
  "description": "An inline trend line with no axes — a word-sized chart for embedding beside stats and in prose-dense layouts.",
  "properties": {
    "component": {
      "const": "Sparkline"
    },
    "label": {
      "$ref": "https://a2ui.org/specification/v1_0/common_types.json#/$defs/DynamicString",
      "description": "What the trend shows, e.g. 'p95 latency, last hour'. Required — it is the accessible name; the renderer also derives a text summary from the data."
    },
    "values": {
      "oneOf": [
        {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        {
          "$ref": "https://a2ui.org/specification/v1_0/common_types.json#/$defs/DataBinding"
        }
      ],
      "description": "The data points, raw numbers. Bind with {\"path\": ...} to stream new readings."
    },
    "intent": {
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "good",
            "bad",
            "warning",
            "info",
            "neutral"
          ]
        },
        {
          "$ref": "https://a2ui.org/specification/v1_0/common_types.json#/$defs/DataBinding"
        },
        {
          "$ref": "https://a2ui.org/specification/v1_0/common_types.json#/$defs/FunctionCall"
        }
      ],
      "description": "Judgment of the trend on the shared scale. Default: 'neutral'.",
      "default": "neutral"
    }
  },
  "required": [
    "component",
    "label",
    "values"
  ]
}
the prompt-pack — paste into your agent
### Sparkline — an inline trend

A word-sized trend line, no axes — for embedding beside stats or in dense layouts.

| prop     | type                   | required | notes                                      |
| -------- | ---------------------- | -------- | ------------------------------------------ |
| `label`  | string                 | yes      | what the trend shows                       |
| `values` | number[] \| `{"path"}` | yes      | raw numbers; bind to stream readings       |
| `intent` | intent scale           | no       | judgment of the trend; default `"neutral"` |

```
{"id":"latency_trend","component":"Sparkline","label":"p95 latency, last hour","values":{"path":"/p95Readings"},"intent":"warning"}
```