firestore

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2026 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Firestore

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

func New

func New(ctx context.Context, projectID, databaseID string) (*Firestore, error)

func (*Firestore) AddAlertsToList

func (r *Firestore) AddAlertsToList(ctx context.Context, listID types.AlertListID, alertIDs []types.AlertID) error

func (*Firestore) AddTicketToTag

func (r *Firestore) AddTicketToTag(ctx context.Context, tagID string, ticketID types.TicketID) error

func (*Firestore) ArchiveKnowledge added in v0.8.0

func (r *Firestore) ArchiveKnowledge(ctx context.Context, topic types.KnowledgeTopic, slug types.KnowledgeSlug) error

func (*Firestore) BatchGetAlerts

func (r *Firestore) BatchGetAlerts(ctx context.Context, alertIDs []types.AlertID) (alert.Alerts, error)

func (*Firestore) BatchGetTickets

func (r *Firestore) BatchGetTickets(ctx context.Context, ticketIDs []types.TicketID) ([]*ticket.Ticket, error)

BatchGetTickets gets tickets by their IDs. If some tickets are not found, it will be ignored.

func (*Firestore) BatchPutAlerts

func (r *Firestore) BatchPutAlerts(ctx context.Context, alerts alert.Alerts) error

func (*Firestore) BatchSaveAgentMemories added in v0.8.0

func (r *Firestore) BatchSaveAgentMemories(ctx context.Context, memories []*memory.AgentMemory) error

BatchSaveAgentMemories saves multiple agent memories in batches Firestore supports max 500 operations per batch, so this method splits if needed

func (*Firestore) BatchUpdateTicketsStatus

func (r *Firestore) BatchUpdateTicketsStatus(ctx context.Context, ticketIDs []types.TicketID, status types.TicketStatus) error

func (*Firestore) BindAlertsToTicket

func (r *Firestore) BindAlertsToTicket(ctx context.Context, alertIDs []types.AlertID, ticketID types.TicketID) error

Alert-Ticket binding methods

func (*Firestore) CalculateKnowledgeSize added in v0.8.0

func (r *Firestore) CalculateKnowledgeSize(ctx context.Context, topic types.KnowledgeTopic) (int, error)

func (*Firestore) Close

func (r *Firestore) Close() error

func (*Firestore) CountActivities

func (r *Firestore) CountActivities(ctx context.Context) (int, error)

func (*Firestore) CountAlerts

func (r *Firestore) CountAlerts(ctx context.Context) (int, error)

func (*Firestore) CountAlertsBySchema

func (r *Firestore) CountAlertsBySchema(ctx context.Context, schema types.AlertSchema) (int, error)

func (*Firestore) CountAlertsWithoutTicket

func (r *Firestore) CountAlertsWithoutTicket(ctx context.Context) (int, error)

func (*Firestore) CountDeclinedAlerts added in v0.10.0

func (r *Firestore) CountDeclinedAlerts(ctx context.Context) (int, error)

func (*Firestore) CountTags

func (r *Firestore) CountTags(ctx context.Context) (int, error)

func (*Firestore) CountTicketComments

func (r *Firestore) CountTicketComments(ctx context.Context, ticketID types.TicketID) (int, error)

func (*Firestore) CountTickets

func (r *Firestore) CountTickets(ctx context.Context) (int, error)

func (*Firestore) CountTicketsByStatus

func (r *Firestore) CountTicketsByStatus(ctx context.Context, statuses []types.TicketStatus, keyword, assigneeID string) (int, error)

func (*Firestore) CreateNotice

func (r *Firestore) CreateNotice(ctx context.Context, notice *notice.Notice) error

func (*Firestore) CreateTagWithID

func (r *Firestore) CreateTagWithID(ctx context.Context, tag *tag.Tag) error

func (*Firestore) DeleteActivity

func (r *Firestore) DeleteActivity(ctx context.Context, activityID types.ActivityID) error

func (*Firestore) DeleteAgentMemoriesBatch added in v0.6.2

func (r *Firestore) DeleteAgentMemoriesBatch(ctx context.Context, agentID string, memoryIDs []types.AgentMemoryID) (int, error)

DeleteAgentMemoriesBatch deletes multiple agent memories in a batch Uses BulkWriter for efficient batch deletion Returns the number of successfully deleted memories

func (*Firestore) DeleteAlertList

func (r *Firestore) DeleteAlertList(ctx context.Context, listID types.AlertListID) error

func (*Firestore) DeleteSession added in v0.8.0

func (r *Firestore) DeleteSession(ctx context.Context, sessionID types.SessionID) error

