feat(client): server_version constructor scaffold (stage 7-lite)#674
Merged
Conversation
Adopters can now declare which AdCP wire shape their seller speaks:
client = ADCPClient(agent_config=..., server_version="2.5")
client.get_server_version() # -> "2.5"
Today the pin is plumbing-only — recording the adopter's claim and
emitting a DeprecationWarning when it's a legacy version. Stage 7-full
will use the signal to drive inverse-translation of outbound requests.
The scaffold gives 3.1 client work somewhere to hang adopter signal
without forcing the inverse translators to land first.
* Current-major pins (3.0/3.1) accept silently — useful for telemetry
attribution without forcing a code path.
* Legacy pins (2.5) emit DeprecationWarning pointing at the future
Stage 7-full upgrade. Outbound requests still ship as v3 today; the
pin records intent only.
* Garbage input raises ValueError — same contract as
``adcp.validation.version.resolve_bundle_key``.
The active agent-card probe (JS SDK ``detectServerVersion``-equivalent)
is deferred to Stage 7-full where the inverse translators provide
something for the probe result to actually drive.
6 new tests on the resolver helper.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Stage 7-lite. Adds the API surface adopters need to declare which AdCP wire shape their seller speaks:
ADCPClient(server_version="2.5")+get_server_version()getter. Today the pin is plumbing-only — recording adopter intent and emitting DeprecationWarning when legacy. Stage 7-full will wire inverse translation. The scaffold gives the 3.1 client work somewhere to hang adopter signal without forcing the inverse translators to land first. 6 new tests; 4530 passed.