Resumable, deletion-aware collection and file enumeration (closes #38) #57

Merged
clawbot merged 1 commits from issue-38-resumable-enumeration into next 2026-09-22 12:37:11 +02:00
1 Commits
Author SHA1 Message Date
sneak 7335e93d65 Resumable, deletion-aware collection and file enumeration (closes #38)
check / check (push) Successful in 24s
Add collectionsSince/filesSince on Client: they take a starting cursor,
decrypt live records, surface tombstoned ids in a separate `deleted`
list, and return the max updationTime seen as the cursor to resume from.
A tombstone has no key or metadata to decrypt, so it is a bare id rather
than a hollowed-out record that strict tsc would reject.

filesSince paginates the diff from the given cursor and, when the server
reports hasMore but the page's max updationTime does not exceed the
cursor it was fetched with, throws instead of looping forever.

listCollections/listFiles become thin wrappers that enumerate from
sinceTime 0 and drop deletions, so existing callers and tests are
unaffected.

Closes #7.

Model: opus-4-8
2026-09-22 10:19:25 +00:00