Skip to content

Commit a127aa7

Browse files
committed
chore: refine send_asr_error api
1 parent 306eb71 commit a127aa7

File tree

1 file changed

+22
-23
lines changed

1 file changed

+22
-23
lines changed

interface/ten_ai_base/asr.py

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
from .message import (
1414
ModuleError,
15+
ModuleErrorCode,
1516
ModuleErrorVendorInfo,
1617
ModuleMetricKey,
1718
ModuleMetrics,
@@ -215,7 +216,7 @@ async def send_asr_result(self, asr_result: ASRResult) -> None:
215216

216217
stable_data = Data.create("asr_result")
217218

218-
model_json = asr_result.model_dump()
219+
model_json = asr_result.model_dump(exclude_none=True)
219220

220221
stable_data.set_property_from_json(
221222
None,
@@ -227,40 +228,38 @@ async def send_asr_result(self, asr_result: ASRResult) -> None:
227228
if asr_result.final:
228229
self.uuid = self._get_uuid() # Reset UUID for the next final turn
229230

230-
231231
@final
232232
async def send_asr_error(
233-
self, error: ModuleError, vendor_info: ModuleErrorVendorInfo | None = None
233+
self,
234+
code: ModuleErrorCode,
235+
message: str,
236+
vendor_info: ModuleErrorVendorInfo | None = None,
234237
) -> None:
235238
"""
236239
Send an error message related to ASR processing.
237240
"""
238241
error_data = Data.create("error")
239242

240-
vendorInfo = None
243+
module_error = ModuleError(
244+
id=self.uuid,
245+
module=ModuleType.ASR,
246+
code=code.value,
247+
message=message,
248+
metadata={
249+
PROPERTY_KEY_SESSION_ID: self.session_id or "",
250+
},
251+
)
252+
241253
if vendor_info:
242-
vendorInfo = {
243-
"vendor": vendor_info.vendor,
244-
"code": vendor_info.code,
245-
"message": vendor_info.message,
246-
}
254+
module_error.vendor_info = ModuleErrorVendorInfo(
255+
vendor=self.vendor(),
256+
code=vendor_info.code,
257+
message=vendor_info.message,
258+
)
247259

248260
error_data.set_property_from_json(
249261
None,
250-
json.dumps(
251-
{
252-
"id": self.uuid,
253-
"module": ModuleType.ASR,
254-
"code": error.code,
255-
"message": error.message,
256-
"vendor_info": vendorInfo or {},
257-
"metadata": (
258-
{}
259-
if self.session_id is None
260-
else {PROPERTY_KEY_SESSION_ID: self.session_id}
261-
),
262-
}
263-
),
262+
module_error.model_dump_json(exclude_none=True),
264263
)
265264

266265
await self.ten_env.send_data(error_data)

0 commit comments

Comments
 (0)