db

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 13, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MessageRoleAssistant = "assistant"
	MessageRoleSystem    = "system"
	MessageRoleUser      = "user"

	MessageStatusComplete  = "complete"
	MessageStatusDraft     = "draft"
	MessageStatusError     = "error"
	MessageStatusStreaming = "streaming"
)
View Source
const (
	ThreadKindChat   = "chat"
	ThreadKindEmail  = "email"
	ThreadKindReview = "review"

	ThreadStateArchived = "archived"
	ThreadStateOpen     = "open"
	ThreadStateResolved = "resolved"
)

Variables

View Source
var ErrAttachmentNotFound = errors.New("attachment not found")
View Source
var ErrCommentNotFound = errors.New("comment not found")
View Source
var ErrMessageNotFound = errors.New("message not found")
View Source
var ErrTaskNotFound = errors.New("task not found")
View Source
var ErrTaskSubitemNotFound = errors.New("task subitem not found")
View Source
var ErrThreadNotFound = errors.New("thread not found")

Functions

func CommentAnchor

func CommentAnchor(path, side string, line int) string

func IsAttachmentNotFound added in v0.6.0

func IsAttachmentNotFound(err error) bool

func IsCommentNotFound

func IsCommentNotFound(err error) bool

func IsMessageNotFound added in v0.6.0

func IsMessageNotFound(err error) bool

func IsTaskNotFound added in v0.6.0

func IsTaskNotFound(err error) bool

func IsTaskSubitemNotFound added in v0.6.0

func IsTaskSubitemNotFound(err error) bool

func IsThreadNotFound added in v0.6.0

func IsThreadNotFound(err error) bool

Types

type Attachment added in v0.6.0

type Attachment struct {
	CreatedAt ts.Timestamp
	FilePath  string
	ID        int64
	MessageID *int64
	MimeType  string
	Name      string
	Size      int64
	ThreadID  int64
}

type Comment

type Comment struct {
	Body         string
	Branch       string
	CreatedAt    time.Time
	ID           string
	Line         int
	Path         string
	Resolved     bool
	ResolvedBody string
	Side         string
	Slug         string
	UpdatedAt    time.Time
}

func (Comment) Anchor

func (c Comment) Anchor() string

type CommentStore

type CommentStore interface {
	AddComment(slug, branch, path, side string, line int, body string) (Comment, error)
	DeleteComment(slug, id string) error
	GetComment(slug, id string) (Comment, error)
	ListComments(slug, branch string) ([]Comment, error)
	SetCommentResolved(slug, id string, resolved bool, body string) (Comment, error)
	UpdateCommentBody(slug, id, body string) (Comment, error)
}

type DB

type DB struct {
	// contains filtered or unexported fields
}

func New

func New(path string) (*DB, error)

func (*DB) AddAttachment added in v0.6.0

func (d *DB) AddAttachment(a NewAttachment) (Attachment, error)

func (*DB) AddComment

func (d *DB) AddComment(slug, branch, path, side string, line int, body string) (Comment, error)

func (*DB) AddMessage added in v0.6.0

func (d *DB) AddMessage(m NewMessage) (Message, error)

func (*DB) AddMessageEvent added in v0.6.0

func (d *DB) AddMessageEvent(messageID int64, eventType, data string) (MessageEvent, error)

func (*DB) AddTask added in v0.6.0

func (d *DB) AddTask(title string) (Task, error)

func (*DB) AddTaskNote added in v0.6.0

func (d *DB) AddTaskNote(taskID int64, body string) (TaskNote, error)

func (*DB) AddTaskSubitem added in v0.6.0

func (d *DB) AddTaskSubitem(taskID int64, title string) (TaskSubitem, error)

func (*DB) AddThread added in v0.6.0

func (d *DB) AddThread(kind, title, anchor string) (Thread, error)

func (*DB) AppendMessageBody added in v0.6.0

func (d *DB) AppendMessageBody(id int64, delta string) error

func (*DB) ClearCompletedTasks added in v0.6.0

func (d *DB) ClearCompletedTasks() (int, error)

func (*DB) Close

func (d *DB) Close() error

func (*DB) DeleteComment

func (d *DB) DeleteComment(slug, id string) error

func (*DB) DeleteDraftAttachment added in v0.6.0

func (d *DB) DeleteDraftAttachment(id int64) (Attachment, error)

func (*DB) DeleteTask added in v0.6.0

func (d *DB) DeleteTask(id int64) error

func (*DB) DeleteTaskSubitem added in v0.6.0

func (d *DB) DeleteTaskSubitem(id int64) error

func (*DB) DeleteThread added in v0.6.0

func (d *DB) DeleteThread(id int64) error

func (*DB) FinishMessage added in v0.6.0

func (d *DB) FinishMessage(id int64, status string) (Message, error)

func (*DB) GetAttachment added in v0.6.0

func (d *DB) GetAttachment(id int64) (Attachment, error)

