@@ -274,30 +274,36 @@ export const setupIframe = () =>
274274 { charmId : null , spaceName : null } ;
275275
276276 console . log ( "onLLMRequest" , payload , charmId , spaceName ) ;
277- const jsonPayload = JSON . parse ( payload ) ;
278- if ( ! jsonPayload . model ) {
279- jsonPayload . model = DEFAULT_IFRAME_MODELS ;
280- }
281- if ( ! jsonPayload . cache ) {
282- jsonPayload . cache = true ;
283- }
284- updateJob ( jobId , `Using ${ jsonPayload . model } ` ) ;
285- jsonPayload . metadata = {
286- ...jsonPayload . metadata ,
287- context : "iframe" ,
288- spaceName : spaceName ?? "fixme" ,
289- charmId : charmId ?? "fixme" ,
290- } ;
277+ try {
278+ const jsonPayload = JSON . parse ( payload ) ;
279+ if ( ! jsonPayload . model ) {
280+ jsonPayload . model = DEFAULT_IFRAME_MODELS ;
281+ }
282+ if ( ! jsonPayload . cache ) {
283+ jsonPayload . cache = true ;
284+ }
285+ updateJob ( jobId , `Using ${ jsonPayload . model } ` ) ;
286+ jsonPayload . metadata = {
287+ ...jsonPayload . metadata ,
288+ context : "iframe" ,
289+ spaceName : spaceName ?? "fixme" ,
290+ charmId : charmId ?? "fixme" ,
291+ } ;
291292
292- const res = await llm . sendRequest ( jsonPayload ) ;
293- console . log ( "onLLMRequest res" , res ) ;
294- completeJob ( {
295- id : jobId ,
296- result : undefined ,
297- status : res . content ?? "Completed!" ,
298- llmRequestId : res . id
299- } ) ;
300- return res as any ;
293+ const res = await llm . sendRequest ( jsonPayload ) ;
294+ console . log ( "onLLMRequest res" , res ) ;
295+ completeJob ( {
296+ id : jobId ,
297+ result : undefined ,
298+ status : res . content ?? "Completed!" ,
299+ llmRequestId : res . id ,
300+ } ) ;
301+ return res as any ;
302+ } catch ( e : any ) {
303+ console . error ( "onLLMRequest error" , e ) ;
304+ failJob ( jobId , "LLM request failed" , e . message ) ;
305+ return null ;
306+ }
301307 } ,
302308 async onReadWebpageRequest (
303309 _element : CommonIframeSandboxElement ,
@@ -313,7 +319,7 @@ export const setupIframe = () =>
313319 console . log ( "onReadWebpageRequest res" , res ) ;
314320 completeJob ( {
315321 id : jobId ,
316- status : res . status === 200 ? "Completed!" : "Failed!"
322+ status : res . status === 200 ? "Completed!" : "Failed!" ,
317323 } ) ;
318324 return await res . json ( ) ;
319325 } ,
0 commit comments