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