Skip to content

Commit e2ee7d1

Browse files
committed
fix(sdk): return None from error extension when context is empty
Signed-off-by: Radek Ježek <radek.jezek@ibm.com>
1 parent a077b05 commit e2ee7d1

File tree

1 file changed

+7
-1
lines changed
  • apps/agentstack-sdk-py/src/agentstack_sdk/a2a/extensions/ui

1 file changed

+7
-1
lines changed

apps/agentstack-sdk-py/src/agentstack_sdk/a2a/extensions/ui/error.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import contextvars
77
import json
8+
import logging
89
import traceback
910
from collections.abc import AsyncIterator
1011
from contextlib import asynccontextmanager
@@ -20,6 +21,8 @@
2021
)
2122
from agentstack_sdk.a2a.types import AgentMessage, JsonDict, Metadata
2223

24+
logger = logging.getLogger(__name__)
25+
2326

2427
class Error(pydantic.BaseModel):
2528
"""
@@ -143,6 +146,9 @@ def context(self) -> JsonDict:
143146
return self._error_context_var.get()
144147
except LookupError:
145148
# Fallback for when lifespan hasn't been entered yet
149+
logger.warning(
150+
"Attempted to use error context when the error extension is not initialized. Make sure to add the ErrorExtensionServer to the agent dependencies."
151+
)
146152
return {}
147153

148154
def error_metadata(self, error: BaseException) -> Metadata[str, Any]:
@@ -162,7 +168,7 @@ def error_metadata(self, error: BaseException) -> Metadata[str, Any]:
162168
self.spec.URI: ErrorMetadata(
163169
error=error_data,
164170
stack_trace=stack_trace,
165-
context=self.context,
171+
context=self.context or None,
166172
).model_dump(mode="json")
167173
}
168174
)

0 commit comments

Comments
 (0)