@@ -7,7 +7,11 @@ import {
77 sanitizeForConsole ,
88 shouldSuppressRawErrorConsoleSuffix ,
99} from "./embedded-agent-error-observation.js" ;
10- import { classifyFailoverReason , formatAssistantErrorText } from "./embedded-agent-helpers.js" ;
10+ import {
11+ classifyFailoverReason ,
12+ formatUserFacingAssistantErrorText ,
13+ GENERIC_ASSISTANT_ERROR_TEXT ,
14+ } from "./embedded-agent-helpers.js" ;
1115import { hasCommittedMessagingToolDeliveryEvidence } from "./embedded-agent-runner/delivery-evidence.js" ;
1216import { isIncompleteTerminalAssistantTurn } from "./embedded-agent-runner/run/incomplete-turn.js" ;
1317import {
@@ -72,24 +76,23 @@ export function handleAgentEnd(ctx: EmbeddedAgentSubscribeContext): void | Promi
7276 ctx . state . livenessState === "working" ? derivedWorkingTerminalState : ctx . state . livenessState ;
7377
7478 if ( isError && lastAssistant ) {
75- const friendlyError = formatAssistantErrorText ( lastAssistant , {
79+ const rawError = lastAssistant . errorMessage ?. trim ( ) ;
80+ const failoverReason = classifyFailoverReason ( rawError ?? "" , {
81+ provider : lastAssistant . provider ,
82+ } ) ;
83+ const errorText = formatUserFacingAssistantErrorText ( lastAssistant , {
7684 cfg : ctx . params . config ,
7785 sessionKey : ctx . params . sessionKey ,
7886 provider : lastAssistant . provider ,
7987 model : lastAssistant . model ,
8088 } ) ;
81- const rawError = lastAssistant . errorMessage ?. trim ( ) ;
82- const failoverReason = classifyFailoverReason ( rawError ?? "" , {
83- provider : lastAssistant . provider ,
84- } ) ;
85- const errorText = ( friendlyError || lastAssistant . errorMessage || "LLM request failed." ) . trim ( ) ;
8689 const observedError = buildApiErrorObservationFields ( rawError , {
8790 provider : lastAssistant . provider ,
8891 } ) ;
8992 const safeErrorText =
9093 buildTextObservationFields ( errorText , {
9194 provider : lastAssistant . provider ,
92- } ) . textPreview ?? "LLM request failed." ;
95+ } ) . textPreview ?? GENERIC_ASSISTANT_ERROR_TEXT ;
9396 lifecycleErrorText = safeErrorText ;
9497 const safeRunId = sanitizeForConsole ( ctx . params . runId ) ?? "-" ;
9598 const safeModel = sanitizeForConsole ( lastAssistant . model ) ?? "unknown" ;
@@ -131,7 +134,7 @@ export function handleAgentEnd(ctx: EmbeddedAgentSubscribeContext): void | Promi
131134 stream : "lifecycle" ,
132135 data : {
133136 phase : "error" ,
134- error : lifecycleErrorText ?? "LLM request failed." ,
137+ error : lifecycleErrorText ?? GENERIC_ASSISTANT_ERROR_TEXT ,
135138 ...terminalMeta ,
136139 ...( livenessState ? { livenessState } : { } ) ,
137140 ...( replayInvalid ? { replayInvalid } : { } ) ,
@@ -142,7 +145,7 @@ export function handleAgentEnd(ctx: EmbeddedAgentSubscribeContext): void | Promi
142145 stream : "lifecycle" ,
143146 data : {
144147 phase : "error" ,
145- error : lifecycleErrorText ?? "LLM request failed." ,
148+ error : lifecycleErrorText ?? GENERIC_ASSISTANT_ERROR_TEXT ,
146149 ...terminalMeta ,
147150 ...( livenessState ? { livenessState } : { } ) ,
148151 ...( replayInvalid ? { replayInvalid } : { } ) ,
0 commit comments