Documentation
¶
Index ¶
- func DeleteModelPreference(database *db.DB, id string) error
- func Now() int64
- func SetModelPreference(database *db.DB, p *ModelPreference) error
- type MessageID
- type MessageInfo
- type MessageRole
- type MessageWithParts
- type ModelPreference
- type ModelPreferenceStore
- type Part
- type PartID
- type PartType
- type PermissionID
- type ReasoningPartData
- type Session
- type SessionID
- type Store
- func (s *Store) Create(session *Session) error
- func (s *Store) CreateMessage(msg *MessageInfo) error
- func (s *Store) CreatePart(part *Part) error
- func (s *Store) Delete(id SessionID) error
- func (s *Store) Get(id SessionID) (*Session, error)
- func (s *Store) GetMessage(messageID MessageID) (*MessageWithParts, error)
- func (s *Store) GetMessages(sessionID SessionID, before MessageID, limit int) ([]*MessageWithParts, error)
- func (s *Store) GetPart(partID PartID) (*Part, error)
- func (s *Store) GetParts(messageID MessageID) ([]Part, error)
- func (s *Store) List(directory string) ([]*Session, error)
- func (s *Store) Update(session *Session) error
- func (s *Store) UpdateCompactionSummary(id SessionID, summary string) error
- func (s *Store) UpdateMessage(msg *MessageInfo) error
- func (s *Store) UpdatePart(part *Part) error
- type TextPartData
- type TokenCounts
- type ToolPartData
- type ToolState
- type ToolStatus
- type ToolTime
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeleteModelPreference ¶
DeleteModelPreference removes a model preference from the database.
func SetModelPreference ¶
func SetModelPreference(database *db.DB, p *ModelPreference) error
SetModelPreference upserts a model preference into the database.
Types ¶
type MessageInfo ¶
type MessageInfo struct {
ID MessageID `json:"id"`
SessionID SessionID `json:"sessionId"`
Role MessageRole `json:"role"`
Agent string `json:"agent,omitempty"`
ParentID *MessageID `json:"parentId,omitempty"`
Finish *string `json:"finish,omitempty"`
Cost float64 `json:"cost,omitempty"`
Tokens *TokenCounts `json:"tokens,omitempty"`
Error *string `json:"error,omitempty"`
CreatedAt int64 `json:"createdAt"`
}
type MessageRole ¶
type MessageRole string
const ( RoleUser MessageRole = "user" RoleAssistant MessageRole = "assistant" )
type MessageWithParts ¶
type MessageWithParts struct {
Info MessageInfo `json:"info"`
Parts []Part `json:"parts"`
}
type ModelPreference ¶
type ModelPreference struct {
ID string `json:"id"`
Enabled bool `json:"enabled"`
ProviderID string `json:"providerId"`
DisplayName string `json:"displayName"`
IsCustom bool `json:"isCustom"`
CreatedAt int64 `json:"createdAt"`
UpdatedAt int64 `json:"updatedAt"`
}
func GetModelPreferences ¶
func GetModelPreferences(database *db.DB) ([]*ModelPreference, error)
GetModelPreferences returns all model preference overrides from the database.
type ModelPreferenceStore ¶
type ModelPreferenceStore struct{}
type PermissionID ¶
type PermissionID = id.PermissionID
func NewPermissionID ¶
func NewPermissionID() PermissionID
type ReasoningPartData ¶
type ReasoningPartData struct {
Text string `json:"text"`
}
type Session ¶
type Session struct {
ID SessionID `json:"id"`
ProjectID string `json:"projectId"`
Directory string `json:"directory"`
Title string `json:"title"`
Model string `json:"model,omitempty"`
SessionType string `json:"sessionType,omitempty"`
Permission string `json:"permission,omitempty"`
CompactionSummary string `json:"compactionSummary,omitempty"`
CreatedAt int64 `json:"createdAt"`
UpdatedAt int64 `json:"updatedAt"`
}
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
func (*Store) CreateMessage ¶
func (s *Store) CreateMessage(msg *MessageInfo) error
func (*Store) CreatePart ¶
func (*Store) GetMessage ¶
func (s *Store) GetMessage(messageID MessageID) (*MessageWithParts, error)
func (*Store) GetMessages ¶
func (*Store) UpdateCompactionSummary ¶
UpdateCompactionSummary updates only the compaction_summary column for a session, avoiding the race condition of overwriting other fields (e.g., title, model) that may have changed concurrently.
func (*Store) UpdateMessage ¶
func (s *Store) UpdateMessage(msg *MessageInfo) error
func (*Store) UpdatePart ¶
type TextPartData ¶
type TextPartData struct {
Text string `json:"text"`
}
type TokenCounts ¶
type ToolPartData ¶
type ToolState ¶
type ToolState struct {
Status ToolStatus `json:"status"`
Input json.RawMessage `json:"input"`
Output *string `json:"output,omitempty"`
Error *string `json:"error,omitempty"`
Title *string `json:"title,omitempty"`
Metadata json.RawMessage `json:"metadata,omitempty"`
Time ToolTime `json:"time"`
}
type ToolStatus ¶
type ToolStatus string
const ( ToolPending ToolStatus = "pending" ToolRunning ToolStatus = "running" ToolCompleted ToolStatus = "completed" ToolError ToolStatus = "error" )
Click to show internal directories.
Click to hide internal directories.