sam133 commited on
Commit
510f9b3
·
1 Parent(s): f0febc6

� CRITICAL FIX: Remove gr.Accordion from function outputs

Browse files

❌ Fixed: TypeError: argument of type 'bool' is not iterable
✅ Solution: Removed gr.Accordion from ui_function_wrapper outputs
✅ Layout components cannot be used as function outputs in Gradio
✅ Results accordion now opens by default instead of programmatic control

This resolves the JSON schema validation error preventing app launch.

Files changed (1) hide show
  1. app.py +2 -11
app.py CHANGED
@@ -46,7 +46,7 @@ def ui_function_wrapper(vehicle_type, user_description):
46
  """
47
  Main UI wrapper function that yields real-time updates to multiple Gradio components
48
  Returns tuples in the order: process_log, current_design_specs, progress_bar,
49
- results_accordion, final_status, simulation_video, best_design_specs, download_json,
50
  performance_summary, llm_rationale
51
  """
52
  global designer
@@ -61,7 +61,6 @@ def ui_function_wrapper(vehicle_type, user_description):
61
  "🚀 Initializing Agent2Robot system...\n", # process_log_output
62
  {}, # current_design_specs_output
63
  0, # progress_bar_output
64
- gr.Accordion(open=False), # results_accordion - keep closed initially
65
  "", # final_status_output
66
  None, # simulation_video_output
67
  {}, # best_design_specs_output
@@ -84,7 +83,6 @@ def ui_function_wrapper(vehicle_type, user_description):
84
  current_log, # process_log_output
85
  {"interpreted_criteria": criteria}, # current_design_specs_output
86
  0, # progress_bar_output
87
- gr.Accordion(open=False), # results_accordion
88
  "", # final_status_output
89
  None, # simulation_video_output
90
  {}, # best_design_specs_output
@@ -102,7 +100,6 @@ def ui_function_wrapper(vehicle_type, user_description):
102
  current_log, # process_log_output
103
  {"status": "Design process starting..."}, # current_design_specs_output
104
  0, # progress_bar_output
105
- gr.Accordion(open=False), # results_accordion
106
  "", # final_status_output
107
  None, # simulation_video_output
108
  {}, # best_design_specs_output
@@ -122,7 +119,6 @@ def ui_function_wrapper(vehicle_type, user_description):
122
  current_log, # process_log_output
123
  {"current_iteration": iteration, "max_iterations": MAX_ITERATIONS, "status": "Running..."}, # current_design_specs_output
124
  progress_value, # progress_bar_output
125
- gr.Accordion(open=False), # results_accordion
126
  "", # final_status_output
127
  None, # simulation_video_output
128
  {}, # best_design_specs_output
@@ -156,7 +152,6 @@ def ui_function_wrapper(vehicle_type, user_description):
156
  current_log, # process_log_output
157
  current_specs_display, # current_design_specs_output
158
  progress_value, # progress_bar_output
159
- gr.Accordion(open=False), # results_accordion
160
  "", # final_status_output
161
  None, # simulation_video_output
162
  {}, # best_design_specs_output
@@ -177,7 +172,6 @@ def ui_function_wrapper(vehicle_type, user_description):
177
  current_log, # process_log_output
178
  {"error": f"Iteration {iteration} failed", "details": str(e)}, # current_design_specs_output
179
  progress_value, # progress_bar_output
180
- gr.Accordion(open=False), # results_accordion
181
  "", # final_status_output
182
  None, # simulation_video_output
183
  {}, # best_design_specs_output
@@ -193,7 +187,6 @@ def ui_function_wrapper(vehicle_type, user_description):
193
  current_log, # process_log_output
194
  {"status": "Generating final results..."}, # current_design_specs_output
195
  100, # progress_bar_output - complete
196
- gr.Accordion(open=False), # results_accordion
197
  "", # final_status_output
198
  None, # simulation_video_output
199
  {}, # best_design_specs_output
@@ -265,7 +258,6 @@ def ui_function_wrapper(vehicle_type, user_description):
265
  final_log, # process_log_output
