> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Canonical Preset Key • AI Agent SDK

> canonical_preset_key: The single spelling rule for preset names. Validation and resolution must

# canonical\_preset\_key

<div className="flex items-center gap-2">
  <Badge color="teal">Function</Badge>
</div>

> This function is defined in the [**parse\_utils**](../modules/parse_utils) module.

The single spelling rule for preset names. Validation and resolution must
not disagree about what counts as the same preset, so both go through here.

Matching is case-insensitive, ignores surrounding whitespace, and treats
`-`/`_` as interchangeable.

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
def canonical_preset_key(value: str) -> str
```

## Parameters

<ParamField query="value" type="str" required={true}>
  No description available.
</ParamField>

### Returns

<ResponseField name="Returns" type="str">
  The result of the operation.
</ResponseField>

## Used By

* [`Agent.context_manager`](../functions/Agent-context_manager)
* [`canonical_runtime_name`](../functions/canonical_runtime_name)
* [`validate_preset_string`](../functions/validate_preset_string)

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/config/parse_utils.py#L198">
  `praisonaiagents/config/parse_utils.py` at line 198
</Card>
