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

# Reference

> Every public symbol, which namespace it is imported from, where it is documented, and what the reference section covers.

The look-it-up section: signatures, parameters, defaults, attributes and what
raises what. The conceptual pages explain why a mechanism exists — this one says
what it takes.

The public surface is two namespaces. `charter` holds tools, markers, transforms
and errors. `charter.auth` holds credentials and OAuth, all of it, with nothing
re-exported from `charter`, so each name has exactly one import path and the
inventory below says which. Everything outside those two is internal and free to
move between releases: `charter.execution` in particular is the runtime, not an API.

## The pages

| Page                                                                    | Covers                                                                            |
| ----------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [Tool](/charter/charter/reference/tool)                                         | the object one endpoint compiles to                                               |
| [Factories](/charter/charter/reference/factories)                               | `api_key_tool_factory`, `oauth_tool_factory`, and the builder they return         |
| [Schema markers](/charter/charter/reference/markers)                            | `Path`, `Query`, `Body`, `Format`, `Mode`, `Case`, `KeyCase`, `TransportOverride` |
| [Semantic types](/charter/charter/reference/semantic-types)                     | the shapes a model fills in before a transform encodes them                       |
| [Protobuf types](/charter/charter/reference/protobuf-types)                     | the `google.protobuf` well-known types as Pydantic models                         |
| [Credentials](/charter/charter/reference/credentials)                           | providers, and the subject machinery for many end users                           |
| [OAuth](/charter/charter/reference/oauth)                                       | servers, clients, and the two steps of obtaining a grant                          |
| [Envelopes and pagination](/charter/charter/reference/envelopes-and-pagination) | failure inside a 200, and where the cursor lives                                  |
| [Transforms](/charter/charter/reference/transforms)                             | the registry, and the ten built-in transforms                                     |
| [Response handling](/charter/charter/reference/response-handling)               | trimming a payload before the model reads it                                      |
| [Observability and egress](/charter/charter/reference/observability)            | what a call cost, and what the model can see                                      |
| [Errors](/charter/charter/reference/errors)                                     | the exception hierarchy                                                           |
| [Configuration](/charter/charter/reference/configuration)                       | `configure()`, the tuning settings, the environment                               |
| [Command line](/charter/charter/reference/cli)                                  | `python -m charter.mcp`                                                           |

## `__version__`

```python theme={null}
__version__: str
```

The installed version, as a string.

```python theme={null}
import charter

assert charter.__version__.count(".") == 2
```

## Every public symbol

Generated from `charter.__all__` and `charter.auth.__all__` by
`scripts/generate_reference_docs.py`, and checked by
`tests/test_reference_docs.py`: a symbol added to the public surface
without a reference entry turns the suite red.

