Repository navigation
Conversation
Expose service error codes, retry and outcome guidance, request identities and optional diagnostics on BackendOperationError while retaining the original cause. Keep absent context optional for older ADX SDKs and local failures. Add regression coverage for confirmed scheduling failures, unknown create outcomes and unstructured exceptions. Document the public fields and their retry semantics. Signed-off-by: robbluo <luo1442@gmail.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.
Consolidated into #108, which retains this public error adapter and the tunnel-policy regression coverage in two focused commits.
An unschedulable create currently reaches callers as a string-only BackendOperationError, so retry/outcome guidance and request identities require inspection of backend-specific exception causes.
Expose optional service error context on the public exception: code, retry, outcome, request_id, operation_id, environment_id, status_code, scheduling_failure, failure, probe_failure and request_forwarded. Preserve the original cause and leave missing fields as None for older ADX SDKs and local errors. Document known scheduling cancellation separately from ambiguous execution results.
Validation:
make sdk-checkpasses: 301 SDK tests (6 skipped), 35 benchmark tests, Ruff and mypy.Related: #105. The ADX server/SDK companion change, openJiuwen-ai/agent-dx#69, supplies scheduling diagnostics and corrects cancellation/retry classification. This adapter remains compatible with the declared public ADX rc1 dependency; new scheduling details require the updated ADX SDK/server. No published package or immutable release tag is changed here. No ACK deployment validation was run for this PR.