{
  "id": "3094a78d-54ba-42dc-926d-7563a6a651bd",
  "prevId": "bf82349c-95b3-4edf-b8a0-2bc597b7c8b4",
  "version": "7",
  "dialect": "postgresql",
  "tables": {
    "public.junior_memory_embeddings": {
      "name": "junior_memory_embeddings",
      "schema": "",
      "columns": {
        "memory_id": {
          "name": "memory_id",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "provider": {
          "name": "provider",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "model": {
          "name": "model",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "dimensions": {
          "name": "dimensions",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "metric": {
          "name": "metric",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "content_hash": {
          "name": "content_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "embedding": {
          "name": "embedding",
          "type": "vector(1536)",
          "primaryKey": false,
          "notNull": true
        },
        "created_at_ms": {
          "name": "created_at_ms",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {
        "junior_memory_embeddings_model_idx": {
          "name": "junior_memory_embeddings_model_idx",
          "columns": [
            {
              "expression": "provider",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "model",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "dimensions",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "metric",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "junior_memory_embeddings_embedding_hnsw_idx": {
          "name": "junior_memory_embeddings_embedding_hnsw_idx",
          "columns": [
            {
              "expression": "embedding",
              "isExpression": false,
              "asc": true,
              "nulls": "last",
              "opclass": "vector_cosine_ops"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "hnsw",
          "with": {
            "m": 16,
            "ef_construction": 64
          }
        }
      },
      "foreignKeys": {
        "junior_memory_embeddings_memory_id_junior_memory_memories_id_fk": {
          "name": "junior_memory_embeddings_memory_id_junior_memory_memories_id_fk",
          "tableFrom": "junior_memory_embeddings",
          "tableTo": "junior_memory_memories",
          "columnsFrom": [
            "memory_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {
        "junior_memory_embeddings_metric_check": {
          "name": "junior_memory_embeddings_metric_check",
          "value": "\"junior_memory_embeddings\".\"metric\" IN ('cosine')"
        },
        "junior_memory_embeddings_dimensions_check": {
          "name": "junior_memory_embeddings_dimensions_check",
          "value": "\"junior_memory_embeddings\".\"dimensions\" = 1536"
        }
      },
      "isRLSEnabled": false
    },
    "public.junior_memory_memories": {
      "name": "junior_memory_memories",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "scope": {
          "name": "scope",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "scope_key": {
          "name": "scope_key",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "type": {
          "name": "type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "subject_type": {
          "name": "subject_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "subject_key": {
          "name": "subject_key",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "content": {
          "name": "content",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "search_vector": {
          "name": "search_vector",
          "type": "tsvector",
          "primaryKey": false,
          "notNull": false,
          "generated": {
            "as": "to_tsvector('english', \"content\")",
            "type": "stored"
          }
        },
        "source_platform": {
          "name": "source_platform",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "source_key": {
          "name": "source_key",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "location_id": {
          "name": "location_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "idempotency_key": {
          "name": "idempotency_key",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "observed_at_ms": {
          "name": "observed_at_ms",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "created_at_ms": {
          "name": "created_at_ms",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "expires_at_ms": {
          "name": "expires_at_ms",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false
        },
        "superseded_at_ms": {
          "name": "superseded_at_ms",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false
        },
        "superseded_by_id": {
          "name": "superseded_by_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "archived_at_ms": {
          "name": "archived_at_ms",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false
        },
        "archive_reason": {
          "name": "archive_reason",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {
        "junior_memory_memories_visible_idx": {
          "name": "junior_memory_memories_visible_idx",
          "columns": [
            {
              "expression": "scope",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "scope_key",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "created_at_ms",
              "isExpression": false,
              "asc": false,
              "nulls": "last"
            },
            {
              "expression": "id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "where": "\"junior_memory_memories\".\"archived_at_ms\" IS NULL AND \"junior_memory_memories\".\"superseded_at_ms\" IS NULL AND \"junior_memory_memories\".\"superseded_by_id\" IS NULL",
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "junior_memory_memories_expiration_idx": {
          "name": "junior_memory_memories_expiration_idx",
          "columns": [
            {
              "expression": "expires_at_ms",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "where": "\"junior_memory_memories\".\"archived_at_ms\" IS NULL AND \"junior_memory_memories\".\"expires_at_ms\" IS NOT NULL",
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "junior_memory_memories_search_idx": {
          "name": "junior_memory_memories_search_idx",
          "columns": [
            {
              "expression": "scope",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "scope_key",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "search_vector",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "where": "\"junior_memory_memories\".\"archived_at_ms\" IS NULL AND \"junior_memory_memories\".\"superseded_at_ms\" IS NULL AND \"junior_memory_memories\".\"superseded_by_id\" IS NULL",
          "concurrently": false,
          "method": "gin",
          "with": {}
        },
        "junior_memory_memories_idempotency_idx": {
          "name": "junior_memory_memories_idempotency_idx",
          "columns": [
            {
              "expression": "scope",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "scope_key",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "idempotency_key",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "where": "\"junior_memory_memories\".\"idempotency_key\" IS NOT NULL AND \"junior_memory_memories\".\"archived_at_ms\" IS NULL AND \"junior_memory_memories\".\"superseded_at_ms\" IS NULL AND \"junior_memory_memories\".\"superseded_by_id\" IS NULL",
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {
        "junior_memory_memories_scope_check": {
          "name": "junior_memory_memories_scope_check",
          "value": "\"junior_memory_memories\".\"scope\" IN ('private', 'public')"
        },
        "junior_memory_memories_kind_check": {
          "name": "junior_memory_memories_kind_check",
          "value": "\"junior_memory_memories\".\"type\" IN (\n        'preference',\n        'procedure',\n        'knowledge'\n      )"
        },
        "junior_memory_memories_subject_type_check": {
          "name": "junior_memory_memories_subject_type_check",
          "value": "\"junior_memory_memories\".\"subject_type\" IN ('user', 'conversation', 'general')"
        },
        "junior_memory_memories_subject_key_check": {
          "name": "junior_memory_memories_subject_key_check",
          "value": "(\"junior_memory_memories\".\"subject_type\" = 'general' AND \"junior_memory_memories\".\"subject_key\" IS NULL) OR (\"junior_memory_memories\".\"subject_type\" IN ('user', 'conversation') AND \"junior_memory_memories\".\"subject_key\" IS NOT NULL AND length(\"junior_memory_memories\".\"subject_key\") > 0)"
        },
        "junior_memory_memories_source_platform_check": {
          "name": "junior_memory_memories_source_platform_check",
          "value": "\"junior_memory_memories\".\"source_platform\" IN ('slack', 'local', 'web')"
        }
      },
      "isRLSEnabled": false
    }
  },
  "enums": {},
  "schemas": {},
  "sequences": {},
  "roles": {},
  "policies": {},
  "views": {},
  "_meta": {
    "columns": {},
    "schemas": {},
    "tables": {}
  }
}