func (*Firestore) DeleteTag

func (r *Firestore) DeleteTag(ctx context.Context, tagID string) error

func (*Firestore) DeleteTagByID

func (r *Firestore) DeleteTagByID(ctx context.Context, tagID string) error

func (*Firestore) DeleteTagsByTicketID

func (r *Firestore) DeleteTagsByTicketID(ctx context.Context, ticketID types.TicketID) error

func (*Firestore) DeleteTicket

func (r *Firestore) DeleteTicket(ctx context.Context, ticketID types.TicketID) error

func (*Firestore) DeleteTicketComment

func (r *Firestore) DeleteTicketComment(ctx context.Context, ticketID types.TicketID, commentID types.CommentID) error

func (*Firestore) DeleteToken

func (r *Firestore) DeleteToken(ctx context.Context, tokenID auth.TokenID) error

func (*Firestore) FindNearestAlerts

func (r *Firestore) FindNearestAlerts(ctx context.Context, embedding []float32, limit int) (alert.Alerts, error)

func (*Firestore) FindNearestTickets

func (r *Firestore) FindNearestTickets(ctx context.Context, embedding []float32, limit int) ([]*ticket.Ticket, error)

func (*Firestore) FindNearestTicketsWithSpan

func (r *Firestore) FindNearestTicketsWithSpan(ctx context.Context, embedding []float32, begin, end time.Time, limit int) ([]*ticket.Ticket, error)

func (*Firestore) FindSimilarAlerts

func (r *Firestore) FindSimilarAlerts(ctx context.Context, target alert.Alert, limit int) (alert.Alerts, error)

func (*Firestore) GetActivities

func (r *Firestore) GetActivities(ctx context.Context, offset, limit int) ([]*activity.Activity, error)

func (*Firestore) GetAgentMemory

func (r *Firestore) GetAgentMemory(ctx context.Context, agentID string, id types.AgentMemoryID) (*memory.AgentMemory, error)

GetAgentMemory retrieves an agent memory record by agentID and memoryID Path: agents/{agentID}/memories/{memoryID}

func (*Firestore) GetAlert

func (r *Firestore) GetAlert(ctx context.Context, alertID types.AlertID) (*alert.Alert, error)

func (*Firestore) GetAlertList

func (r *Firestore) GetAlertList(ctx context.Context, listID types.AlertListID) (*alert.List, error)

func (*Firestore) GetAlertListByThread

func (r *Firestore) GetAlertListByThread(ctx context.Context, thread slack.Thread) (*alert.List, error)

func (*Firestore) GetAlertLists

func (r *Firestore) GetAlertLists(ctx context.Context) ([]*alert.List, error)

func (*Firestore) GetAlertListsInThread

func (r *Firestore) GetAlertListsInThread(ctx context.Context, thread slack.Thread) ([]*alert.List, error)

func (*Firestore) GetAlertWithoutEmbedding

func (r *Firestore) GetAlertWithoutEmbedding(ctx context.Context) (alert.Alerts, error)

func (*Firestore) GetAlertWithoutTicket

func (r *Firestore) GetAlertWithoutTicket(ctx context.Context, offset, limit int) (alert.Alerts, error)

func (*Firestore) GetAlertsByIDs

func (r *Firestore) GetAlertsByIDs(ctx context.Context, alertIDs []types.AlertID) (alert.Alerts, error)

func (*Firestore) GetAlertsBySpan

func (r *Firestore) GetAlertsBySpan(ctx context.Context, begin, end time.Time) (alert.Alerts, error)

func (*Firestore) GetAlertsByThread

func (r *Firestore) GetAlertsByThread(ctx context.Context, thread slack.Thread) (alert.Alerts, error)

func (*Firestore) GetAlertsByTicketID

func (r *Firestore) GetAlertsByTicketID(ctx context.Context, ticketID types.TicketID) (alert.Alerts, error)

func (*Firestore) GetAlertsWithInvalidEmbedding

func (r *Firestore) GetAlertsWithInvalidEmbedding(ctx context.Context) (alert.Alerts, error)

func (*Firestore) GetAllAlerts

func (r *Firestore) GetAllAlerts(ctx context.Context, offset, limit int) (alert.Alerts, error)

func (*Firestore) GetAllTickets

func (r *Firestore) GetAllTickets(ctx context.Context, offset, limit int) ([]*ticket.Ticket, error)

func (*Firestore) GetClient

func (f *Firestore) GetClient() *firestore.Client

GetClient returns the Firestore client for testing purposes

func (*Firestore) GetDeclinedAlerts added in v0.10.0