266
  {"final_summary": f"Process completed. {len(designer.all_attempts)} iterations run."}, # current_design_specs_output
267
  100, # progress_bar_output
268
- gr.Accordion(open=True), # results_accordion - open results section
269
  final_status, # final_status_output
270
  simulation_gif_path, # simulation_video_output
271
  best_specs, # best_design_specs_output
@@ -385,7 +377,7 @@ def create_agent2robot_interface():
385
  )
386
 
387
  # Results Section
388
- with gr.Accordion("🏆 Final Results & Design Specifications", open=False) as results_accordion:
389
  final_status_output = gr.Markdown(
390
  label="🏁 Final Run Status",
391
  value="Waiting for process to complete..."
@@ -431,7 +423,6 @@ def create_agent2robot_interface():
431
  process_log_output,
432
  current_design_specs_output,
433
  progress_bar_output,
434
- results_accordion,
435
  final_status_output,
436
  simulation_video_output,
437
  best_design_specs_output,
 
46
  """
47
  Main UI wrapper function that yields real-time updates to multiple Gradio components
48
  Returns tuples in the order: process_log, current_design_specs, progress_bar,
49
+ final_status, simulation_video, best_design_specs, download_json,
50
  performance_summary, llm_rationale
51
  """
52
  global designer
 
61
  "🚀 Initializing Agent2Robot system...\n", # process_log_output
62
  {}, # current_design_specs_output
63
  0, # progress_bar_output
 
64
  "", # final_status_output
65
  None, # simulation_video_output
66
  {}, # best_design_specs_output
 
83
  current_log, # process_log_output
84
  {"interpreted_criteria": criteria}, # current_design_specs_output
85
  0, # progress_bar_output
 
86
  "", # final_status_output
87
  None, # simulation_video_output
88
  {}, # best_design_specs_output
 
100
  current_log, # process_log_output
101
  {"status": "Design process starting..."}, # current_design_specs_output
102
  0, # progress_bar_output
 
103
  "", # final_status_output
104
  None, # simulation_video_output
105
  {}, # best_design_specs_output
 
119
  current_log, # process_log_output
120
  {"current_iteration": iteration, "max_iterations": MAX_ITERATIONS, "status": "Running..."}, # current_design_specs_output
121
  progress_value, # progress_bar_output
 
122
  "", # final_status_output
123
  None, # simulation_video_output
124
  {}, # best_design_specs_output
 
152
  current_log, # process_log_output
153
  current_specs_display, # current_design_specs_output
154
  progress_value, # progress_bar_output
 
155
  "", # final_status_output
156
  None, # simulation_video_output
157
  {}, # best_design_specs_output
 
172
  current_log, # process_log_output
173
  {"error": f"Iteration {iteration} failed", "details": str(e)}, # current_design_specs_output
174
  progress_value, # progress_bar_output
 
175
  "", # final_status_output
176
  None, # simulation_video_output
177
  {}, # best_design_specs_output
 
187
  current_log, # process_log_output
188
  {"status": "Generating final results..."}, # current_design_specs_output
189
  100, # progress_bar_output - complete
 
190
  "", # final_status_output
191
  None, # simulation_video_output
192
  {}, # best_design_specs_output
 
258
  final_log, # process_log_output
259
  {"final_summary": f"Process completed. {len(designer.all_attempts)} iterations run."}, # current_design_specs_output
260
  100, # progress_bar_output
 
261
  final_status, # final_status_output
262
  simulation_gif_path, # simulation_video_output
263
  best_specs, # best_design_specs_output
 
377
  )
378
 
379
  # Results Section
380
+ with gr.Accordion("🏆 Final Results & Design Specifications", open=True) as results_accordion:
381
  final_status_output = gr.Markdown(
382
  label="🏁 Final Run Status",
383
  value="Waiting for process to complete..."
 
423
  process_log_output,
424
  current_design_specs_output,
425
  progress_bar_output,
 
426
  final_status_output,
427
  simulation_video_output,
428
  best_design_specs_output,