Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -82,33 +82,14 @@ except ImportError as e:
|
|
82 |
gr.update(value=empty_header_html), # report_header_html_display (7)
|
83 |
gr.update(value=empty_body_markdown), # report_body_markdown_display (8)
|
84 |
{}, # reconstruction_cache_st (9)
|
85 |
-
gr.update(value=get_initial_okr_display()) # NEW: enhanced_okr_display_html (10)
|
|
|
86 |
)
|
87 |
def fetch_and_reconstruct_data_from_bubble(*args, **kwargs):
|
88 |
return None, {}
|
89 |
def format_report_for_display(report_data):
|
90 |
# Placeholder for when modules are not loaded, returns structure matching the new design
|
91 |
return {'header_html': '<h1>Agentic modules not loaded.</h1>', 'body_markdown': 'Report display unavailable.'}
|
92 |
-
# REMOVED from insights_ui_generator.py, so also remove placeholder if not needed by other direct calls
|
93 |
-
# def extract_key_results_for_selection(okr_data):
|
94 |
-
# return []
|
95 |
-
# def format_single_okr_for_display(okr_data, **kwargs):
|
96 |
-
# return "Agentic modules not loaded. OKR display unavailable."
|
97 |
-
|
98 |
-
|
99 |
-
# --- ANALYTICS TAB MODULE IMPORT ---
|
100 |
-
from services.analytics_tab_module import AnalyticsTab
|
101 |
-
|
102 |
-
# Configure logging
|
103 |
-
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(module)s - %(message)s')
|
104 |
-
|
105 |
-
# API Key Setup
|
106 |
-
user_provided_api_key = os.environ.get("GEMINI_API_KEY")
|
107 |
-
if user_provided_api_key:
|
108 |
-
os.environ["GOOGLE_API_KEY"] = user_provided_api_key
|
109 |
-
logging.info("GOOGLE_API_KEY environment variable has been set from GEMINI_API_KEY.")
|
110 |
-
else:
|
111 |
-
logging.error("CRITICAL ERROR: The API key environment variable 'GEMINI_API_KEY' was not found.")
|
112 |
|
113 |
|
114 |
with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="sky"),
|
@@ -138,6 +119,8 @@ with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="sky"),
|
|
138 |
|
139 |
# --- NEW: Session-specific cache for reconstructed OKR data ---
|
140 |
reconstruction_cache_st = gr.State({})
|
|
|
|
|
141 |
|
142 |
|
143 |
# --- UI LAYOUT ---
|
@@ -305,7 +288,8 @@ with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="sky"),
|
|
305 |
report_header_html_display, # 7: New HTML output for header
|
306 |
report_body_markdown_display, # 8: New Markdown output for body
|
307 |
reconstruction_cache_st, # 9: Reconstruction cache state
|
308 |
-
enhanced_okr_display_html
|
|
|
309 |
]
|
310 |
|
311 |
initial_load_event = org_urn_display.change(
|
@@ -324,12 +308,12 @@ with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="sky"),
|
|
324 |
).then(
|
325 |
fn=load_and_display_agentic_results,
|
326 |
inputs=[token_state, reconstruction_cache_st],
|
327 |
-
# MODIFIED: Updated outputs to match all components returned by load_and_display_agentic_results
|
328 |
outputs=agentic_display_outputs,
|
329 |
show_progress="minimal"
|
330 |
).then( # NEW CHAIN: Update the enhanced OKR display after load_and_display_agentic_results runs
|
331 |
fn=format_okrs_for_enhanced_display,
|
332 |
-
inputs=[
|
333 |
outputs=[enhanced_okr_display_html],
|
334 |
show_progress="minimal"
|
335 |
)
|
|
|
82 |
gr.update(value=empty_header_html), # report_header_html_display (7)
|
83 |
gr.update(value=empty_body_markdown), # report_body_markdown_display (8)
|
84 |
{}, # reconstruction_cache_st (9)
|
85 |
+
gr.update(value=get_initial_okr_display()), # NEW: enhanced_okr_display_html (10)
|
86 |
+
gr.update(value={}) # NEW: actionable_okrs_data_st (11)
|
87 |
)
|
88 |
def fetch_and_reconstruct_data_from_bubble(*args, **kwargs):
|
89 |
return None, {}
|
90 |
def format_report_for_display(report_data):
|
91 |
# Placeholder for when modules are not loaded, returns structure matching the new design
|
92 |
return {'header_html': '<h1>Agentic modules not loaded.</h1>', 'body_markdown': 'Report display unavailable.'}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
|
94 |
|
95 |
with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="sky"),
|
|
|
119 |
|
120 |
# --- NEW: Session-specific cache for reconstructed OKR data ---
|
121 |
reconstruction_cache_st = gr.State({})
|
122 |
+
# NEW: State to hold the actionable_okrs dictionary explicitly
|
123 |
+
actionable_okrs_data_st = gr.State({})
|
124 |
|
125 |
|
126 |
# --- UI LAYOUT ---
|
|
|
288 |
report_header_html_display, # 7: New HTML output for header
|
289 |
report_body_markdown_display, # 8: New Markdown output for body
|
290 |
reconstruction_cache_st, # 9: Reconstruction cache state
|
291 |
+
enhanced_okr_display_html, # 10: NEW: The enhanced HTML display for OKRs
|
292 |
+
actionable_okrs_data_st # 11: NEW: The actionable_okrs dictionary state
|
293 |
]
|
294 |
|
295 |
initial_load_event = org_urn_display.change(
|
|
|
308 |
).then(
|
309 |
fn=load_and_display_agentic_results,
|
310 |
inputs=[token_state, reconstruction_cache_st],
|
311 |
+
# MODIFIED: Updated outputs to match all components returned by load_and_display_agentic_results (now 12)
|
312 |
outputs=agentic_display_outputs,
|
313 |
show_progress="minimal"
|
314 |
).then( # NEW CHAIN: Update the enhanced OKR display after load_and_display_agentic_results runs
|
315 |
fn=format_okrs_for_enhanced_display,
|
316 |
+
inputs=[actionable_okrs_data_st], # Take the new explicit actionable_okrs_data_st as input
|
317 |
outputs=[enhanced_okr_display_html],
|
318 |
show_progress="minimal"
|
319 |
)
|