Open
Conversation
CollectionUpdateSchema explicitly lists synonym_sets but is missing curation_sets, even though BaseCollectionCreateSchema already defines it. This causes consumers to extend the interface locally or use type assertions when calling collection.update() with curation_sets.
CurationSetItem.upsert() currently requires CurationObjectSchema which includes id as a required field. Since the item id is already part of the URL path (PUT /curation_sets/:name/items/:id), the request body should not require it. Introduce CurationItemUpsertSchema as Omit<CurationObjectSchema, "id"> and use it as the parameter type for upsert(), aligning the SDK with the actual Typesense v30 API contract.
tharropoulos
requested changes
Mar 13, 2026
…hema synonym_sets and curation_sets are already inherited via Partial<Omit<CollectionCreateSchema, "name" | "fields">>.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change Summary
Fix two missing type definitions for curation set support in Typesense v30:
CollectionUpdateSchema missing curation_sets —
synonym_setswas explicitlyadded but
curation_setswas not, even thoughBaseCollectionCreateSchemaalreadydefines both. This forces consumers to extend the interface locally to call
collection.update({ curation_sets: [...] }). Thehttps://typesense.org/docs/30.0/api/curation.html confirm
curation_setsissupported on collection PATCH.
CurationSetItem.upsert() requires id in the body — The upsert endpoint is PUT
/curation_sets/:name/items/:id, so id lives in the URL path. But the methodrequires
CurationObjectSchemawhich has id as mandatory, forcing as unknown ascasts. Introduced
CurationItemUpsertSchema (Omit<CurationObjectSchema, "id">)toalign the SDK with the https://typesense.org/docs/30.0/api/curation.html.
PR Checklist
Change Summary