func (*DB) GetComment

func (d *DB) GetComment(slug, id string) (Comment, error)

func (*DB) GetFirstThreadUserMessage added in v0.6.0

func (d *DB) GetFirstThreadUserMessage(threadID int64) (Message, error)

func (*DB) GetMessage added in v0.6.0

func (d *DB) GetMessage(id int64) (Message, error)

func (*DB) GetTask added in v0.6.0

func (d *DB) GetTask(id int64) (Task, error)

func (*DB) GetThread added in v0.6.0

func (d *DB) GetThread(id int64) (Thread, error)

func (*DB) LinkAttachments added in v0.6.0

func (d *DB) LinkAttachments(threadID, messageID int64, ids []int64) error

func (*DB) ListComments

func (d *DB) ListComments(slug, branch string) ([]Comment, error)

func (*DB) ListMessageAttachments added in v0.6.0

func (d *DB) ListMessageAttachments(messageID int64) ([]Attachment, error)

func (*DB) ListMessageEvents added in v0.6.0

func (d *DB) ListMessageEvents(messageID, afterSeq int64) ([]MessageEvent, error)

func (*DB) ListMessagesByStatus added in v0.6.0

func (d *DB) ListMessagesByStatus(status string) ([]Message, error)

func (*DB) ListTaskNotes added in v0.6.0

func (d *DB) ListTaskNotes(taskID int64) ([]TaskNote, error)

func (*DB) ListTaskSubitems added in v0.6.0

func (d *DB) ListTaskSubitems(taskID int64) ([]TaskSubitem, error)

func (*DB) ListTasks added in v0.6.0

func (d *DB) ListTasks() ([]Task, error)

func (*DB) ListTasksByArchived added in v0.6.0

func (d *DB) ListTasksByArchived(archived bool) ([]Task, error)

func (*DB) ListThreadAttachments added in v0.6.0

func (d *DB) ListThreadAttachments(threadID int64) ([]Attachment, error)

func (*DB) ListThreadMessageEvents added in v0.6.0

func (d *DB) ListThreadMessageEvents(threadID int64) ([]MessageEvent, error)

func (*DB) ListThreadMessages added in v0.6.0

func (d *DB) ListThreadMessages(threadID int64) ([]Message, error)

func (*DB) ListThreads added in v0.6.0

func (d *DB) ListThreads(kind string) ([]Thread, error)

func (*DB) ResetMessageEvents added in v0.6.0

func (d *DB) ResetMessageEvents(id int64) error

func (*DB) SetCommentResolved

func (d *DB) SetCommentResolved(slug, id string, resolved bool, body string) (Comment, error)

func (*DB) SetMessageBody added in v0.6.0

func (d *DB) SetMessageBody(id int64, body string) error

func (*DB) SetMessageMeta added in v0.6.0

func (d *DB) SetMessageMeta(id int64, meta string) error

func (*DB) SetTaskArchived added in v0.6.0

func (d *DB) SetTaskArchived(id int64, archived bool) (Task, error)

func (*DB) SetTaskCompleted added in v0.6.0

func (d *DB) SetTaskCompleted(id int64, completed bool) (Task, error)

func (*DB) SetTaskStarred added in v0.6.0

func (d *DB) SetTaskStarred(id int64, starred bool) (Task, error)

func (*DB) SetTaskSubitemCompleted added in v0.6.0

func (d *DB) SetTaskSubitemCompleted(id int64, completed bool) (TaskSubitem, error)

func (*DB) SetThreadAnchor added in v0.6.0

func (d *DB) SetThreadAnchor(id int64, anchor string) error

func (*DB) SetThreadStarred added in v0.6.0

func (d *DB) SetThreadStarred(id int64, starred bool) error

func (*DB) SetThreadState added in v0.6.0

func (d *DB) SetThreadState(id int64, state string) error

func (*DB) SetThreadTitle added in v0.6.0

func (d *DB) SetThreadTitle(id int64, title string) error

func (*DB) TouchThread added in v0.6.0

func (d *DB) TouchThread(id int64) error

func (*DB) UpdateCommentBody

func (d *DB) UpdateCommentBody(slug, id, body string) (Comment, error)

func (*DB) UpdateTaskDescription added in v0.6.0

func (d *DB) UpdateTaskDescription(id int64, description string) (Task, error)

func (*DB) UpdateTaskTitle added in v0.6.0

func (d *DB) UpdateTaskTitle(id int64, title string) (Task, error)

type Message added in v0.6.0

type Message struct {
	Author      string
	Body        string
	CompletedAt *ts.Timestamp
	CreatedAt   ts.Timestamp
	ID          int64
	Meta        string
	ParentID    *int64
	ReadAt      *ts.Timestamp
	Role        string
	Seq         int64
	Status      string
	ThreadID    int64
	UpdatedAt   ts.Timestamp
}

type MessageEvent added in v0.6.0

