# LibTmux.Schema

- **Module:** LibTmux
- **Package:** libtmux
- **Language:** Elixir
- **Kind:** module
- **Source:** https://github.com/libtmux/libtmux-elixir/blob/66b9b1c3f3f3186428abdfda2c76f5cf87446710/lib/libtmux/schema.ex#L1
- **Page:** https://libtmux.org/en/elixir/latest/reference/libtmux-schema/

Defines observed fields, wire names and graph relations.

The table is a semantic overlay on tmux 3.3 format variables. It drives
observation validation, portable filtering and reference generation. Empty text
remains text; only explicitly nullable fields admit `nil`.

## Members

### Common operations

- [`fields/1`](/en/elixir/latest/reference/libtmux-schema-fields-1/) (function): Returns the whitelisted field metadata for an entity.

### Other members

- [`entities/0`](/en/elixir/latest/reference/libtmux-schema-entities-0/) (function): Returns supported entity names in a stable order.
- [`entity_module/0`](/en/elixir/latest/reference/libtmux-schema-entity_module-0/) (typealias): The observation struct modules accepted alongside canonical entity names.
- [`entity_selector/0`](/en/elixir/latest/reference/libtmux-schema-entity_selector-0/) (typealias): A canonical entity atom or its corresponding observation module.
- [`entity/0`](/en/elixir/latest/reference/libtmux-schema-entity-0/) (typealias): An entity's canonical local name. Physical windows and membership links are distinct.
- [`entity/1`](/en/elixir/latest/reference/libtmux-schema-entity-1/) (function): Resolves an entity atom or its observation module.
- [`field/0`](/en/elixir/latest/reference/libtmux-schema-field-0/) (typealias): Field metadata shared by validation and documentation; nil format identifies a derived field.
- [`field/2`](/en/elixir/latest/reference/libtmux-schema-field-2/) (function): Returns field metadata, or nil for a field outside the schema.
- [`module/1`](/en/elixir/latest/reference/libtmux-schema-module-1/) (function): Returns the ordinary observation struct module for an entity.
- [`observation/0`](/en/elixir/latest/reference/libtmux-schema-observation-0/) (typealias): One physical or contextual observation from a captured graph.
- [`observed/1`](/en/elixir/latest/reference/libtmux-schema-observed-1/) (typealias): A known value, unloaded coverage, or an unavailable capability; nil belongs to the value type.
- [`operator/0`](/en/elixir/latest/reference/libtmux-schema-operator-0/) (typealias): A scalar filter operator; each field category permits only its applicable subset.
- [`operators/1`](/en/elixir/latest/reference/libtmux-schema-operators-1/) (function): Returns the portable operators allowed by a scalar field's value category.
- [`relation_wire/1`](/en/elixir/latest/reference/libtmux-schema-relation_wire-1/) (function): Returns a relation's explicit stable wire name.
- [`relation/0`](/en/elixir/latest/reference/libtmux-schema-relation-0/) (typealias): The cardinality and target entity of one indexed graph relation.
- [`relations/1`](/en/elixir/latest/reference/libtmux-schema-relations-1/) (function): Returns each relation's cardinality and target entity.
- [`value_type/0`](/en/elixir/latest/reference/libtmux-schema-value_type-0/) (typealias): A field's validation category; integer fields use the schema's nonnegative 32-bit range.
