# xyz.quasigod.lab.letta.defs

> Published by [quasigod.spaces-alpha.bsky.network](https://lexicon.garden/identity/did:plc:7pezv7mb4agwyktraauhl26g)

## Description

Shared definitions for the letta space lexicons. No `main` definition: this lexicon exists only to be referenced from the record lexicons.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:7pezv7mb4agwyktraauhl26g/xyz.quasigod.lab.letta.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:7pezv7mb4agwyktraauhl26g/xyz.quasigod.lab.letta.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:7pezv7mb4agwyktraauhl26g/xyz.quasigod.lab.letta.defs/examples)

## Definitions

### `xyz.quasigod.lab.letta.defs#modelSettings`

**Type**: `object`

Tunables for a model. The keys here are the ones letta reads and forwards to the model runtime.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `maxTokens` | `integer` | No | Maximum output tokens per turn. Null lets the model decide. |
| `enableReasoner` | `boolean` | No | Whether the reasoner is enabled when the model supports it. Expected to be true. |
| `reasoningEffort` | `string` | No | Reasoning effort knob (e.g. low/medium/high). Free-form: model providers differ. |
| `thinkingDisabled` | `boolean` | No | True when the model's thinking mode is explicitly disabled. Expected to be false. |
| `parallelToolCalls` | `boolean` | No | Whether the model may issue multiple tool calls per turn. Expected to be true. |
| `contextWindowLimit` | `integer` | No | Context window size in tokens. When absent, the model default is used. |

### `xyz.quasigod.lab.letta.defs#compactionSettings`

**Type**: `object`

Automatic-compaction behavior for a conversation.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `mode` | `string` | No | Compact the whole history, or only the oldest fraction beyond the sliding window. |
| `model` | `string` | No | Optional model override for the summarization call. |
| `prompt` | `string` | No | Custom summarization prompt. Null/absent uses the default. |
| `clipChars` | `integer` | No | Maximum characters kept in the conversation window before compaction. |
| `modelSettings` | `unknown` | No | Free-form settings for the summarization model. |
| `slidingWindowPercentage` | `number` | No | Fraction of the context window retained after a sliding-window compaction. |

## Raw Schema

```json
{
  "id": "xyz.quasigod.lab.letta.defs",
  "defs": {
    "modelSettings": {
      "type": "object",
      "properties": {
        "maxTokens": {
          "type": "integer",
          "minimum": 0,
          "description": "Maximum output tokens per turn. Null lets the model decide."
        },
        "enableReasoner": {
          "type": "boolean",
          "description": "Whether the reasoner is enabled when the model supports it. Expected to be true."
        },
        "reasoningEffort": {
          "type": "string",
          "maxLength": 32,
          "description": "Reasoning effort knob (e.g. low/medium/high). Free-form: model providers differ."
        },
        "thinkingDisabled": {
          "type": "boolean",
          "description": "True when the model's thinking mode is explicitly disabled. Expected to be false."
        },
        "parallelToolCalls": {
          "type": "boolean",
          "description": "Whether the model may issue multiple tool calls per turn. Expected to be true."
        },
        "contextWindowLimit": {
          "type": "integer",
          "minimum": 0,
          "description": "Context window size in tokens. When absent, the model default is used."
        }
      },
      "description": "Tunables for a model. The keys here are the ones letta reads and forwards to the model runtime."
    },
    "compactionSettings": {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "description": "Compact the whole history, or only the oldest fraction beyond the sliding window.",
          "knownValues": [
            "all",
            "sliding_window"
          ]
        },
        "model": {
          "type": "string",
          "maxLength": 256,
          "description": "Optional model override for the summarization call."
        },
        "prompt": {
          "type": "string",
          "maxLength": 100000,
          "description": "Custom summarization prompt. Null/absent uses the default."
        },
        "clipChars": {
          "type": "integer",
          "minimum": 0,
          "description": "Maximum characters kept in the conversation window before compaction."
        },
        "modelSettings": {
          "type": "unknown",
          "description": "Free-form settings for the summarization model."
        },
        "slidingWindowPercentage": {
          "type": "number",
          "maximum": 1,
          "minimum": 0,
          "description": "Fraction of the context window retained after a sliding-window compaction."
        }
      },
      "description": "Automatic-compaction behavior for a conversation."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "Shared definitions for the letta space lexicons. No `main` definition: this lexicon exists only to be referenced from the record lexicons."
}
```
