27 lines
797 B
Go
27 lines
797 B
Go
package session
|
|
|
|
import (
|
|
"time"
|
|
|
|
"somegit.dev/Owlibou/gnoma/internal/message"
|
|
)
|
|
|
|
// Metadata holds session summary information persisted alongside messages.
|
|
type Metadata struct {
|
|
ID string `json:"id"`
|
|
Provider string `json:"provider"`
|
|
Model string `json:"model"`
|
|
TurnCount int `json:"turn_count"`
|
|
Usage message.Usage `json:"usage"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
MessageCount int `json:"message_count"`
|
|
}
|
|
|
|
// Snapshot is a complete serialisable representation of a session at a point in time.
|
|
type Snapshot struct {
|
|
ID string `json:"id"`
|
|
Metadata Metadata `json:"metadata"`
|
|
Messages []message.Message `json:"messages"`
|
|
}
|