# org.designtxt.resolver

> Published by [bomberstudios.com](https://lexicon.garden/identity/did:plc:34yvx4hv64znmh2i2fezoyqx)

✓ This is the authoritative definition for this NSID.

## Description

A resolver document for multi-context design tokens (theming, breakpoints, accessibility modes). Follows the DTCG Resolver 2025.10 specification. Describes how token sets and contextual modifiers combine to produce resolved token values for a given input.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:34yvx4hv64znmh2i2fezoyqx/org.designtxt.resolver)
- [Documentation](https://lexicon.garden/lexicon/did:plc:34yvx4hv64znmh2i2fezoyqx/org.designtxt.resolver/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:34yvx4hv64znmh2i2fezoyqx/org.designtxt.resolver/examples)

## Definitions

### `org.designtxt.resolver`

**Type**: `record`

A resolver document that declares token sets and contextual modifiers, with a resolution order that determines how they compose. Given an input (e.g. {theme: 'dark', size: 'compact'}), a resolver produces a flat, contextually-appropriate token set.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `defs` | `object` | No | JSON Schema $defs for bundling inline token references. Maps to the DTCG $defs field. Tools may ignore this key. |
| `name` | `string` | No | Short human-readable name for this resolver document. |
| `sets` | `object` | No | Named sets of design token sources. Keys are set names; values are set definitions with a 'sources' array and optional 'description' and 'extensions'. |
| `schema` | `string` | No | Optional URL of a JSON Schema for this resolver document. Maps to the DTCG $schema field. |
| `version` | `string` | Yes | Resolver format version. Must be '2025.10' per DTCG Resolver spec. |
| `modifiers` | `object` | No | Named modifiers for contextual token overrides. Keys are modifier names; values have a 'contexts' map (string to token sources array), optional 'description', optional 'default', and optional 'extensions'. |
| `extensions` | `object` | No | Vendor-specific extension data. Maps to the DTCG $extensions field. Keys should use reverse-domain notation. |
| `description` | `string` | No | Human-readable description of this resolver's purpose. |
| `resolutionOrder` | `array` | Yes | Ordered list of sets and modifiers that determines the resolution cascade. Later items override earlier ones on conflict. Each entry is a reference object ({$ref: string}) or an inline definition ({name, type: 'set'\|'modifier', ...}). |

## Raw Schema

```json
{
  "id": "org.designtxt.resolver",
  "defs": {
    "main": {
      "key": "any",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "version",
          "resolutionOrder"
        ],
        "properties": {
          "defs": {
            "type": "object",
            "description": "JSON Schema $defs for bundling inline token references. Maps to the DTCG $defs field. Tools may ignore this key."
          },
          "name": {
            "type": "string",
            "maxLength": 256,
            "description": "Short human-readable name for this resolver document."
          },
          "sets": {
            "type": "object",
            "properties": {},
            "description": "Named sets of design token sources. Keys are set names; values are set definitions with a 'sources' array and optional 'description' and 'extensions'."
          },
          "schema": {
            "type": "string",
            "maxLength": 2048,
            "description": "Optional URL of a JSON Schema for this resolver document. Maps to the DTCG $schema field."
          },
          "version": {
            "type": "string",
            "const": "2025.10",
            "maxLength": 16,
            "description": "Resolver format version. Must be '2025.10' per DTCG Resolver spec."
          },
          "modifiers": {
            "type": "object",
            "properties": {},
            "description": "Named modifiers for contextual token overrides. Keys are modifier names; values have a 'contexts' map (string to token sources array), optional 'description', optional 'default', and optional 'extensions'."
          },
          "extensions": {
            "type": "object",
            "description": "Vendor-specific extension data. Maps to the DTCG $extensions field. Keys should use reverse-domain notation."
          },
          "description": {
            "type": "string",
            "maxLength": 4096,
            "description": "Human-readable description of this resolver's purpose."
          },
          "resolutionOrder": {
            "type": "array",
            "items": {
              "type": "unknown"
            },
            "description": "Ordered list of sets and modifiers that determines the resolution cascade. Later items override earlier ones on conflict. Each entry is a reference object ({$ref: string}) or an inline definition ({name, type: 'set'|'modifier', ...})."
          }
        },
        "description": "Root of a resolver document."
      },
      "description": "A resolver document that declares token sets and contextual modifiers, with a resolution order that determines how they compose. Given an input (e.g. {theme: 'dark', size: 'compact'}), a resolver produces a flat, contextually-appropriate token set."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "A resolver document for multi-context design tokens (theming, breakpoints, accessibility modes). Follows the DTCG Resolver 2025.10 specification. Describes how token sets and contextual modifiers combine to produce resolved token values for a given input."
}
```
