This commit is contained in:
sameeranageshwar
2026-04-11 23:46:06 -04:00
parent 2d379bece7
commit 8c05c241fe
4 changed files with 43 additions and 36 deletions
+2 -1
View File
@@ -32,8 +32,9 @@ app.add_middleware(
)
# MongoDB Setup
import certifi
MONGO_URI = os.getenv("MONGODB_URI", "mongodb://localhost:27017/")
mongo_client = MongoClient(MONGO_URI)
mongo_client = MongoClient(MONGO_URI, tlsCAFile=certifi.where())
db = mongo_client.study_buddy_db
study_rooms_collection = db.study_rooms
+13 -12
View File
@@ -9,35 +9,36 @@ import uuid
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
CONVERSATION_ID = "5e3fb381-ce00-76db-0c03-7757f7521af1"
CHAT_ID = "1eaa95ea-9b73-4850-8534-d1552401513a"
CONVERSATION_ID = "290c9cab-ab30-3300-2a09-ed08b67fd0f8"
CHAT_ID = "d19b64a3-d339-4d57-b61e-1d7d81844f7b"
HEADERS = {
"accept": "*/*",
"accept-language": "en-US,en;q=0.9",
"authorization": "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImtTQTY0dEFUMEx3RERELTdXbG5VRU1TQXBULXR2dl94WUtWc0lHNW1nR1kiLCJ0eXAiOiJKV1QifQ.eyJ1cG4iOiIzMDY0NDY5Yi1mM2E4LTQwOTktYThlYy00ODUwZWI2YjFkZWUiLCJpcCI6IkVudHJhSWQiLCJlbWFpbCI6Imp3dTEyMzQ0QHVtZC5lZHUiLCJ1dm8iOnsiaWQiOiIzMDY0NDY5Yi1mM2E4LTQwOTktYThlYy00ODUwZWI2YjFkZWUiLCJuIjoiSm9saWUgV3UifSwidXIiOltdLCJjYXAiOlsiYTc5YmUyMTMtMTBhZS00MWE3LWJjZmYtOTdkMmI2YmE3MDY5Il0sInYiOiIyLjI2MDUuNDQ3Mi4wIiwibmJmIjoxNzc1OTUzMjU0LCJleHAiOjE3NzU5NTUwNTQsImlhdCI6MTc3NTk1MzI1NCwiaXNzIjoiaHR0cHM6Ly9uZWJ1bGFvbmUuYWkiLCJhdWQiOiJOZWJ1bGFPbmUifQ.DiIFp_bJsPqghC5smL6KNc_vJEcpXLB97VHbU3YFciNQTsENiJ3nBUXWo7Ob36JdqYcb9pIZmnhV-IronFQwDg910jqtJ7-jM-Qdc5UbUAynU07BvCmCFrebIn45BwSMix1C-YZMEdH8hw_oAxLAIC9iK03luJAvJQbJKuENucPN3ashpL0MFRWMv2CEa0a1adRAG9SMUtM8KChbD95dqX9gKLxd6gUcnkUT24C18W904NBwDUj-q6Yq0zjEhBghAlUX_AaNH0wsfH9FTRKD_LBJ5iZ2l1aZNmsFMZC7GTUr1_tPQDp03j4__74o1fE9EGOG68j4uVvJPiXWg68UBQ",
"authorization": "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImtTQTY0dEFUMEx3RERELTdXbG5VRU1TQXBULXR2dl94WUtWc0lHNW1nR1kiLCJ0eXAiOiJKV1QifQ.eyJ1cG4iOiIyNjMyMDYyNy1lODMxLTQ5YzQtYjNmYS1jZTA0MzUwYzM3ZTMiLCJpcCI6IkVudHJhSWQiLCJlbWFpbCI6InNuYWdlc2h3QHVtZC5lZHUiLCJ1dm8iOnsiaWQiOiIyNjMyMDYyNy1lODMxLTQ5YzQtYjNmYS1jZTA0MzUwYzM3ZTMiLCJuIjoiU2FtZWVyYSBOYWdlc2h3YXIifSwidXIiOltdLCJjYXAiOlsiYTc5YmUyMTMtMTBhZS00MWE3LWJjZmYtOTdkMmI2YmE3MDY5Il0sInYiOiIyLjI2MDUuNDQ3Mi4wIiwibmJmIjoxNzc1OTYwMjEyLCJleHAiOjE3NzU5NjIwMTIsImlhdCI6MTc3NTk2MDIxMiwiaXNzIjoiaHR0cHM6Ly9uZWJ1bGFvbmUuYWkiLCJhdWQiOiJOZWJ1bGFPbmUifQ.hROwQyDGEHB9qb9dzOLUxsVP_y9_EUsn04qz1GkXPpi2phd1HH7-VlNn1OCrS58V7JqPEB2YiK_ZRYpCPwAMO9BIPpR-cZ_3QO0fJ76qga7m8yXw4uscuD2MID26CuF_urpQfL1mQ8dQkQzcJlQb6RRUrfeDJd210U9jPnTA5gNZ36_RNNLdZkfWtwJGf_v3PH-zp2DNqpBpCWWGQoiHHFi0bAxeiRug4e5l-5nSg6-R9WX0M0nmwe4GZRZxyVwRjLxklO1Iwl0q3cXHGfs-7SX2OUSxJ70acX0-J9YRrKn2s0LHc1j1s-1AWEU8SLkuWRMMmMPYQg9AUVP3K2bHnA",
"content-type": "application/json",
"cookie": "_ga=GA1.1.602107016.1755869183; _ga_0HWJZKFYZR=GS2.1.s1755881712$o2$g1$t1755883404$j59$l0$h0; nmstat=9fc3b4a6-4cfc-0e78-dc36-dacf7a9c2035; _hjSessionUser_2558111=eyJpZCI6IjFhZDBjMGU4LTA0NWUtNWQxOS1iMTQ3LWI1OTVlMzIxZjAwMiIsImNyZWF0ZWQiOjE3NzU3NzM4MDU2ODQsImV4aXN0aW5nIjpmYWxzZX0=; dtCookie=v_4_srv_9_sn_C923FD12CFA9E0718B2147BD3710C41A_perc_100000_ol_0_mul_1_app-3Af9eed1d550ab4737_1; rxVisitor=17757738068740O0ICIGCE4KHG1MJ665QAFA4SR22A0RF; rxvt=1775782042876|1775780238463; dtSa=-; dtPC=9$373815254_472h-vCQDHRKJPLNDWPEKUQMUGAPAUGKCIVKVG-0e0; _ga_E9M33B2469=GS2.1.s1775780532$o2$g0$t1775780532$j60$l0$h0",
"cookie": "_hjSessionUser_2558111=eyJpZCI6ImRiZWU0OTM1LTY4N2YtNTBmYi1iYTRiLTQ0OGQzMGU2YmJmNiIsImNyZWF0ZWQiOjE3MjQ0MjI1NDk3NDAsImV4aXN0aW5nIjp0cnVlfQ==; _ga_J7C3S6XNGQ=GS1.2.1741641087.6.1.1741641118.0.0.0; _ga_GY230X48CS=GS1.1.1741641086.6.1.1741641267.0.0.0; _scid=LJweNfZGjcU7NsVqpXwAu0eh2rLJ-e-J; _ga_F7KW1RHXXJ=GS1.1.1742912613.5.1.1742912797.0.0.0; _ga_384233029=GS1.1.1744312929.5.1.1744312963.0.0.0; _ga_6N9GRW79WF=GS1.1.1744312929.5.1.1744312963.26.0.0; _ga_9PPFFFRJRX=GS1.1.1744480935.2.1.1744481403.0.0.0; _ga_8Y3285ZTEY=GS1.1.1744952270.1.0.1744952277.0.0.0; _ga_K9TWF4LFGP=GS1.1.1744953024.1.0.1744953028.0.0.0; _sctr=1%7C1744948800000; _scid_r=OxweNfZGjcU7NsVqpXwAu0eh2rLJ-e-JYGQd8A; _ga_MQHQPVLC6S=GS1.1.1744953095.3.1.1744953338.0.0.0; _ga_SRFRDRC7G1=GS1.1.1744953418.3.1.1744953560.0.0.0; _ga_NT2KN2BD65=GS1.1.1744998849.9.1.1744999196.50.0.0; _ga_REF6NPHL90=GS1.1.1744998849.9.1.1744999196.0.0.0; _uetvid=36561bc06e1311efb03ab5c34017d187; _ga_3KLZVDGFWL=GS1.1.1745015053.5.1.1745015076.37.0.0; _ga_M6HVP1ZCF9=GS1.1.1745035695.4.0.1745035695.0.0.0; ajs_anonymous_id=%22b532ab47-5c0b-4ecf-8822-f443981350a6%22; _ga_4L4R6J6KT4=GS1.1.1745607087.1.1.1745607223.0.0.0; cf_clearance=wQavNkKoI8yPem3QRdKImMR_z8CC7lcHlWKQiCqQp4E-1746318548-1.2.1.1-Mxp8cxuKNHfg5EdISFbkS.reTpDvTBL86CDxS6n1E0desmF4KWk8jRHerXCyiBGutuFyh3o2pCLmAksl8SqZKzSkg7IYW5awqmDNwRyoNknH4rvoxeTrY413y51QZunpHTKifxrQwxmFbEZhFIyxzkg0BFsiLMg.7K4IFIZMePCVLvs_s6YA2GMqWlgGXXD9XqsI98KYxn2i1bk1I6jsWQ9IN9P_cxWW87BSClEQDHvH3KIMHv1lTMpIZ86lzPsq7DQsNwKMNwrfO1XdKsqaH.dCuUqoHIqQNrT3Qg_wg19bANykYvLREa0IGZTMkQOuu5Ae7CdvL..Zu33sodAnSlMGRwvOWMSVpN9VG633o0E; _ga_F7V05TJ56H=GS2.1.s1746317216$o2$g1$t1746318556$j0$l0$h0; _ga_9QXK71PHV1=GS1.1.1746384515.2.1.1746384560.0.0.0; _ga_RC4XHY2ZT5=GS2.1.s1746730862$o8$g0$t1746730864$j0$l0$h0; _clck=lnjy10%7C2%7Cfvs%7C0%7C1706; _ga_6VXTC1Y945=GS2.1.s1746850953$o26$g1$t1746851105$j0$l0$h0; _ga_XH45N761B7=GS2.1.s1746850953$o26$g1$t1746851105$j0$l0$h0; _ga_D2M3FRVYM7=GS2.1.s1747238510$o31$g1$t1747239071$j0$l0$h0; _ga_W3Y0KTDFVX=GS2.1.s1747592603$o4$g0$t1747592612$j0$l0$h0; _ga_N30MS2LW8D=GS2.2.s1747774722$o3$g0$t1747774722$j0$l0$h0; _ga_PXRHVCCC6N=GS2.2.s1747810639$o8$g0$t1747810639$j0$l0$h0; _ga_6HFQB7M478=GS2.1.s1748670259$o8$g1$t1748671063$j60$l0$h0; _ga_1C3R5LH705=GS2.1.s1749344180$o3$g1$t1749344537$j60$l0$h0; _ga_29TPK5T4VJ=GS2.1.s1749600922$o3$g1$t1749600952$j30$l0$h0; _ga_0ME57WCM7H=GS2.1.s1753213282$o13$g0$t1753213290$j52$l0$h0; _ga_6RJ22ZEGTP=GS2.1.s1753556865$o29$g1$t1753557380$j60$l0$h0; _ga_QFQ5PJP2QH=GS2.1.s1754337674$o55$g1$t1754338156$j60$l0$h0; _ga_0RDH09ZGCK=GS2.1.s1754359762$o34$g1$t1754360015$j60$l0$h0; _ga_3KD4QBE6RB=GS2.1.s1754664962$o4$g1$t1754665018$j4$l0$h0; _ga_4QVNE3V6C4=GS2.1.s1754664852$o7$g1$t1754665383$j3$l0$h0; _ga_XPNWG40YWF=GS2.1.s1755199103$o5$g1$t1755199120$j43$l0$h0; _ga_FWRTZ8V96T=GS2.1.s1755199122$o26$g1$t1755200694$j60$l0$h0; _ga_60LC732FSD=GS2.1.s1756921145$o15$g0$t1756921145$j60$l0$h0; _ga=GA1.1.1995252296.1724421767; _ga_QYVCRT1RJR=GS2.1.s1759207336$o2$g1$t1759207386$j10$l0$h0; _ga_R7NZ5XV4TT=GS2.1.s1770084108$o1$g1$t1770084132$j36$l0$h0; nmstat=34df7750-5a57-a16a-b809-91d39c8cdad7; dtCookie=v_4_srv_12_sn_C3E3A26387C64F65978660E99C21A81F_perc_100000_ol_0_mul_1_app-3Af9eed1d550ab4737_1; monkey=95c3341f-14a4-426c-afd8-38a80519db0c; rxVisitor=1775405101563KQ4KME9Q0OUSAA5FQF00GF7MAF5HBHK7; rxvt=1775406901833|1775405101563; dtPC=12$5101562_270h-vCJMBJTLHBDHWNMMBPPQVPUMAHKMGRERL-0e0; _ga_E9M33B2469=GS2.1.s1775405075$o56$g0$t1775405113$j22$l0$h0; dtSa=true%7CKD%7C-1%7CPage%3A%20dropAdd%3Fnull%7C-%7C1775405138163%7C5101562_270%7Chttps%3A%2F%2Fapp.testudo.umd.edu%2F%7C%7C%7C%2Fmain%2FdropAdd%3Fnull%26termId%3D202608%7C",
"origin": "https://terpai.umd.edu",
"priority": "u=1, i",
"referer": f"https://terpai.umd.edu/chat/{CHAT_ID}/{CONVERSATION_ID}",
"sec-ch-ua": '"Not:A-Brand";v="99", "Google Chrome";v="145", "Chromium";v="145"',
"sec-ch-ua": '"Chromium";v="146", "Not-A.Brand";v="24", "Google Chrome";v="146"',
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": '"macOS"',
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36",
"x-cosmos-session-295334": "0:-1#744338",
"x-cosmos-session-317755": "0:-1#190318",
"x-cosmos-session-382299": "0:-1#263838",
"x-cosmos-session-418988": "0:-1#4049357",
"x-cosmos-session-793952": "0:-1#13795",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
"x-cosmos-session-281286": "0:-1#10931",
"x-cosmos-session-295334": "0:-1#745295",
"x-cosmos-session-317755": "0:-1#190559",
"x-cosmos-session-382299": "0:-1#264026",
"x-cosmos-session-418988": "0:-1#4052014",
"x-cosmos-session-793952": "0:-1#13832",
"x-timezone": "America/New_York",
}
# The parent segment ID to chain from — update this to your latest segment
INITIAL_PARENT_SEGMENT_ID = "849e2305-e7a8-4ad3-8d1b-acf89b39af2c"
INITIAL_PARENT_SEGMENT_ID = "d7765a66-a24b-4620-b003-11b4c1ed2c36"
def send_message(message: str, conversation_id: str = CONVERSATION_ID, parent_segment_id: str = None):
+2 -2
View File
@@ -11,10 +11,10 @@
<svelte:head><link rel="icon" href={favicon} /></svelte:head>
<div class="h-screen w-full overflow-hidden bg-black text-slate-200 flex flex-col md:flex-row relative">
<div class="h-screen w-full overflow-hidden bg-base text-slate-200 relative">
<!-- Floating Sidebar (Desktop) / Bottom Bar (Mobile) -->
<nav class="absolute md:static bottom-4 left-1/2 md:left-4 -translate-x-1/2 md:translate-x-0 md:my-auto z-50 rounded-3xl glass-panel md:w-16 w-11/12 md:h-auto py-3 md:py-6 px-4 md:px-0 flex md:flex-col items-center justify-around md:justify-center gap-6 shadow-2xl border-white/10 md:mr-4 overflow-hidden relative">
<nav class="absolute bottom-4 md:bottom-auto md:top-1/2 left-1/2 md:left-6 -translate-x-1/2 md:translate-x-0 md:-translate-y-1/2 z-50 rounded-3xl glass-panel md:w-16 w-11/12 md:h-auto py-3 md:py-6 px-4 md:px-0 flex md:flex-col items-center justify-around md:justify-center gap-6 overflow-hidden" style="box-shadow: var(--shadow-glow-primary); border-left: 2px solid var(--color-neon-primary);">
<!-- Shell Pattern Background -->
<div class="absolute inset-0 pointer-events-none opacity-[0.08] z-0" style="background-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2228%22 height=%2249%22 viewBox=%220 0 28 49%22%3E%3Cg fill-rule=%22evenodd%22%3E%3Cg id=%22hexagons%22 fill=%22%23ffffff%22 fill-opacity=%221%22 fill-rule=%22nonzero%22%3E%3Cpath d=%22M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E'); background-repeat: repeat;"></div>
+26 -21
View File
@@ -1,4 +1,5 @@
@import 'tailwindcss';
@theme {
--font-sans: 'Comic Relief', 'Comic Neue', 'Comic Sans MS', cursive, system-ui, sans-serif;
--font-display: 'Comic Relief', 'Comic Neue', 'Comic Sans MS', cursive, system-ui, sans-serif;
@@ -15,7 +16,7 @@
--color-neon-primary: #f38ba8;
--color-neon-alert: #f38ba8;
--color-neon-blue: #f38ba8;
--color-panel-glass: rgba(24, 24, 37, 0.7);
--color-panel-glass: rgba(24, 24, 37, 0.7);
--shadow-glow-primary: 0 0 15px rgba(243, 139, 168, 0.4);
@@ -24,52 +25,56 @@
}
.light-theme {
--color-crust: #dce0e8;
--color-crust: #dce0e8;
--color-mantle: #e6e9ef;
--color-base: #eff1f5;
--color-surface0: #ccd0da;
--color-surface0: #ccd0da;
--color-surface1: #bcc0cc;
--color-surface2: #acb0be;
--color-red: #d20f39;
--color-neon-primary: #ea76cb;
--color-neon-alert: #e64553;
--color-neon-blue: #fe640b;
--color-panel-glass: rgba(239, 241, 245, 0.9);
--color-red: #d20f39;
--color-neon-primary: #ea76cb;
--color-neon-alert: #e64553;
--color-neon-blue: #fe640b;
--color-panel-glass: rgba(239, 241, 245, 0.9);
color: #4c4f69 !important;
}
.light-theme .text-white, .light-theme .text-slate-200, .light-theme .text-slate-300, .light-theme .text-slate-400, .light-theme .text-slate-500 {
color: #4c4f69 !important;
.light-theme .text-white,
.light-theme .text-slate-200,
.light-theme .text-slate-300,
.light-theme .text-slate-400,
.light-theme .text-slate-500 {
color: #4c4f69 !important;
}
:root.color-blind {
--color-neon-primary: #ffb86c;
--color-neon-blue: #8be9fd;
--color-neon-primary: #ffb86c;
--color-neon-blue: #8be9fd;
}
:root.high-contrast {
--color-crust: #000000;
--color-mantle: #0a0a0a;
--color-base: #111111;
--color-crust: #000000;
--color-mantle: #0a0a0a;
--color-base: #111111;
}
:root.light-theme.high-contrast {
--color-crust: #ffffff;
--color-mantle: #f4f4f4;
--color-base: #ebebeb;
--color-crust: #ffffff;
--color-mantle: #f4f4f4;
--color-base: #ebebeb;
}
.light-theme border-white {
border-color: rgba(76, 79, 105, 0.1);
border-color: rgba(76, 79, 105, 0.1);
}
.light-theme .border-white\/5,
.light-theme .border-white\/10,
.light-theme .border-white\/20 {
border-color: rgba(76, 79, 105, 0.15);
border-color: rgba(76, 79, 105, 0.15);
}
@utility glass-panel {
@@ -81,4 +86,4 @@
@utility text-glow {
text-shadow: 0 0 10px currentColor;
}
}