Waypoints::Store
Owns the SQLite bookmark database and keeps its external-content FTS5 table synchronized.
Constructors
Instance methods
add(url : String, title : String, tags : Array(String) = [] of String, notes : String = "", created_at : Time = Time.utc) : Bookmark
Adds a bookmark, normalizing tags for exact filtering and FTS search.
Lists bookmarks newest first, optionally retaining only exact normalized tag matches.
Removes the bookmark for url, raising BookmarkNotFoundError when it does not exist.
Ranks bookmarks by FTS5 bm25 over title, tags, and notes (lower score first).
Tokens are sanitized to bare [a-z0-9_] words before being ANDed into the
MATCH expression, so raw query punctuation can never form FTS5 operators.
A query with no usable tokens returns an empty result rather than raising.