@@ -20,7 +20,8 @@ import {
2020 MStepBE ,
2121 AgentMessageResponse ,
2222 FinalMessage ,
23- StreamingMessage
23+ StreamingMessage ,
24+ UserRequestObject
2425} from "@/models" ;
2526import { apiService } from "@/api" ;
2627
@@ -122,6 +123,37 @@ export class PlanDataService {
122123 } ) )
123124 } ;
124125 }
126+ /**
127+ * Extracts the actual text from a user_request object or string
128+ * @param userRequest - Either a string or UserRequestObject
129+ * @returns The extracted text string
130+ */
131+ static extractUserRequestText ( userRequest : string | UserRequestObject ) : string {
132+ if ( typeof userRequest === 'string' ) {
133+ return userRequest ;
134+ }
135+
136+ if ( userRequest && typeof userRequest === 'object' ) {
137+ // Look for text in the items array
138+ if ( Array . isArray ( userRequest . items ) ) {
139+ const textItem = userRequest . items . find ( item => item . text ) ;
140+ if ( textItem ?. text ) {
141+ return textItem . text ;
142+ }
143+ }
144+
145+ // Fallback: try to find any text content
146+ if ( userRequest . content_type === 'text' && 'text' in userRequest ) {
147+ return ( userRequest as any ) . text || '' ;
148+ }
149+
150+ // Last resort: stringify the object
151+ return JSON . stringify ( userRequest ) ;
152+ }
153+
154+ return '' ;
155+ }
156+
125157 /**
126158 * Converts MPlanBE to MPlanData
127159 * @param mplanBE - MPlanBE from backend
@@ -132,6 +164,9 @@ export class PlanDataService {
132164 return null ;
133165 }
134166
167+ // Extract the actual user request text
168+ const userRequestText = this . extractUserRequestText ( mplanBE . user_request ) ;
169+
135170 // Convert MStepBE[] to the MPlanData steps format
136171 const steps = mplanBE . steps . map ( ( stepBE : MStepBE , index : number ) => ( {
137172 id : index + 1 , // MPlanData expects numeric id starting from 1
@@ -151,12 +186,12 @@ export class PlanDataService {
151186 return {
152187 id : mplanBE . id ,
153188 status : mplanBE . overall_status . toString ( ) . toUpperCase ( ) ,
154- user_request : mplanBE . user_request ,
189+ user_request : userRequestText ,
155190 team : mplanBE . team ,
156191 facts : mplanBE . facts ,
157192 steps : steps ,
158193 context : {
159- task : mplanBE . user_request ,
194+ task : userRequestText ,
160195 participant_descriptions : { } // Default empty object since it's not in MPlanBE
161196 } ,
162197 // Additional fields from m_plan
0 commit comments