Spaces:
Sleeping
Sleeping
Update components/sidebar.py
Browse files- components/sidebar.py +13 -7
components/sidebar.py
CHANGED
@@ -3,24 +3,23 @@ import streamlit as st
|
|
3 |
def render_sidebar():
|
4 |
"""
|
5 |
Sidebar with all controls for the research companion app.
|
6 |
-
|
7 |
Returns:
|
8 |
- query (str): The user's main research query.
|
9 |
- num_results (int): Max number of papers to show.
|
10 |
- theme (str): 'Light' or 'Dark'.
|
11 |
- search_clicked (bool): Did user click Search?
|
12 |
- gemini_prompt (str): Optional Gemini Q&A question.
|
|
|
|
|
13 |
"""
|
14 |
st.sidebar.title("π MCP Research Companion")
|
15 |
|
16 |
-
# Main research topic input
|
17 |
query = st.sidebar.text_input(
|
18 |
label="Enter your research topic:",
|
19 |
value="",
|
20 |
placeholder="e.g. CRISPR delivery"
|
21 |
)
|
22 |
|
23 |
-
# Number of results slider
|
24 |
num_results = st.sidebar.slider(
|
25 |
label="Max papers to display",
|
26 |
min_value=1,
|
@@ -28,21 +27,28 @@ def render_sidebar():
|
|
28 |
value=5
|
29 |
)
|
30 |
|
31 |
-
# Theme toggle
|
32 |
theme = st.sidebar.selectbox(
|
33 |
label="Theme",
|
34 |
options=["Light", "Dark"],
|
35 |
index=0
|
36 |
)
|
37 |
|
38 |
-
# Gemini question input (for Q&A at any time)
|
39 |
gemini_prompt = st.sidebar.text_input(
|
40 |
label="π‘ Ask Gemini (about anything!):",
|
41 |
value="",
|
42 |
placeholder="e.g. Summarize the latest CRISPR techniques"
|
43 |
)
|
44 |
|
45 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
search_clicked = st.sidebar.button("Search")
|
47 |
|
48 |
-
return query, num_results, theme, search_clicked, gemini_prompt
|
|
|
3 |
def render_sidebar():
|
4 |
"""
|
5 |
Sidebar with all controls for the research companion app.
|
|
|
6 |
Returns:
|
7 |
- query (str): The user's main research query.
|
8 |
- num_results (int): Max number of papers to show.
|
9 |
- theme (str): 'Light' or 'Dark'.
|
10 |
- search_clicked (bool): Did user click Search?
|
11 |
- gemini_prompt (str): Optional Gemini Q&A question.
|
12 |
+
- mcp_codegen_prompt (str): Prompt for code generation.
|
13 |
+
- codegen_clicked (bool): Did user click Generate Code?
|
14 |
"""
|
15 |
st.sidebar.title("π MCP Research Companion")
|
16 |
|
|
|
17 |
query = st.sidebar.text_input(
|
18 |
label="Enter your research topic:",
|
19 |
value="",
|
20 |
placeholder="e.g. CRISPR delivery"
|
21 |
)
|
22 |
|
|
|
23 |
num_results = st.sidebar.slider(
|
24 |
label="Max papers to display",
|
25 |
min_value=1,
|
|
|
27 |
value=5
|
28 |
)
|
29 |
|
|
|
30 |
theme = st.sidebar.selectbox(
|
31 |
label="Theme",
|
32 |
options=["Light", "Dark"],
|
33 |
index=0
|
34 |
)
|
35 |
|
|
|
36 |
gemini_prompt = st.sidebar.text_input(
|
37 |
label="π‘ Ask Gemini (about anything!):",
|
38 |
value="",
|
39 |
placeholder="e.g. Summarize the latest CRISPR techniques"
|
40 |
)
|
41 |
|
42 |
+
# New: MCP server codegen
|
43 |
+
st.sidebar.markdown("---")
|
44 |
+
st.sidebar.subheader("π οΈ MCP Server Codegen (Gemini)")
|
45 |
+
mcp_codegen_prompt = st.sidebar.text_area(
|
46 |
+
label="Describe the MCP server you want (plain English):",
|
47 |
+
value="",
|
48 |
+
placeholder="e.g. Write a Python MCP server for OpenWeatherMap with get_current_weather tool."
|
49 |
+
)
|
50 |
+
codegen_clicked = st.sidebar.button("Generate MCP Code")
|
51 |
+
|
52 |
search_clicked = st.sidebar.button("Search")
|
53 |
|
54 |
+
return query, num_results, theme, search_clicked, gemini_prompt, mcp_codegen_prompt, codegen_clicked
|