@@ -337,29 +337,38 @@ function agentsPage() {
337337 OpenFangAPI . wsDisconnect ( ) ;
338338 } ,
339339
340+ buildConfigForm ( agent ) {
341+ var identity = ( agent && agent . identity ) || { } ;
342+ return {
343+ name : ( agent && agent . name ) || '' ,
344+ system_prompt : ( agent && agent . system_prompt ) || '' ,
345+ emoji : identity . emoji || '' ,
346+ color : identity . color || '#FF5C00' ,
347+ archetype : identity . archetype || '' ,
348+ vibe : identity . vibe || ''
349+ } ;
350+ } ,
351+
340352 async showDetail ( agent ) {
341- this . detailAgent = agent ;
342- this . detailAgent . _fallbacks = [ ] ;
343353 this . detailTab = 'info' ;
344354 this . agentFiles = [ ] ;
345355 this . editingFile = null ;
346356 this . fileContent = '' ;
347357 this . editingFallback = false ;
348358 this . newFallbackValue = '' ;
349- this . configForm = {
350- name : agent . name || '' ,
351- system_prompt : agent . system_prompt || '' ,
352- emoji : ( agent . identity && agent . identity . emoji ) || '' ,
353- color : ( agent . identity && agent . identity . color ) || '#FF5C00' ,
354- archetype : ( agent . identity && agent . identity . archetype ) || '' ,
355- vibe : ( agent . identity && agent . identity . vibe ) || ''
356- } ;
357- this . showDetailModal = true ;
358- // Fetch full agent detail to get fallback_models
359+ // Load the full detail payload before opening the modal so editable
360+ // fields such as system_prompt and identity metadata are hydrated.
361+ var detail = agent ;
359362 try {
360363 var full = await OpenFangAPI . get ( '/api/agents/' + agent . id ) ;
361- this . detailAgent . _fallbacks = full . fallback_models || [ ] ;
362- } catch ( e ) { /* ignore */ }
364+ detail = Object . assign ( { } , agent , full , {
365+ identity : Object . assign ( { } , ( agent && agent . identity ) || { } , ( full && full . identity ) || { } )
366+ } ) ;
367+ } catch ( e ) { /* fall back to list payload */ }
368+ this . detailAgent = detail ;
369+ this . detailAgent . _fallbacks = detail . fallback_models || [ ] ;
370+ this . configForm = this . buildConfigForm ( detail ) ;
371+ this . showDetailModal = true ;
363372 } ,
364373
365374 killAgent ( agent ) {
0 commit comments