v0.4.1
aidress-mcp 0.4.1 · aidress-sdk 0.4.1 · langchain-aidress 0.2.0 (unchanged)
Two client-side fixes. Upgrade if you call review() or check register()'s result.
Fixed
-
review()silently did nothing when called without both party ids./review
requirescaller_agent_idandreceiver_agent_id, butcall()cached only the
transaction_id— so the documentedreview(success, score)sent neither, received a
422, and returned that response as though it had succeeded. No review was recorded and
no error was raised.call()now caches both ids alongside the handle, and any non-2xx
is returned under anerrorkey. With no priorcall()you get an explicit message
naming what is missing.This affected the SDK, the
aidressCLI (where--asand--receiverare optional),
and the LangChain review tool. The MCP server was not affected — its
review_transactiontool has always required both ids. Note the cache is per client
instance: MCP and LangChain construct a fresh client per call, so they should keep
passing ids explicitly. -
register()reported failures as successes. Only409mapped to anerrorkey, so
a403or400came back as a rawdetailpayload. Code guarding on
result.get("error")proceeded and then failed on the absentclaim_link. Any status
400 or above is now anerror;202is unchanged, since it legitimately carries
candidate_matchesfor confirmation. -
examples/quickstart.py: no longer submits a negative review when a call returns402.
Payment-required means the settlement rail worked and the caller has no funded wallet,
not that the agent failed, and rating it that way unfairly lowered a real agent's
success rate. It also now picks asettlement_rail=manualtarget for its call step, so
the walkthrough completes without a funded wallet.