Chore/update cs client#364
Conversation
Update encrypt_config to handle new ArrayIndexMode field in IndexType::SteVec. Defaults to ArrayIndexMode::ALL for backwards compatibility.
Add documentation for the new array_index_mode configuration option in the searchable JSON reference guide, including preset values and object form for fine-grained control over array indexing behavior.
📝 WalkthroughWalkthroughUpdates cipherstash-client to v0.33.0 and adds an Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull request overview
This PR updates the CipherStash Proxy to use cipherstash-client v0.33.0 and exposes the new array_index_mode configuration for STE-VEC JSON indexes, with a backwards-compatible default. It also updates the searchable JSON documentation and the changelog to describe the new behavior.
Changes:
- Bumped
cipherstash-clientto0.33.0(and associated transitive dependencies inCargo.lock). - Extended
SteVecindex configuration to includearray_index_modein the proxy’s encrypt config, defaulting toALLand wiring it through toColumnConfig/IndexType::SteVec. - Documented the STE-VEC JSON
array_index_modeoption indocs/reference/searchable-json.mdand recorded the change inCHANGELOG.md.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
packages/cipherstash-proxy/src/proxy/encrypt_config/config.rs |
Imports ArrayIndexMode, adds array_index_mode to SteVecIndexOpts with a default of ArrayIndexMode::ALL, passes it into IndexType::SteVec, and updates tests to assert the new default. |
docs/reference/searchable-json.md |
Clarifies the example SQL fence and documents ste_vec configuration options, including array_index_mode with preset and object forms plus usage examples. |
Cargo.toml |
Updates the workspace dependency on cipherstash-client from 0.32.2 to 0.33.0. |
Cargo.lock |
Refreshes lockfile to reflect cipherstash-client 0.33.0 and related dependency/version changes (e.g., cipherstash-config, cllw-ore, reqwest-retry, retry-policies, and new DNS-related crates). |
CHANGELOG.md |
Adds an “Unreleased” entry noting the upgrade to cipherstash-client v0.33.0 and the new array_index_mode behavior for STE-VEC JSONB indexes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Add term_filters and array_index_mode fields required by the updated cipherstash-client API.
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In `@CHANGELOG.md`:
- Around line 7-12: The [Unreleased] section in CHANGELOG.md is missing the
canonical Keep a Changelog subsections; add the following subsection headings
under the existing "## [Unreleased]" block: "### Added", "### Changed" (keep
existing entries), "### Deprecated", "### Removed", "### Fixed", and "###
Security" — include any existing "Changed" content under "### Changed" and leave
other subsections present but empty (with a placeholder or a short "No changes."
line) so the file conforms to the required structure and is ready for future
entries.
In `@packages/cipherstash-proxy/src/proxy/encrypt_config/config.rs`:
- Around line 193-203: The code is constructing IndexType::SteVec with a
non-existent field `array_index_mode`; update both the pattern match and the
Index::new call to remove `array_index_mode` so the SteVec variant only uses
`prefix` and `term_filters`. Locate the match on `self.indexes.ste_vec_index`
(the SteVecIndexOpts destructuring) and the call
`config.add_index(Index::new(IndexType::SteVec { ... }))` and delete
`array_index_mode` from the destructure and the struct literal so it becomes
`prefix` and `term_filters` only.
cipherstash-clientto 0.33cipherstash-client) and sets a non-breaking default (all array indexing on)Acknowledgment
By submitting this pull request, I confirm that CipherStash can use, modify, copy, and redistribute this contribution, under the terms of CipherStash's choice.
Summary by CodeRabbit
New Features
Chores
Documentation