| Symbol                    | Import from    | Page                                                                                     |
| ------------------------- | -------------- | ---------------------------------------------------------------------------------------- |
| `__version__`             | `charter`      | [overview](/charter/charter/reference/overview#__version__)                                      |
| `api_key_tool_factory`    | `charter`      | [factories](/charter/charter/reference/factories#api_key_tool_factory)                           |
| `APIError`                | `charter`      | [errors](/charter/charter/reference/errors#apierror)                                             |
| `apply_transform`         | `charter`      | [transforms](/charter/charter/reference/transforms#apply_transform)                              |
| `AuthorizationRequest`    | `charter.auth` | [oauth](/charter/charter/reference/oauth#authorizationrequest)                                   |
| `Body`                    | `charter`      | [markers](/charter/charter/reference/markers#body)                                               |
| `CalendarEvent`           | `charter`      | [semantic-types](/charter/charter/reference/semantic-types#calendarevent)                        |
| `CallbackProvider`        | `charter.auth` | [credentials](/charter/charter/reference/credentials#callbackprovider)                           |
| `CallCollector`           | `charter`      | [observability](/charter/charter/reference/observability#callcollector)                          |
| `CallSink`                | `charter`      | [observability](/charter/charter/reference/observability#callsink)                               |
| `Case`                    | `charter`      | [markers](/charter/charter/reference/markers#case)                                               |
| `CharterError`            | `charter`      | [errors](/charter/charter/reference/errors#chartererror)                                         |
| `collecting`              | `charter`      | [observability](/charter/charter/reference/observability#collecting)                             |
| `conflict_map`            | `charter`      | [observability](/charter/charter/reference/observability#conflict_map)                           |
| `ConflictsWith`           | `charter`      | [markers](/charter/charter/reference/markers#conflictswith)                                      |
| `CredentialError`         | `charter`      | [errors](/charter/charter/reference/errors#credentialerror)                                      |
| `CredentialProvider`      | `charter.auth` | [credentials](/charter/charter/reference/credentials#credentialprovider)                         |
| `Credentials`             | `charter.auth` | [credentials](/charter/charter/reference/credentials#credentials)                                |
| `current_subject`         | `charter.auth` | [credentials](/charter/charter/reference/credentials#current_subject)                            |
| `DeclarationError`        | `charter`      | [errors](/charter/charter/reference/errors#declarationerror)                                     |
| `decode_base64url`        | `charter`      | [response-handling](/charter/charter/reference/response-handling#decode_base64url)               |
| `DocumentContent`         | `charter`      | [semantic-types](/charter/charter/reference/semantic-types#documentcontent)                      |
| `egress_map`              | `charter`      | [observability](/charter/charter/reference/observability#egress_map)                             |
| `EmailContent`            | `charter`      | [semantic-types](/charter/charter/reference/semantic-types#emailcontent)                         |
| `Envelope`                | `charter`      | [envelopes-and-pagination](/charter/charter/reference/envelopes-and-pagination#envelope)         |
| `EnvTokenProvider`        | `charter.auth` | [credentials](/charter/charter/reference/credentials#envtokenprovider)                           |
| `FieldMask`               | `charter`      | [protobuf-types](/charter/charter/reference/protobuf-types#fieldmask)                            |
| `FileContent`             | `charter`      | [semantic-types](/charter/charter/reference/semantic-types#filecontent)                          |
| `Format`                  | `charter`      | [markers](/charter/charter/reference/markers#format)                                             |
| `format_call_line`        | `charter`      | [observability](/charter/charter/reference/observability#format_call_line)                       |
| `format_call_summary`     | `charter`      | [observability](/charter/charter/reference/observability#format_call_summary)                    |
| `format_conflicts`        | `charter`      | [observability](/charter/charter/reference/observability#format_conflicts)                       |
| `format_egress_map`       | `charter`      | [observability](/charter/charter/reference/observability#format_egress_map)                      |
| `get_transform`           | `charter`      | [transforms](/charter/charter/reference/transforms#get_transform)                                |
| `Gloss`                   | `charter`      | [markers](/charter/charter/reference/markers#gloss)                                              |
| `Grant`                   | `charter.auth` | [oauth](/charter/charter/reference/oauth#grant)                                                  |
| `GRAPHQL_ENVELOPE`        | `charter`      | [envelopes-and-pagination](/charter/charter/reference/envelopes-and-pagination#graphql_envelope) |
| `html_to_text`            | `charter`      | [response-handling](/charter/charter/reference/response-handling#html_to_text)                   |
| `json_tokens`             | `charter`      | [tool-discovery](/charter/charter/reference/tool-discovery#json_tokens)                          |
| `KeyCase`                 | `charter`      | [markers](/charter/charter/reference/markers#keycase)                                            |
| `ListValue`               | `charter`      | [protobuf-types](/charter/charter/reference/protobuf-types#listvalue)                            |
| `Mode`                    | `charter`      | [markers](/charter/charter/reference/markers#mode)                                               |
| `NullValue`               | `charter`      | [protobuf-types](/charter/charter/reference/protobuf-types#nullvalue)                            |
| `OAuth2Client`            | `charter.auth` | [oauth](/charter/charter/reference/oauth#oauth2client)                                           |
| `OAuth2Flow`              | `charter.auth` | [oauth](/charter/charter/reference/oauth#oauth2flow)                                             |
| `OAuth2Server`            | `charter.auth` | [oauth](/charter/charter/reference/oauth#oauth2server)                                           |
| `oauth_tool_factory`      | `charter`      | [factories](/charter/charter/reference/factories#oauth_tool_factory)                             |
| `OnRefresh`               | `charter.auth` | [oauth](/charter/charter/reference/oauth#onrefresh)                                              |
| `Pagination`              | `charter`      | [envelopes-and-pagination](/charter/charter/reference/envelopes-and-pagination#pagination)       |
| `partial_of`              | `charter`      | [markers](/charter/charter/reference/markers#partial_of)                                         |
| `Path`                    | `charter`      | [markers](/charter/charter/reference/markers#path)                                               |
| `PathCost`                | `charter`      | [tool](/charter/charter/reference/tool#pathcost)                                                 |
| `qualified_name`          | `charter`      | [naming](/charter/charter/reference/naming#qualified_name)                                       |
| `qualified_names`         | `charter`      | [naming](/charter/charter/reference/naming#qualified_names)                                      |
| `Query`                   | `charter`      | [markers](/charter/charter/reference/markers#query)                                              |
| `register_transform`      | `charter`      | [transforms](/charter/charter/reference/transforms#register_transform)                           |
| `ResponseHandler`         | `charter`      | [response-handling](/charter/charter/reference/response-handling#responsehandler)                |
| `schema_tokens`           | `charter`      | [tool-discovery](/charter/charter/reference/tool-discovery#schema_tokens)                        |
| `scopes_for`              | `charter.auth` | [oauth](/charter/charter/reference/oauth#scopes_for)                                             |
| `states_match`            | `charter.auth` | [oauth](/charter/charter/reference/oauth#states_match)                                           |
| `StaticTokenProvider`     | `charter.auth` | [credentials](/charter/charter/reference/credentials#statictokenprovider)                        |
| `Struct`                  | `charter`      | [protobuf-types](/charter/charter/reference/protobuf-types#struct)                               |
| `SubjectProvider`         | `charter.auth` | [credentials](/charter/charter/reference/credentials#subjectprovider)                            |
| `TokenEndpointAuthMethod` | `charter.auth` | [oauth](/charter/charter/reference/oauth#tokenendpointauthmethod)                                |
| `TokenGrant`              | `charter.auth` | [oauth](/charter/charter/reference/oauth#tokengrant)                                             |
| `Tool`                    | `charter`      | [tool](/charter/charter/reference/tool#tool)                                                     |
| `ToolCall`                | `charter`      | [observability](/charter/charter/reference/observability#toolcall)                               |
| `ToolSession`             | `charter`      | [tool-discovery](/charter/charter/reference/tool-discovery#toolsession)                          |
| `ToolValidationError`     | `charter`      | [errors](/charter/charter/reference/errors#toolvalidationerror)                                  |
| `TransformError`          | `charter`      | [errors](/charter/charter/reference/errors#transformerror)                                       |
| `TransformRegistry`       | `charter`      | [transforms](/charter/charter/reference/transforms#transformregistry)                            |
| `TransformSpec`           | `charter`      | [transforms](/charter/charter/reference/transforms#transformspec)                                |
| `TransportOverride`       | `charter`      | [markers](/charter/charter/reference/markers#transportoverride)                                  |
| `use_subject`             | `charter.auth` | [credentials](/charter/charter/reference/credentials#use_subject)                                |
| `Value`                   | `charter`      | [protobuf-types](/charter/charter/reference/protobuf-types#value)                                |
| `WireName`                | `charter`      | [markers](/charter/charter/reference/markers#wirename)                                           |
