Spaces:
Sleeping
Sleeping
Commit History
-
Add guest try-without-account flow for MuscleGrowthAI.
Kennedy Johnson +1: CursorPort LaunchPad-style disposable guest sessions so visitors can explore advisors without signup, using EmailStr-safe @guests.musclegrowth.ai addresses. Co-authored-by: Cursor <cursoragent@cursor.com>82ccb3f
-
Fix protein midpoint to ~198 g for 230 lb at 1.9 g/kg.
Kennedy Johnson +1: CursorExpose protein_g_mid in the nutrition calculator and align docs, persona prompts, and tests with the corrected midpoint math. Co-authored-by: Cursor <cursoragent@cursor.com>7c3d69c -
Add deterministic nutrition calculator for MuscleGrowthAI advisors.
Kennedy Johnson +1: CursorPre-compute protein targets from body weight and inject exact values into persona context so advisors use factual math instead of LLM arithmetic. Co-authored-by: Cursor <cursoragent@cursor.com>96378bc -
Fix advisor panel to use conversation context for follow-up answers.
Kennedy Johnson +1: CursorSkip orchestrator clarification for continuing threads and weight replies after protein questions; hydrate sessions from MongoDB on cold starts; instruct personas to calculate protein targets from chat history. Co-authored-by: Cursor <cursoragent@cursor.com>838be72 -
Fix persistent auth so users stay logged in across refreshes and redeploys.
Kennedy Johnson +1: CursorPersist JWT signing secrets under DATA_DIR when unset, validate stored sessions on app startup, and restore auth state synchronously from localStorage to avoid false re-login prompts. Co-authored-by: Cursor <cursoragent@cursor.com>5e77c6e
-
Wire FEAT auth, bootstrap, vLLM-with-Neon-pile, profile-sync, conversation summary, and avatar/UserUpdate model into upstream/dev base
NeonClary +1: CursorCo-authored-by: Cursor <cursoragent@cursor.com>923dda1 -
Add cybersecurity overlay: configs, cyber personas, SQLite shim, onboarding/profile, Canvas widgets, deployment infra
NeonClary +1: CursorCo-authored-by: Cursor <cursoragent@cursor.com>c6537a8 -
Strip PhD-advisor personas, course-search and RateMyProfessor tools
NeonClary +1: CursorCo-authored-by: Cursor <cursoragent@cursor.com>c2fbfe1
-
Add versioning automation (#47)
Daniel McKnightUnverified signature* Cursor-implemented solution to the open issue * Refactor to remove `setup.py` added just for checking version * Clean up Cursor-generated tests * Refactor module patching to prevent changing sys.modules for other tests * Work with Cursor to refactor version test cases * Refactor test config patching by Cursor * Remove extra `setuptools` installation from Release GHA92ac338
-
Clear User Data (#58)
NeonCharlie-24 +2: Neon:ryan, Claude Opus 4.7 (1M context)Unverified signature* added bulk delete endpoint for clearing all chat sessions. * Add ConfirmDialog component and integrate it into Sidebar and CanvasPage for chat and canvas clearing confirmations. Update styles for new buttons and dialog. Enhance user experience with clear action prompts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * added unit tests for all chat_sessions routes. * added @param/@return doctrings to all routes in chat_sessions.py. * extracted helper function in test_chat_sessions.py to make code less redundant. * Fixed button height and width * added back imports lost during rebase. --------- Co-authored-by: Neon:ryan <ryan@neon.ai> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>e0d7a62
-
Feat/improve clarification check (#57)
NeonCharlie-24Unverified signature* implemented needs_clarification_improved to use LLM inference to determine if clarification is needed. * added unit tests for needs_clarification_improved. * minor clean up of docstring and potential await error.6baf4bd -
Support Voice Interaction (#32)
Daniel McKnight +1: NeonClaryUnverified signature* feat: add speech-to-text and text-to-speech functionality Add /api/transcribe (STT via Whisper proxy), /api/tts (Google Translate TTS), and /api/voice status routes. Add microphone button to EnhancedChatInput, VoiceStatusContext provider, and VoiceToast component. Made-with: Cursor * Clean up implementation * Refactor to simplify STT/TTS endpoint handling * Remove unused VoiceToast.js * Refactor `voice_router` API to remove `/api` prefix for consistency with other endpoints * Pin added `markdown` dependency version * Remove unused VoiceStatusContext file * Refactor `LOG` to `logger` for consistency per review * Remove unused variables * Add docstrings per review comment * Add actual voice service status checks with test coverage * Cursor refactored test patching (original implementation also by Cursor) * Add comment explaining 44-byte minimum segment length --------- Co-authored-by: NeonClary <askclary@gmail.com>39dbe10
-
Feat/persona avatars (#43)
NeonCharlie-24 +2: Ryan-Venturi1, Neon:ryanUnverified signature* added persona avatar support to backend with bundled advisor images pulled from Clary's branch. * Enhanced AdvisorCard and AdvisorStatusDropdown components with avatar selection functionality and hover effects. Updated AppConfigContext to support avatar URL overrides and custom avatar management. * Refactor AvatarPickerModal component to remove adding your own avatar. * added backend api support to persist user uploaded avatars in the db. * revert backend to only serve up static bundle of advisor images. * fixed the icon fallback for advisors without avatar image. * added validation of external avatar URLs with fallback to icon on failure. * return avatar image as URI string instead of typed dict. * updated frontend to parse URI string instead of type/value dict. * moved _resolve_image imports to top of file. * converted bundled avatar paths to full URLs. * updated avatar image test to expect full URL. --------- Co-authored-by: Ryan-Venturi1 <157062856+Ryan-Venturi1@user…ba58433
-
Feat/advisor tools (#38)
NeonCharlie-24Unverified signature* added /scraper directory from Clary branch for inspection. * Added Gemini function-calling MVP with course search tool. * Added Rate My Professor tool and multi-tool dispatcher. * Added tool registry with auto-discovery and tool filtering. * fixed test warning in RMP tool test. * added structured tool-call return result and get_tool_response method to orchestrator. * wired tool calling into orchestrator chat routes. * cleaned up standalone test routes and did minor refactoring. * fixed context manager dropping non-allowlist persona and tool responses. * pinned backend requirements to <pkg>~=M.m from latest container build. * removed license notices and cu_info_scraper. * moved the tool-calling loop into LLMClient with provider specific overrides implemented in each respective client class. * refactored tools config to support per tool settings. * added rmp school_id lookup script for CLI usage. * added dark mode awareness to advisor color fallback which is used by the o…68ee171
-
Feat/account management (#41)
NeonCharlie-24 +1: Daniel McKnightUnverified signature* added unit tests for account management endpoints. * added account management endpoints (password change, profile update, account deletion). * added param/return docstrings to all auth endpoints. * added Pydantic models for logout, change_password, and delete_account endpoints. * improved error handling for account management endpoints. * simplified unit test imports. * update min password verification length to 8 chars to match front-end Signup.js expectation. * updated delete endpoint to include deleting PhD Canvases. * updated delete_account docstring to note PhD Canvases also deleted. * fix incorrect naming case Co-authored-by: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> * fix UpdateProfileRequest name references. * added model validators to ChangePasswordRequest and UpdateProfileRequest. --------- Co-authored-by: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com>b28bbf0 -
Fix/json output (#40)
NeonCharlie-24Unverified signature* added json response mime type to generate_contextual_clarification. * added structured JSON output support for vLLM client. * added structured JSON output to get_top_personas and handled dict-wrapped responses.b2e8e99
-
Feat/vllm endpoints (#36)
NeonCharlie-24Unverified signature* added initial tests for vllm client class. * added the ImprovedVllmClient class. * added vLLM option to config, bootstrap, and api routes. * added vLLM option to front-end provider dropdown. * added api key to docker-compose file and removed it from the yaml config files. * added error handling and design decision comments. * removed example vllm client file. * added model re-discovery on request failure. * convert vLLM to a single client and format persona roles to be vLLM acceptable names (system/user/assistant). * moved _clean_responses into LLMClient base class to eliminate duplication. * changed vLLM API label color to red and also set collapsed button color from grey to the respective providers color.be70bd4
-
Refactor/unittests (#33)
NeonCharlie-24Unverified signature* reorganize /tests directory and convert to unittest.TestCase * cleaned up old test files and updated GHA command. * moved test_auto_colors.py into the tests/unit directory.a94ba3b -
Feat/auto persona colors (#23)
NeonCharlie-24 +1: Daniel McKnightUnverified signature* add auto-generated persona colors based on name hash. * updated color picker to use the colorhash package. * comment out current persona colors to test auto generation. * removed unused import. * Added auto_color and lucide_icons tests to CI pytest command. * uncommented the manually selected colors for the 10 phd advisor personas. * Apply suggestion from @NeonDaniel --------- Co-authored-by: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com>a93e37a
-
Feat/validate lucide icons (#21)
NeonCharlie-24Unverified signature* fetch ludice-react icon names from unpkg.com and store in static JSON file. * Added Lucide icon validation to config models. * Replaced the unpkg.com icon name fetcher script with a script that reads directly from the local npm package.9f98cf1
-
Feat/improve persona config (#16)
NeonCharlie-24 +1: Daniel McKnightUnverified signature* Added pytest infrastructure and baseline persona config tests. * Added persona directory loader with an enabled field and tests. * Split persona configs into individual .yaml files and implemented loading them from a directory. * Added clarifying comments and docstings. * moved pytest install to test_requirements.txt * moved all personas into personas/phd_advisors/ directory * Moved persona loading into PersonasConfig model_validator. * Add logging and warning to persona loading Co-authored-by: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> * Simplified load_settings by moving path resolution into PersonasConfig validator. * Revert whitespace-only change * Remove unreachable else condition Co-authored-by: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> --------- Co-authored-by: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com>98b9d63
-
update advisor name
Girish Jeswani797ce6f
-
rag test script
Girish Jeswanid7b2f43 -
debug script for rag
Girish Jeswaniff9d080
-
file upload feature
Sohan Kshirsagar195b80e
-
document upload tests
Sohan Kshirsagarff256b1
-
resolving merge conflicts
Sohan Kshirsagard8a62c1
-
Changes to include single model represented as multiple personas
Sohan Kshirsagar3bc3e37