func (r *Firestore) GetDeclinedAlerts(ctx context.Context, offset, limit int) (alert.Alerts, error)

func (*Firestore) GetKnowledge added in v0.8.0

func (r *Firestore) GetKnowledge(ctx context.Context, topic types.KnowledgeTopic, slug types.KnowledgeSlug) (*knowledge.Knowledge, error)

func (*Firestore) GetKnowledgeByCommit added in v0.8.0

func (r *Firestore) GetKnowledgeByCommit(ctx context.Context, topic types.KnowledgeTopic, slug types.KnowledgeSlug, commitID string) (*knowledge.Knowledge, error)

func (*Firestore) GetKnowledges added in v0.8.0

func (r *Firestore) GetKnowledges(ctx context.Context, topic types.KnowledgeTopic) ([]*knowledge.Knowledge, error)

func (*Firestore) GetLatestAlertByThread

func (r *Firestore) GetLatestAlertByThread(ctx context.Context, thread slack.Thread) (*alert.Alert, error)

func (*Firestore) GetLatestAlertListInThread

func (r *Firestore) GetLatestAlertListInThread(ctx context.Context, thread slack.Thread) (*alert.List, error)

func (*Firestore) GetLatestHistory

func (r *Firestore) GetLatestHistory(ctx context.Context, ticketID types.TicketID) (*ticket.History, error)

func (*Firestore) GetNotice

func (r *Firestore) GetNotice(ctx context.Context, id types.NoticeID) (*notice.Notice, error)

func (*Firestore) GetNotices

func (r *Firestore) GetNotices(ctx context.Context) ([]*notice.Notice, error)

func (*Firestore) GetOrCreateTagByName

func (r *Firestore) GetOrCreateTagByName(ctx context.Context, name, description, color, createdBy string) (*tag.Tag, error)

GetOrCreateTagByName atomically gets an existing tag or creates a new one

func (*Firestore) GetRefineGroup added in v0.10.0

func (r *Firestore) GetRefineGroup(ctx context.Context, groupID types.RefineGroupID) (*refine.Group, error)

func (*Firestore) GetSession added in v0.8.0

func (r *Firestore) GetSession(ctx context.Context, sessionID types.SessionID) (*session.Session, error)

func (*Firestore) GetSessionMessages added in v0.8.0

func (r *Firestore) GetSessionMessages(ctx context.Context, sessionID types.SessionID) ([]*session.Message, error)

func (*Firestore) GetSessionsByTicket added in v0.8.0

func (r *Firestore) GetSessionsByTicket(ctx context.Context, ticketID types.TicketID) ([]*session.Session, error)

func (*Firestore) GetTag

func (r *Firestore) GetTag(ctx context.Context, tagID string) (*tag.Tag, error)

func (*Firestore) GetTagByID

func (r *Firestore) GetTagByID(ctx context.Context, tagID string) (*tag.Tag, error)

func (*Firestore) GetTagByName

func (r *Firestore) GetTagByName(ctx context.Context, name string) (*tag.Tag, error)

func (*Firestore) GetTags

func (r *Firestore) GetTags(ctx context.Context) ([]*tag.Tag, error)

func (*Firestore) GetTagsByIDs

func (r *Firestore) GetTagsByIDs(ctx context.Context, tagIDs []string) ([]*tag.Tag, error)

func (*Firestore) GetTagsByTicketID

func (r *Firestore) GetTagsByTicketID(ctx context.Context, ticketID types.TicketID) ([]*tag.Tag, error)

func (*Firestore) GetTicket

func (r *Firestore) GetTicket(ctx context.Context, ticketID types.TicketID) (*ticket.Ticket, error)

Ticket related methods

func (*Firestore) GetTicketByThread

func (r *Firestore) GetTicketByThread(ctx context.Context, thread slack.Thread) (*ticket.Ticket, error)

func (*Firestore) GetTicketComments

func (r *Firestore) GetTicketComments(ctx context.Context, ticketID types.TicketID) ([]ticket.Comment, error)

func (*Firestore) GetTicketCommentsPaginated

func (r *Firestore) GetTicketCommentsPaginated(ctx context.Context, ticketID types.TicketID, offset, limit int) ([]ticket.Comment, error)

func (*Firestore) GetTicketHistories

func (r *Firestore) GetTicketHistories(ctx context.Context, ticketID types.TicketID) ([]*ticket.History, error)

func (*Firestore) GetTicketUnpromptedComments

func (r *Firestore) GetTicketUnpromptedComments(ctx context.Context, ticketID types.TicketID) ([]ticket.Comment, error)

