Skip to content

Conversation

@Sicheng-Pan
Copy link
Contributor

@Sicheng-Pan Sicheng-Pan commented Oct 19, 2025

Description of changes

Summarize the changes made by this PR.

  • Improvements & Bug fixes
    • N/A
  • New functionality
    • Implement collection level apis

Test plan

How are these changes tested?

  • Tests pass locally with pytest for python, yarn test for js, cargo test for rust

Migration plan

Are there any migrations, or any forwards/backwards compatibility changes needed in order to make sure this change deploys reliably?

Observability plan

What is the plan to instrument and monitor this change?

Documentation Changes

Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the _docs section?_

Copy link
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link

Reviewer Checklist

Please leverage this checklist to ensure your code review is thorough before approving

Testing, Bugs, Errors, Logs, Documentation

  • Can you think of any use case in which the code does not behave as intended? Have they been tested?
  • Can you think of any inputs or external events that could break the code? Is user input validated and safe? Have they been tested?
  • If appropriate, are there adequate property based tests?
  • If appropriate, are there adequate unit tests?
  • Should any logging, debugging, tracing information be added or removed?
  • Are error messages user-friendly?
  • Have all documentation changes needed been made?
  • Have all non-obvious changes been commented?

System Compatibility

  • Are there any potential impacts on other parts of the system or backward compatibility?
  • Does this change intersect with any items on our roadmap, and if so, is there a plan for fitting them together?

Quality

  • Is this code of a unexpectedly high quality (Readability, Modularity, Intuitiveness)

@Sicheng-Pan Sicheng-Pan marked this pull request as ready for review October 19, 2025 22:48
@propel-code-bot
Copy link
Contributor

propel-code-bot bot commented Oct 19, 2025

Implement Collection-Level APIs for ChromaClient

This pull request introduces and implements a comprehensive set of collection-level APIs in the ChromaClient Rust library. The added APIs support manipulation of records within collections, including retrieval, search, query, addition, update, upsert, and deletion. Additionally, necessary struct and trait adjustments were made in chroma-types and related dependencies to support these operations and ensure proper serialization/deserialization behavior in API responses.

Key Changes

• Added collection-level CRUD and search API methods (get, query, search, add, update, upsert, delete) to the ChromaCollection struct in rust/chroma/src/collection.rs.
• Extended and adjusted imports in rust/chroma/src/collection.rs to include the comprehensive set of request/response and supporting types from chroma_types.
• Updated relevant API response structs (UpdateCollectionRecordsResponse, UpsertCollectionRecordsResponse, DeleteCollectionRecordsResponse) in rust/types/src/api_types.rs to derive both Serialize and Deserialize for compatibility.
• Added chroma-error as a dependency in both rust/chroma/Cargo.toml and code imports for error handling, and propagated validation errors in rust/chroma/src/client/chroma_client.rs.
• Registered chroma-error in the dependency section of Cargo.lock.
• Added error variant for validation errors to ChromaClientError and updated dependencies and use blocks accordingly.

Affected Areas

rust/chroma/src/collection.rs (new API surface for collection operations)
rust/types/src/api_types.rs (API response type derivations)
rust/chroma/Cargo.toml, Cargo.lock (dependency management)
rust/chroma/src/client/chroma_client.rs (error handling integration)

This summary was automatically generated by @propel-code-bot

@Sicheng-Pan Sicheng-Pan force-pushed the 10-19-_enh_implement_collection_apis_for_chromaclient branch from bf2ad00 to 6bf6aab Compare October 19, 2025 22:49
@Sicheng-Pan Sicheng-Pan merged commit 19b00cc into main Oct 19, 2025
61 checks passed
@Sicheng-Pan Sicheng-Pan deleted the 10-19-_enh_implement_collection_apis_for_chromaclient branch October 19, 2025 23:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants