From 6b2df21dfa7245d8525cd956bedad9922d87eae5 Mon Sep 17 00:00:00 2001 From: "helen@cloud" Date: Mon, 23 Mar 2026 09:06:25 -0400 Subject: [PATCH 1/2] refactor(error): rename taxonomy and translators for clearer layering (#274) --- src/opencode_a2a/execution/executor.py | 2 +- src/opencode_a2a/execution/stream_events.py | 2 +- src/opencode_a2a/execution/stream_runtime.py | 2 +- .../{upstream_errors.py => upstream_error_translator.py} | 4 ++-- src/opencode_a2a/jsonrpc/application.py | 2 +- .../jsonrpc/{error_mapping.py => error_responses.py} | 0 src/opencode_a2a/{error_taxonomy.py => upstream_taxonomy.py} | 0 .../{test_error_mapping.py => test_error_responses.py} | 2 +- 8 files changed, 7 insertions(+), 7 deletions(-) rename src/opencode_a2a/execution/{upstream_errors.py => upstream_error_translator.py} (98%) rename src/opencode_a2a/jsonrpc/{error_mapping.py => error_responses.py} (100%) rename src/opencode_a2a/{error_taxonomy.py => upstream_taxonomy.py} (100%) rename tests/jsonrpc/{test_error_mapping.py => test_error_responses.py} (98%) diff --git a/src/opencode_a2a/execution/executor.py b/src/opencode_a2a/execution/executor.py index 6e0ee3e..707cc89 100644 --- a/src/opencode_a2a/execution/executor.py +++ b/src/opencode_a2a/execution/executor.py @@ -72,7 +72,7 @@ _TTLCache, ) from .tool_error_mapping import build_tool_error, map_a2a_tool_exception -from .upstream_errors import ( +from .upstream_error_translator import ( _await_stream_terminal_signal, _extract_upstream_error_detail, _format_inband_upstream_error, diff --git a/src/opencode_a2a/execution/stream_events.py b/src/opencode_a2a/execution/stream_events.py index e85db97..85cdd16 100644 --- a/src/opencode_a2a/execution/stream_events.py +++ b/src/opencode_a2a/execution/stream_events.py @@ -8,7 +8,7 @@ from a2a.types import TaskState from .stream_state import BlockType -from .upstream_errors import ( +from .upstream_error_translator import ( _format_inband_upstream_error, _format_stream_terminal_error, _StreamTerminalSignal, diff --git a/src/opencode_a2a/execution/stream_runtime.py b/src/opencode_a2a/execution/stream_runtime.py index 6ce522b..33d30bf 100644 --- a/src/opencode_a2a/execution/stream_runtime.py +++ b/src/opencode_a2a/execution/stream_runtime.py @@ -45,7 +45,7 @@ _StreamOutputState, _StreamPartState, ) -from .upstream_errors import _StreamTerminalSignal +from .upstream_error_translator import _StreamTerminalSignal logger = logging.getLogger("opencode_a2a.execution.executor") diff --git a/src/opencode_a2a/execution/upstream_errors.py b/src/opencode_a2a/execution/upstream_error_translator.py similarity index 98% rename from src/opencode_a2a/execution/upstream_errors.py rename to src/opencode_a2a/execution/upstream_error_translator.py index 0f8d7ac..fd33c57 100644 --- a/src/opencode_a2a/execution/upstream_errors.py +++ b/src/opencode_a2a/execution/upstream_error_translator.py @@ -7,10 +7,10 @@ import httpx from a2a.types import TaskState -from ..error_taxonomy import ( +from ..upstream_taxonomy import ( extract_upstream_error_detail as _extract_upstream_error_detail, ) -from ..error_taxonomy import ( +from ..upstream_taxonomy import ( resolve_upstream_http_error_profile as _resolve_upstream_error_profile, ) from ..opencode_upstream_client import UpstreamContractError diff --git a/src/opencode_a2a/jsonrpc/application.py b/src/opencode_a2a/jsonrpc/application.py index 477245d..c8c51bb 100644 --- a/src/opencode_a2a/jsonrpc/application.py +++ b/src/opencode_a2a/jsonrpc/application.py @@ -22,7 +22,7 @@ SESSION_QUERY_ERROR_BUSINESS_CODES, ) from ..opencode_upstream_client import OpencodeUpstreamClient, UpstreamContractError -from .error_mapping import ( +from .error_responses import ( interrupt_not_found_error, invalid_params_error, method_not_supported_error, diff --git a/src/opencode_a2a/jsonrpc/error_mapping.py b/src/opencode_a2a/jsonrpc/error_responses.py similarity index 100% rename from src/opencode_a2a/jsonrpc/error_mapping.py rename to src/opencode_a2a/jsonrpc/error_responses.py diff --git a/src/opencode_a2a/error_taxonomy.py b/src/opencode_a2a/upstream_taxonomy.py similarity index 100% rename from src/opencode_a2a/error_taxonomy.py rename to src/opencode_a2a/upstream_taxonomy.py diff --git a/tests/jsonrpc/test_error_mapping.py b/tests/jsonrpc/test_error_responses.py similarity index 98% rename from tests/jsonrpc/test_error_mapping.py rename to tests/jsonrpc/test_error_responses.py index 68182bc..8ffa84a 100644 --- a/tests/jsonrpc/test_error_mapping.py +++ b/tests/jsonrpc/test_error_responses.py @@ -2,7 +2,7 @@ from a2a.types import InvalidParamsError -from opencode_a2a.jsonrpc.error_mapping import ( +from opencode_a2a.jsonrpc.error_responses import ( interrupt_not_found_error, invalid_params_error, method_not_supported_error, From 41fccfec2813a9f5cf78f99a8a5a4922b7add992 Mon Sep 17 00:00:00 2001 From: "helen@cloud" Date: Mon, 23 Mar 2026 09:51:03 -0400 Subject: [PATCH 2/2] chore(error): apply ruff import ordering after rename (#274) --- src/opencode_a2a/execution/upstream_error_translator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opencode_a2a/execution/upstream_error_translator.py b/src/opencode_a2a/execution/upstream_error_translator.py index fd33c57..f5e63c6 100644 --- a/src/opencode_a2a/execution/upstream_error_translator.py +++ b/src/opencode_a2a/execution/upstream_error_translator.py @@ -7,13 +7,13 @@ import httpx from a2a.types import TaskState +from ..opencode_upstream_client import UpstreamContractError from ..upstream_taxonomy import ( extract_upstream_error_detail as _extract_upstream_error_detail, ) from ..upstream_taxonomy import ( resolve_upstream_http_error_profile as _resolve_upstream_error_profile, ) -from ..opencode_upstream_client import UpstreamContractError @dataclass(frozen=True)