feat(pyvolca): expose classification match mode on search_activities#186
Merged
Conversation
search_activities only sent classification + classification-value, never the match mode, so a caller could not require exact equality — only the default substring. The engine's /activities route and the MCP tool already accept a classification-mode param; the typed client now exposes it as classification_match (MatchMode, default CONTAINS), mirroring how get_supply_chain/get_consumers serialise ClassificationFilter.mode. Ships pyvolca 0.7.2. README API reference regenerated.
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.
The typed client could filter
search_activitiesby a classification value, but always as a case-insensitive substring — there was no way to ask for exact equality. The engine and the MCP tool already accept a match-mode parameter for the same search; only the Python client left it out.search_activitiesnow takesclassification_match(aMatchMode, defaultCONTAINS). Setting it toMatchMode.EXACTrestricts the filter to entries whose classification value equals the given string exactly. The default is unchanged, so existing calls behave identically.This mirrors what
get_supply_chainandget_consumersalready do throughClassificationFilter.mode; here it is threaded through the flatclassification/classification_valuearguments thatsearch_activitiesuses.Verified end-to-end against a real database: on Agribalyse,
classification_value="Recipes"matches 763 processes with the default substring mode and 0 with exact mode, while the exact full pathAgricultural\Food\Recipesmatches the 763 again — confirming the mode reaches the engine.Ships as pyvolca 0.7.2. The generated README API reference is regenerated to match; full test suite green (187 passed, 7 skipped).