{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--RollingMemoryUnit.json",
  "title": "RollingMemoryUnit",
  "description": "Memory unit that only retrieves the most recent messages that are under a token limit. Does not summarize removed messages.",
  "x-lintel": {
    "source": "https://www.eidolonai.com/json_schema/v1/schemas/MemoryUnit/RollingMemoryUnit.json",
    "sourceSha256": "bceb5f064bdf6328bb3805a23a30dc6ba6d63adc94bb4a36bd55d77b63e8ad64"
  },
  "type": "object",
  "properties": {
    "implementation": {
      "const": "RollingMemoryUnit",
      "title": "Implementation"
    },
    "encoding": {
      "default": "o200k_base",
      "description": "tiktoken encoding to use when counting tokens",
      "title": "Encoding",
      "type": "string"
    },
    "token_limit": {
      "default": 32000,
      "description": "The maximum number of message tokens to sent to llm",
      "title": "Token Limit",
      "type": "integer"
    }
  },
  "additionalProperties": false,
  "required": [
    "implementation"
  ],
  "reference_details": {
    "clz": "eidolon_ai_sdk.apu.RollingMemoryUnit.RollingMemoryUnit",
    "groups": [
      "MemoryUnit"
    ],
    "name": "RollingMemoryUnit",
    "overrides": {}
  }
}
