{
  "$ref": "#/definitions/MemorySearchRequest",
  "definitions": {
    "MemorySearchRequest": {
      "type": "object",
      "properties": {
        "query": {
          "type": "string"
        },
        "queryVector": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "topK": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 20
        },
        "layers": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "stm",
              "ltm",
              "episodic",
              "semantic",
              "documentary"
            ]
          }
        },
        "minImportance": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "sessionId": {
          "type": "string"
        },
        "episodeId": {
          "type": "string"
        },
        "includeReferences": {
          "type": "boolean",
          "default": true
        }
      },
      "additionalProperties": false
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}