@@ -372,29 +372,39 @@ function agentsPage() {
372372 OpenFangAPI . wsDisconnect ( ) ;
373373 } ,
374374
375+ buildConfigForm ( agent ) {
376+ var identity = ( agent && agent . identity ) || { } ;
377+ return {
378+ name : ( agent && agent . name ) || '' ,
379+ system_prompt : ( agent && agent . system_prompt ) || '' ,
380+ emoji : identity . emoji || '' ,
381+ color : identity . color || '#FF5C00' ,
382+ archetype : identity . archetype || '' ,
383+ vibe : identity . vibe || ''
384+ } ;
385+ } ,
386+
375387 async showDetail ( agent ) {
376- this . detailAgent = agent ;
377- this . detailAgent . _fallbacks = [ ] ;
378388 this . detailTab = 'info' ;
379389 this . agentFiles = [ ] ;
380390 this . editingFile = null ;
381391 this . fileContent = '' ;
382392 this . editingFallback = false ;
383393 this . newFallbackValue = '' ;
384- this . configForm = {
385- name : agent . name || '' ,
386- system_prompt : agent . system_prompt || '' ,
387- emoji : ( agent . identity && agent . identity . emoji ) || '' ,
388- color : ( agent . identity && agent . identity . color ) || '#FF5C00' ,
389- archetype : ( agent . identity && agent . identity . archetype ) || '' ,
390- vibe : ( agent . identity && agent . identity . vibe ) || ''
391- } ;
392- this . showDetailModal = true ;
393- // Fetch full agent detail to get fallback_models
394+ // Load the full detail payload before opening the modal so editable
395+ // fields such as system_prompt and identity metadata are hydrated.
396+ var detail = agent ;
394397 try {
395398 var full = await OpenFangAPI . get ( '/api/agents/' + agent . id ) ;
396- this . detailAgent . _fallbacks = full . fallback_models || [ ] ;
397- } catch ( e ) { /* ignore */ }
399+
400+ detail = Object . assign ( { } , agent , full , {
401+ identity : Object . assign ( { } , ( agent && agent . identity ) || { } , ( full && full . identity ) || { } )
402+ } ) ;
403+ } catch ( e ) { /* fall back to list payload */ }
404+ this . detailAgent = detail ;
405+ this . detailAgent . _fallbacks = detail . fallback_models || [ ] ;
406+ this . configForm = this . buildConfigForm ( detail ) ;
407+ this . showDetailModal = true ;
398408 } ,
399409
400410 killAgent ( agent ) {
0 commit comments