func (*Firestore) GetTicketsByIDs

func (r *Firestore) GetTicketsByIDs(ctx context.Context, ticketIDs []types.TicketID) ([]*ticket.Ticket, error)

func (*Firestore) GetTicketsBySpan

func (r *Firestore) GetTicketsBySpan(ctx context.Context, begin, end time.Time) ([]*ticket.Ticket, error)

func (*Firestore) GetTicketsByStatus

func (r *Firestore) GetTicketsByStatus(ctx context.Context, statuses []types.TicketStatus, keyword, assigneeID string, offset, limit int) ([]*ticket.Ticket, error)

func (*Firestore) GetTicketsByStatusAndSpan

func (r *Firestore) GetTicketsByStatusAndSpan(ctx context.Context, status types.TicketStatus, begin, end time.Time) ([]*ticket.Ticket, error)

func (*Firestore) GetTicketsByTagName

func (r *Firestore) GetTicketsByTagName(ctx context.Context, tagName string) ([]types.TicketID, error)

func (*Firestore) GetTicketsByTagNames

func (r *Firestore) GetTicketsByTagNames(ctx context.Context, tagNames []string) ([]types.TicketID, error)

func (*Firestore) GetTicketsWithInvalidEmbedding

func (r *Firestore) GetTicketsWithInvalidEmbedding(ctx context.Context) ([]*ticket.Ticket, error)

func (*Firestore) GetToken

func (r *Firestore) GetToken(ctx context.Context, tokenID auth.TokenID) (*auth.Token, error)

func (*Firestore) GetTokens

func (r *Firestore) GetTokens(ctx context.Context) ([]*auth.Token, error)

func (*Firestore) IsTagNameExists

func (r *Firestore) IsTagNameExists(ctx context.Context, name string) (bool, error)

func (*Firestore) ListAgentMemories added in v0.6.2

func (r *Firestore) ListAgentMemories(ctx context.Context, agentID string) ([]*memory.AgentMemory, error)

ListAgentMemories lists all memories for an agent Results are ordered by CreatedAt DESC

func (*Firestore) ListAgentMemoriesWithOptions added in v0.8.0

func (r *Firestore) ListAgentMemoriesWithOptions(ctx context.Context, agentID string, opts interfaces.AgentMemoryListOptions) ([]*memory.AgentMemory, int, error)

ListAgentMemoriesWithOptions lists memories with filtering, sorting, and pagination Note: Firestore implementation fetches all memories and applies filtering/sorting in-memory to avoid requiring additional composite indexes

func (*Firestore) ListAllAgentIDs added in v0.8.0

func (r *Firestore) ListAllAgentIDs(ctx context.Context) ([]*interfaces.AgentSummary, error)

ListAllAgentIDs returns all agent IDs that have memories with their counts and latest memory timestamp Uses CollectionGroup query to find all memories subcollections regardless of parent document existence

func (*Firestore) ListAllTags

func (r *Firestore) ListAllTags(ctx context.Context) ([]*tag.Tag, error)

func (*Firestore) ListKnowledgeSlugs added in v0.8.0

func (r *Firestore) ListKnowledgeSlugs(ctx context.Context, topic types.KnowledgeTopic) ([]*knowledge.SlugInfo, error)

func (*Firestore) ListKnowledgeTopics added in v0.8.0

func (r *Firestore) ListKnowledgeTopics(ctx context.Context) ([]*knowledge.TopicSummary, error)

func (*Firestore) PutActivity

func (r *Firestore) PutActivity(ctx context.Context, activity *activity.Activity) error

Activity related methods

func (*Firestore) PutAgentMemory

func (r *Firestore) PutAgentMemory(ctx context.Context, mem *memory.AgentMemory) error

func (*Firestore) PutAlert

func (r *Firestore) PutAlert(ctx context.Context, a alert.Alert) error

func (*Firestore) PutAlertList

func (r *Firestore) PutAlertList(ctx context.Context, list *alert.List) error

func (*Firestore) PutHistory

func (r *Firestore) PutHistory(ctx context.Context, ticketID types.TicketID, history *ticket.History) error

func (*Firestore) PutKnowledge added in v0.8.0

func (r *Firestore) PutKnowledge(ctx context.Context, k *knowledge.Knowledge) error

func (*Firestore) PutNotice

func (r *Firestore) PutNotice(ctx context.Context, notice *notice.Notice) error

func (*Firestore) PutRefineGroup added in v0.10.0

func (r *Firestore) PutRefineGroup(ctx context.Context, group *refine.Group) error

func (*Firestore) PutSession added in v0.8.0

