// Code generated by sqlc. DO NOT EDIT.
// versions:
//   sqlc v1.29.0

package db

import (
	"database/sql"
)

type File struct {
	ID        string        `json:"id"`
	SessionID string        `json:"session_id"`
	Path      string        `json:"path"`
	Content   string        `json:"content"`
	Version   string        `json:"version"`
	IsNew     sql.NullInt64 `json:"is_new"`
	CreatedAt string        `json:"created_at"`
	UpdatedAt string        `json:"updated_at"`
}

type Log struct {
	ID         string         `json:"id"`
	SessionID  sql.NullString `json:"session_id"`
	Timestamp  string         `json:"timestamp"`
	Level      string         `json:"level"`
	Message    string         `json:"message"`
	Attributes sql.NullString `json:"attributes"`
	CreatedAt  string         `json:"created_at"`
	UpdatedAt  string         `json:"updated_at"`
}

type Message struct {
	ID         string         `json:"id"`
	SessionID  string         `json:"session_id"`
	Role       string         `json:"role"`
	Parts      string         `json:"parts"`
	Model      sql.NullString `json:"model"`
	CreatedAt  string         `json:"created_at"`
	UpdatedAt  string         `json:"updated_at"`
	FinishedAt sql.NullString `json:"finished_at"`
}

type Session struct {
	ID               string         `json:"id"`
	ParentSessionID  sql.NullString `json:"parent_session_id"`
	Title            string         `json:"title"`
	MessageCount     int64          `json:"message_count"`
	PromptTokens     int64          `json:"prompt_tokens"`
	CompletionTokens int64          `json:"completion_tokens"`
	Cost             float64        `json:"cost"`
	Summary          sql.NullString `json:"summary"`
	SummarizedAt     sql.NullString `json:"summarized_at"`
	UpdatedAt        string         `json:"updated_at"`
	CreatedAt        string         `json:"created_at"`
}
