Skip to content

Commit 773f77b

Browse files
authored
Merge pull request #321 from aliyun/codex/agui-image-filename-metadata
fix(a2a): localize permission identity errors
2 parents 7357a76 + f69c237 commit 773f77b

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

src/iac_code/a2a/executor.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1262,6 +1262,7 @@ async def _execute(self, context: RequestContext, event_queue: EventQueue, *, co
12621262
response=permission_response,
12631263
code=exc.code,
12641264
retryable=exc.retryable,
1265+
language=self._resolve_preferred_language(response_metadata),
12651266
)
12661267
return
12671268
except InvalidParamsError:
@@ -2273,6 +2274,7 @@ def make_pipeline_executor() -> IacCodeA2APipelineExecutor:
22732274
response=response,
22742275
code="legacy_permission_identity",
22752276
retryable=False,
2277+
language=preferred_language,
22762278
session_id=context_record.session_id,
22772279
)
22782280
return True
@@ -2290,6 +2292,7 @@ def make_pipeline_executor() -> IacCodeA2APipelineExecutor:
22902292
response=response,
22912293
code=exc.reason,
22922294
retryable=exc.retryable,
2295+
language=preferred_language,
22932296
session_id=context_record.session_id,
22942297
)
22952298
return True
@@ -2303,6 +2306,7 @@ def make_pipeline_executor() -> IacCodeA2APipelineExecutor:
23032306
response=response,
23042307
code="cloud_execution_identity_changed",
23052308
retryable=False,
2309+
language=preferred_language,
23062310
session_id=context_record.session_id,
23072311
)
23082312
return True
@@ -2648,14 +2652,15 @@ async def _publish_permission_identity_error(
26482652
response: PermissionResponse,
26492653
code: str,
26502654
retryable: bool,
2655+
language: str | None = None,
26512656
session_id: str | None = None,
26522657
) -> None:
26532658
await self._publish_status(
26542659
event_queue,
26552660
task_id=response.task_id,
26562661
context_id=response.context_id,
26572662
state=TaskState.TASK_STATE_INPUT_REQUIRED,
2658-
text=_("A temporary error occurred. Please retry."),
2663+
text=translate_message("A temporary error occurred. Please retry.", language=language or "en"),
26592664
metadata={
26602665
"iac_code": {
26612666
"permissionIdentityError": {

tests/a2a/test_executor.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4720,13 +4720,18 @@ async def publish(_queue, **kwargs):
47204720
monkeypatch.setattr(executor, "_publish_status", publish)
47214721

47224722
await executor._execute(
4723-
FakeRequestContext(task_id="task-1", context_id="ctx-1"),
4723+
FakeRequestContext(
4724+
task_id="task-1",
4725+
context_id="ctx-1",
4726+
metadata={"iac_code": {"preferredLanguage": "zh-CN"}},
4727+
),
47244728
FakeEventQueue(),
47254729
context_id="ctx-1",
47264730
)
47274731

47284732
assert len(published) == 1
47294733
assert published[0]["state"] == TaskState.TASK_STATE_INPUT_REQUIRED
4734+
assert published[0]["text"] == "发生临时错误,请重试。"
47304735
error = published[0]["metadata"]["iac_code"]["permissionIdentityError"]
47314736
assert error == {
47324737
"code": "InternalError",

0 commit comments

Comments
 (0)