diff --git a/.changeset/record-filter-and-identity-events.md b/.changeset/record-filter-and-identity-events.md deleted file mode 100644 index 69925f7..0000000 --- a/.changeset/record-filter-and-identity-events.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@atmo-dev/contrail": minor ---- - -Add per-collection `recordFilter` and apply Jetstream `#identity` handle changes during ingest. - -- `CollectionConfig.recordFilter?: (record) => boolean` runs against each create/update during ingest; returning false drops the record before it reaches the DB. Useful for narrowing high-volume collections to just the records you care about (e.g. only `app.bsky.feed.post` records mentioning a particular URL). Deletes are not filtered, so they still tear down any record the filter previously let through. Throws are caught, logged, and treated as drops. -- Jetstream `#identity` events (handle changes) now flow through to the `identities` table via a new `applyIdentityEvent` helper. UPDATE-only — unknown DIDs are no-ops so we don't materialize partial rows lacking PDS. diff --git a/packages/contrail/CHANGELOG.md b/packages/contrail/CHANGELOG.md index 01982cf..63e68f6 100644 --- a/packages/contrail/CHANGELOG.md +++ b/packages/contrail/CHANGELOG.md @@ -1,5 +1,14 @@ # @atmo-dev/contrail +## 0.6.0 + +### Minor Changes + +- af24714: Add per-collection `recordFilter` and apply Jetstream `#identity` handle changes during ingest. + + - `CollectionConfig.recordFilter?: (record) => boolean` runs against each create/update during ingest; returning false drops the record before it reaches the DB. Useful for narrowing high-volume collections to just the records you care about (e.g. only `app.bsky.feed.post` records mentioning a particular URL). Deletes are not filtered, so they still tear down any record the filter previously let through. Throws are caught, logged, and treated as drops. + - Jetstream `#identity` events (handle changes) now flow through to the `identities` table via a new `applyIdentityEvent` helper. UPDATE-only — unknown DIDs are no-ops so we don't materialize partial rows lacking PDS. + ## 0.5.0 ### Minor Changes diff --git a/packages/contrail/package.json b/packages/contrail/package.json index 49123de..3245e17 100644 --- a/packages/contrail/package.json +++ b/packages/contrail/package.json @@ -1,6 +1,6 @@ { "name": "@atmo-dev/contrail", - "version": "0.5.0", + "version": "0.6.0", "description": "Index AT Protocol records with typed XRPC endpoints. Cloudflare Workers + D1, SvelteKit, Node.js.", "type": "module", "sideEffects": false, diff --git a/packages/lexicons/CHANGELOG.md b/packages/lexicons/CHANGELOG.md index 9a1c5d1..d5f674f 100644 --- a/packages/lexicons/CHANGELOG.md +++ b/packages/lexicons/CHANGELOG.md @@ -1,5 +1,12 @@ # @atmo-dev/contrail-lexicons +## 0.4.6 + +### Patch Changes + +- Updated dependencies [af24714] + - @atmo-dev/contrail@0.6.0 + ## 0.4.5 ### Patch Changes diff --git a/packages/lexicons/package.json b/packages/lexicons/package.json index 7a5dab9..9cc3ea4 100644 --- a/packages/lexicons/package.json +++ b/packages/lexicons/package.json @@ -1,6 +1,6 @@ { "name": "@atmo-dev/contrail-lexicons", - "version": "0.4.5", + "version": "0.4.6", "description": "Generate atproto lexicon JSON (and optionally TypeScript types via @atcute/lex-cli) from a Contrail config.", "type": "module", "files": [