In-process read surface: albums, photos, and timeline grouping (closes #44)
check / check (push) Successful in 25s

Adds the in-process read surface, served from RAM with args-object signatures: albums (list/byName/byID), photos (byID/records -> plain PhotoRecord[]), thin Album/Photo wrappers, and timeline.groups (day/week/month) with a PhotoFilter (albumID/text/fileTypes/hasLocation/includeArchived; hidden excluded). Week keys use ISO YYYY-Www; each file appears once per group, newest first. Built on the #43 snapshot projection; no network.

Model: opus-4-8
This commit was merged in pull request #64.
This commit is contained in:
2026-09-22 17:21:48 +02:00
parent 000d395c87
commit c5c1f387df
4 changed files with 922 additions and 0 deletions
+8
View File
@@ -36,11 +36,19 @@ export {
export {
Library,
DEFAULT_REFRESH_INTERVAL_SECONDS,
Album,
Photo,
type LibraryClient,
type LibraryOptions,
type LibraryStatus,
type RefreshEvent,
type RefreshProgressCallback,
type AlbumsAPI,
type PhotosAPI,
type TimelineAPI,
type PhotoFilter,
type TimelineGroup,
type GroupBy,
} from "./library/index.js";
export type {
AlbumRecord,