{
  "version": "6",
  "dialect": "sqlite",
  "id": "12d98e39-6c18-4ede-b0bc-e095e1e4fee4",
  "prevId": "d0d9a9e3-9ad3-4723-8936-21e227f79dfc",
  "tables": {
    "conversation_budgets": {
      "name": "conversation_budgets",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true,
          "autoincrement": false
        },
        "session_id": {
          "name": "session_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "max_tokens": {
          "name": "max_tokens",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "max_cost_usd": {
          "name": "max_cost_usd",
          "type": "real",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "max_duration_ms": {
          "name": "max_duration_ms",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "used_tokens": {
          "name": "used_tokens",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "used_cost_usd": {
          "name": "used_cost_usd",
          "type": "real",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "used_duration_ms": {
          "name": "used_duration_ms",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "updated_at": {
          "name": "updated_at",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        }
      },
      "indexes": {
        "conversation_budgets_session_id_idx": {
          "name": "conversation_budgets_session_id_idx",
          "columns": [
            "session_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "conversation_budgets_session_id_sessions_id_fk": {
          "name": "conversation_budgets_session_id_sessions_id_fk",
          "tableFrom": "conversation_budgets",
          "tableTo": "sessions",
          "columnsFrom": [
            "session_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "checkConstraints": {}
    },
    "conversation_files": {
      "name": "conversation_files",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true,
          "autoincrement": false
        },
        "session_id": {
          "name": "session_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "file_path": {
          "name": "file_path",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "file_content": {
          "name": "file_content",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "content_hash": {
          "name": "content_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "added_at": {
          "name": "added_at",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "last_accessed_at": {
          "name": "last_accessed_at",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "access_count": {
          "name": "access_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "is_relevant": {
          "name": "is_relevant",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "default": true
        }
      },
      "indexes": {
        "conversation_files_session_id_idx": {
          "name": "conversation_files_session_id_idx",
          "columns": [
            "session_id"
          ],
          "isUnique": false
        },
        "conversation_files_content_hash_idx": {
          "name": "conversation_files_content_hash_idx",
          "columns": [
            "content_hash"
          ],
          "isUnique": false
        },
        "conversation_files_relevance_idx": {
          "name": "conversation_files_relevance_idx",
          "columns": [
            "session_id",
            "is_relevant"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "conversation_files_session_id_sessions_id_fk": {
          "name": "conversation_files_session_id_sessions_id_fk",
          "tableFrom": "conversation_files",
          "tableTo": "sessions",
          "columnsFrom": [
            "session_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "checkConstraints": {}
    },
    "conversation_messages": {
      "name": "conversation_messages",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true,
          "autoincrement": false
        },
        "session_id": {
          "name": "session_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "message_index": {
          "name": "message_index",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "timestamp": {
          "name": "timestamp",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "role": {
          "name": "role",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "content": {
          "name": "content",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "tool_name": {
          "name": "tool_name",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "parent_message_id": {
          "name": "parent_message_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "metadata": {
          "name": "metadata",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        }
      },
      "indexes": {
        "conversation_messages_session_id_idx": {
          "name": "conversation_messages_session_id_idx",
          "columns": [
            "session_id"
          ],
          "isUnique": false
        },
        "conversation_messages_timestamp_idx": {
          "name": "conversation_messages_timestamp_idx",
          "columns": [
            "timestamp"
          ],
          "isUnique": false
        },
        "conversation_messages_message_index_idx": {
          "name": "conversation_messages_message_index_idx",
          "columns": [
            "session_id",
            "message_index"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "conversation_messages_session_id_sessions_id_fk": {
          "name": "conversation_messages_session_id_sessions_id_fk",
          "tableFrom": "conversation_messages",
          "tableTo": "sessions",
          "columnsFrom": [
            "session_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "checkConstraints": {}
    },
    "llm_requests": {
      "name": "llm_requests",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true,
          "autoincrement": false
        },
        "timestamp": {
          "name": "timestamp",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "provider": {
          "name": "provider",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "model": {
          "name": "model",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "tool_name": {
          "name": "tool_name",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "input_tokens": {
          "name": "input_tokens",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "output_tokens": {
          "name": "output_tokens",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "total_tokens": {
          "name": "total_tokens",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "estimated_cost": {
          "name": "estimated_cost",
          "type": "real",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "duration_ms": {
          "name": "duration_ms",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "error_message": {
          "name": "error_message",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "request_data": {
          "name": "request_data",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "response_data": {
          "name": "response_data",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "finish_reason": {
          "name": "finish_reason",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        }
      },
      "indexes": {
        "llm_requests_timestamp_idx": {
          "name": "llm_requests_timestamp_idx",
          "columns": [
            "timestamp"
          ],
          "isUnique": false
        },
        "llm_requests_provider_idx": {
          "name": "llm_requests_provider_idx",
          "columns": [
            "provider"
          ],
          "isUnique": false
        },
        "llm_requests_status_idx": {
          "name": "llm_requests_status_idx",
          "columns": [
            "status"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "checkConstraints": {}
    },
    "sessions": {
      "name": "sessions",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "updated_at": {
          "name": "updated_at",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "last_message_at": {
          "name": "last_message_at",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'active'"
        },
        "metadata": {
          "name": "metadata",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        }
      },
      "indexes": {
        "sessions_created_at_idx": {
          "name": "sessions_created_at_idx",
          "columns": [
            "created_at"
          ],
          "isUnique": false
        },
        "sessions_status_idx": {
          "name": "sessions_status_idx",
          "columns": [
            "status"
          ],
          "isUnique": false
        },
        "sessions_last_message_at_idx": {
          "name": "sessions_last_message_at_idx",
          "columns": [
            "last_message_at"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "checkConstraints": {}
    }
  },
  "views": {},
  "enums": {},
  "_meta": {
    "schemas": {},
    "tables": {},
    "columns": {}
  },
  "internal": {
    "indexes": {}
  }
}