type MessageEvent struct {
	CreatedAt ts.Timestamp
	Data      string
	ID        int64
	MessageID int64
	Seq       int64
	Type      string
}

type NewAttachment added in v0.6.0

type NewAttachment struct {
	FilePath string
	MimeType string
	Name     string
	Size     int64
	ThreadID int64
}

type NewMessage added in v0.6.0

type NewMessage struct {
	Author   string
	Body     string
	Meta     string
	ParentID *int64
	Role     string
	Status   string
	ThreadID int64
}

type NopCommentStore

type NopCommentStore struct{}

func (NopCommentStore) AddComment

func (NopCommentStore) DeleteComment

func (NopCommentStore) DeleteComment(string, string) error

func (NopCommentStore) GetComment

func (NopCommentStore) GetComment(string, string) (Comment, error)

func (NopCommentStore) ListComments

func (NopCommentStore) ListComments(string, string) ([]Comment, error)

func (NopCommentStore) SetCommentResolved

func (NopCommentStore) SetCommentResolved(string, string, bool, string) (Comment, error)

func (NopCommentStore) UpdateCommentBody

func (NopCommentStore) UpdateCommentBody(string, string, string) (Comment, error)

type Task added in v0.6.0

type Task struct {
	Archived    bool
	Completed   bool
	CreatedAt   ts.Timestamp
	Description string
	ID          int64
	Starred     bool
	Title       string
	UpdatedAt   ts.Timestamp
}

type TaskNote added in v0.6.0

type TaskNote struct {
	Body      string
	CreatedAt ts.Timestamp
	ID        int64
	TaskID    int64
	UpdatedAt ts.Timestamp
}

type TaskStore added in v0.6.0

type TaskStore interface {
	AddTask(title string) (Task, error)
	AddTaskNote(taskID int64, body string) (TaskNote, error)
	AddTaskSubitem(taskID int64, title string) (TaskSubitem, error)
	ClearCompletedTasks() (int, error)
	DeleteTask(id int64) error
	DeleteTaskSubitem(id int64) error
	GetTask(id int64) (Task, error)
	ListTaskNotes(taskID int64) ([]TaskNote, error)
	ListTaskSubitems(taskID int64) ([]TaskSubitem, error)
	ListTasks() ([]Task, error)
	ListTasksByArchived(archived bool) ([]Task, error)
	SetTaskArchived(id int64, archived bool) (Task, error)
	SetTaskCompleted(id int64, completed bool) (Task, error)
	SetTaskStarred(id int64, starred bool) (Task, error)
	SetTaskSubitemCompleted(id int64, completed bool) (TaskSubitem, error)
	UpdateTaskDescription(id int64, description string) (Task, error)
	UpdateTaskTitle(id int64, title string) (Task, error)
}

type TaskSubitem added in v0.6.0

type TaskSubitem struct {
	Completed bool
	CreatedAt ts.Timestamp
	ID        int64
	TaskID    int64
	Title     string
	UpdatedAt ts.Timestamp
}

type Thread added in v0.6.0

type Thread struct {
	Anchor    string
	CreatedAt ts.Timestamp
	ID        int64
	Kind      string
	Starred   bool
	State     string
	Title     string
	UpdatedAt ts.Timestamp
}

type ThreadStore added in v0.6.0

type ThreadStore interface {
	AddAttachment(a NewAttachment) (Attachment, error)
	AddMessage(m NewMessage) (Message, error)
	AddMessageEvent(messageID int64, eventType, data string) (MessageEvent, error)
	AddThread(kind, title, anchor string) (Thread, error)
	AppendMessageBody(id int64, delta string) error
	DeleteDraftAttachment(id int64) (Attachment, error)
	DeleteThread(id int64) error
	FinishMessage(id int64, status string) (Message, error)
	GetAttachment(id int64) (Attachment, error)
	GetFirstThreadUserMessage(threadID int64) (Message, error)
	GetMessage(id int64) (Message, error)
	GetThread(id int64) (Thread, error)
	LinkAttachments(threadID, messageID int64, ids []int64) error
	ListMessageAttachments(messageID int64) ([]Attachment, error)
	ListMessageEvents(messageID, afterSeq int64) ([]MessageEvent, error)
	ListMessagesByStatus(status string) ([]Message, error)
	ListThreadAttachments(threadID int64) ([]Attachment, error)
	ListThreadMessageEvents(threadID int64) ([]MessageEvent, error)
	ListThreadMessages(threadID int64) ([]Message, error)
	ListThreads(kind string) ([]Thread, error)
	ResetMessageEvents(id int64) error
	SetMessageBody(id int64, body string) error
	SetMessageMeta(id int64, meta string) error
	SetThreadAnchor(id int64, anchor string) error
	SetThreadState(id int64, state string) error
	SetThreadStarred(id int64, starred bool) error
	SetThreadTitle(id int64, title string) error
	TouchThread(id int64) error
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL