This repository has been archived on 2026-04-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
core/server/handlers/tree.go
2026-02-26 21:19:55 +00:00

60 lines
2.0 KiB
Go

package handlers
// This file previously contained all tree traversal logic (path building,
// sibling queries, cursor management). As of v0.15.0, the core logic lives
// in the treepath package; these are package-local aliases so existing
// handler code (messages.go, completion.go) compiles with minimal churn.
//
// New code should import treepath directly.
import (
"git.gobha.me/xcaliber/chat-switchboard/treepath"
)
// ── Type Aliases ────────────────────────────
// Existing handler code references these types by unqualified name.
type PathMessage = treepath.PathMessage
type SiblingInfo = treepath.SiblingInfo
// ── Function Wrappers ───────────────────────
func getActiveLeaf(channelID, userID string) (*string, error) {
return treepath.GetActiveLeaf(channelID, userID)
}
func getActivePath(channelID, userID string) ([]PathMessage, error) {
return treepath.GetActivePath(channelID, userID)
}
func getPathToLeaf(channelID, leafID string) ([]PathMessage, error) {
return treepath.GetPathToLeaf(channelID, leafID)
}
func getSiblingCount(channelID string, parentID *string) int {
return treepath.GetSiblingCount(channelID, parentID)
}
func getSiblings(messageID string) ([]SiblingInfo, int, error) {
return treepath.GetSiblings(messageID)
}
func findLeafFromMessage(messageID string) (string, error) {
return treepath.FindLeafFromMessage(messageID)
}
func nextSiblingIndex(channelID string, parentID *string) int {
return treepath.NextSiblingIndex(channelID, parentID)
}
func updateCursor(channelID, userID, messageID string) error {
return treepath.UpdateCursor(channelID, userID, messageID)
}
// isSummaryMessage checks if a PathMessage has summary metadata.
// This was previously defined in completion.go; moved here alongside the
// other tree helpers so all callers use the canonical treepath version.
func isSummaryMessage(m *PathMessage) bool {
return treepath.IsSummaryMessage(m)
}