func (r *Firestore) PutSession(ctx context.Context, sess *session.Session) error

func (*Firestore) PutSessionMessage added in v0.8.0

func (r *Firestore) PutSessionMessage(ctx context.Context, message *session.Message) error

func (*Firestore) PutTag

func (r *Firestore) PutTag(ctx context.Context, tag *tag.Tag) error

func (*Firestore) PutTicket

func (r *Firestore) PutTicket(ctx context.Context, t ticket.Ticket) error

func (*Firestore) PutTicketComment

func (r *Firestore) PutTicketComment(ctx context.Context, comment ticket.Comment) error

func (*Firestore) PutTicketCommentsPrompted

func (r *Firestore) PutTicketCommentsPrompted(ctx context.Context, ticketID types.TicketID, commentIDs []types.CommentID) error

func (*Firestore) PutTicketHistory

func (r *Firestore) PutTicketHistory(ctx context.Context, ticketID types.TicketID, history *ticket.History) error

func (*Firestore) PutToken

func (r *Firestore) PutToken(ctx context.Context, token *auth.Token) error

Token related methods

func (*Firestore) QueryTags

func (r *Firestore) QueryTags(ctx context.Context, query string) ([]*tag.Tag, error)

func (*Firestore) QueryTickets

func (r *Firestore) QueryTickets(ctx context.Context, query string, offset, limit int) ([]*ticket.Ticket, error)

func (*Firestore) RemoveAlertsFromList

func (r *Firestore) RemoveAlertsFromList(ctx context.Context, listID types.AlertListID, alertIDs []types.AlertID) error

func (*Firestore) RemoveTagFromAllAlerts

func (r *Firestore) RemoveTagFromAllAlerts(ctx context.Context, name string) error

func (*Firestore) RemoveTagFromAllTickets

func (r *Firestore) RemoveTagFromAllTickets(ctx context.Context, name string) error

func (*Firestore) RemoveTagIDFromAllAlerts

func (r *Firestore) RemoveTagIDFromAllAlerts(ctx context.Context, tagID string) error

func (*Firestore) RemoveTagIDFromAllTickets

func (r *Firestore) RemoveTagIDFromAllTickets(ctx context.Context, tagID string) error

func (*Firestore) RemoveTicketFromTag

func (r *Firestore) RemoveTicketFromTag(ctx context.Context, tagID string, ticketID types.TicketID) error

func (*Firestore) SaveAgentMemory

func (r *Firestore) SaveAgentMemory(ctx context.Context, mem *memory.AgentMemory) error

SaveAgentMemory saves an agent memory record in subcollection structure Path: agents/{agentID}/memories/{memoryID}

func (*Firestore) SearchAlerts

func (r *Firestore) SearchAlerts(ctx context.Context, path, op string, value any, limit int) (alert.Alerts, error)

func (*Firestore) SearchMemoriesByEmbedding

func (r *Firestore) SearchMemoriesByEmbedding(ctx context.Context, agentID string, embedding []float32, limit int) ([]*memory.AgentMemory, error)

SearchMemoriesByEmbedding searches for agent memories by embedding similarity within an agent's subcollection Path: agents/{agentID}/memories/*

func (*Firestore) UnbindAlertFromTicket

func (r *Firestore) UnbindAlertFromTicket(ctx context.Context, alertID types.AlertID) error

func (*Firestore) UpdateAlertStatus added in v0.10.0

func (r *Firestore) UpdateAlertStatus(ctx context.Context, alertID types.AlertID, status alert.AlertStatus) error

func (*Firestore) UpdateMemoryScoreBatch added in v0.6.2

func (r *Firestore) UpdateMemoryScoreBatch(ctx context.Context, agentID string, updates map[types.AgentMemoryID]struct {
	Score      float64
	LastUsedAt time.Time
}) error

UpdateMemoryScoreBatch updates quality scores and last used timestamps for multiple agent memories Uses BulkWriter for efficient batch updates

func (*Firestore) UpdateNotice

func (r *Firestore) UpdateNotice(ctx context.Context, notice *notice.Notice) error

func (*Firestore) UpdateTag

func (r *Firestore) UpdateTag(ctx context.Context, tag *tag.Tag) error

func (*Firestore) UpdateTicketComment

func (r *Firestore) UpdateTicketComment(ctx context.Context, comment ticket.Comment) error

func (*Firestore) UpdateTicketStatus

func (r *Firestore) UpdateTicketStatus(ctx context.Context, ticketID types.TicketID, status types.TicketStatus) error

Jump to

Keyboard shortcuts

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