Extract shared helpers and fix strict-kwargs call sites#2883
Closed
adamtheturtle wants to merge 3 commits intomainfrom
Closed
Extract shared helpers and fix strict-kwargs call sites#2883adamtheturtle wants to merge 3 commits intomainfrom
adamtheturtle wants to merge 3 commits intomainfrom
Conversation
Move duplicated exception-raising, response-parsing, and request-building logic into shared modules (_vws_common.py, _query_common.py) so the sync and async client implementations can share the same code. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
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.
This refactor extracts shared VWS and CloudReco request/response helper logic into common modules to reduce duplication between sync and async clients. It updates the sync/async query, VWS, and VuMark service implementations to call the shared helpers. It also switches shared helper invocations to keyword arguments so the branch passes the project's mypy strict-kwargs checks. Pre-push checks (including mypy, pyright, pyrefly, and ty) passed during push.
Note
Medium Risk
Mostly a refactor, but it centralizes request signing/header construction and result-code→exception mapping; any mismatch could change how requests are authenticated or which errors are raised in both sync and async clients.
Overview
Refactors the sync/async VWS, CloudReco query, and VuMark clients to deduplicate request/response logic by introducing shared helpers (
_vws_request.build_vws_request_args,_vws_common,_query_common) and routing existing code through them.This centralizes VWS request signing + header/url construction, result-code→exception mapping for VWS/VuMark/CloudReco, and JSON body construction for
add_target/update_target, while updating call sites to pass arguments via keywords (to satisfy strictkwargstype-checking) and making minor result parsing calls explicit viaresponse_dict=.Written by Cursor Bugbot for commit 1d7eabb. This will update automatically on new commits. Configure here.