Spaces:
Sleeping
Sleeping
Commit History
-
Remove test tree from Space to avoid secret scanning
Verified signature1eca2fe -
Workshop nav, experiment editing, and saved chats
Verified signature31091fd
-
Remove misplaced root frontend files from bad upload
Verified signatureec953b2 -
Restore full pre-tutorial Space snapshot (b0ebe11)
Verified signature8eac37e -
Restore pre-tutorial frontend from b0ebe11
Verified signature36b62a3 -
Remove tutorial files from reverted Space
Verified signature493fef6 -
Revert to pre-tutorial version (b0ebe11)
Verified signature2f63261 -
Deploy tutorial feature and recent fixes
Verified signatured8808e7
-
Merge pull request #2 from NeonClary/dev-cursor
NeonClaryUnverified signatureBug Fixes from Dev cursorb0ebe11 -
Fix SPA deep-link 404s on Hugging Face and remove leftover debug instrumentation.
NeonClary +1: CursorServe index.html for client-side routes via SPAStaticFiles (Starlette HTTPException), strip debug logging from advisor preview and creations auth merge, and fix an unused-symbol build error. Co-authored-by: Cursor <cursoragent@cursor.com>eb876f5 -
Fix interactive chat wizards and surface in-progress creations on workshop pages.
NeonClary +1: CursorPersist chat sessions and draft snapshots, ask for panel/persona name first, sync partial drafts into the creations list with an In progress label, add chat/form navigation and titles, and improve Docker HMR polling on Windows. Co-authored-by: Cursor <cursoragent@cursor.com>bf83eaf
-
Merge pull request #1 from NeonClary/dev-cursor
NeonClaryUnverified signatureDev cursor7aadf4f
-
Switch all LLM calls to GPT-5.4 and load secrets from shared.env.
NeonClary +1: CursorReplace Gemini backend with OpenAI (chat, wizards, Whisper transcription), default to gpt-5.4, and resolve env from ~/.secrets/shared.env or ENV_FILE_PATH. Co-authored-by: Cursor <cursoragent@cursor.com>923783c -
Add Cursor project rules for workshop stack and git workflow.
NeonClaryEOFa51b302
-
fix: advisor preview accepts main JWT; resilient user lookup for /auth/me
NeonClary +1: Cursor- Resolve JWT sub with ObjectId or string id so /api/auth/me works after login. - Preview iframe shares localStorage with parent; accept workshop_preview or main app bearer on advisor-preview-api routes and return real user profile. - Add PATCH /advisor-preview-api/auth/me stub for the static bundle. - Keep NDJSON debug logs in advisor_preview for session 17c34d until verified. Co-authored-by: Cursor <cursoragent@cursor.com>d8dfbb8
-
Fix workshop samples after auth profile hydration
NeonClary +1: CursorRe-inject built-in sample personas/panel after merging server profile unless the user removed them (localStorage opt-out). Clear User Data clears the opt-out key. Adds debug-mode client log helper. Co-authored-by: Cursor <cursoragent@cursor.com>80ed675 -
Fix frontend build: include workshopDefaults and sibling data files
NeonClary +1: CursorThe HF Space Docker build failed at npm run build because frontend/src/lib/creations.ts imported from ../data/workshopDefaults which was not present in the repo. Root cause: the unanchored data/ pattern in the root .gitignore was excluding every directory named data anywhere in the tree, including frontend/src/data/, so the workshopDefaults.ts source plus its sibling prompt/config files had never been committed even though they exist locally. Anchor the pattern to /data/ so it only matches the runtime DATA_DIR at the repo root, add backend/data/ explicitly to keep the legacy local upload dir out of git, and commit the previously ignored frontend/src/data/ tree (workshopDefaults.ts + 4 prompt .txt files + whiteLabelBuiltConfig.json). Verified with tsc -b and npm run build locally; both pass. Co-authored-by: Cursor <cursoragent@cursor.com>7e5a3b9 -
Replace MongoDB with SQLite + bucket-mounted file uploads
NeonClary +1: CursorThe Space had no local Mongo, so registration was timing out. Swap the Motor/Mongo backend for an aiosqlite-backed db.py facade plus on-disk file storage rooted at DATA_DIR (default /data, the HF Storage Bucket mount). Routers, services, and the React frontend keep their existing contract since the facade re-exposes the subset of the Motor API they already use, plus a GridFS-shaped bucket for binaries. A single hf buckets sync against the attached bucket now backs up the entire database and all uploaded RAG files, so user data is salvageable across deploys without any external service. Includes backend/tests/test_local_persistence.py (35 checks: register -> login -> /me -> profile round-trip -> artifact create/list -> document upload/download/delete) which passes locally. Co-authored-by: Cursor <cursoragent@cursor.com>48115e8
-
Workshop: sample data menu, manage page, LLM UX, HANA 422 fix
NeonClary- UserMenu: Sample Data submenu (add/delete sample personas + advisor panel) with stable IDs so merges are idempotent - New ManageCreationsPage (/workshop/manage) with per-item select, hide/show toggle, and delete for personas and advisor panels - SavedPersona / SavedAdvisorPanel gain a `hidden` flag; workshop lists, experiment pickers, and advisor wizard filter hidden items (still includable when already referenced) - PersonaWorkshopPage hides the advisor-panels section; both workshop pages link to the new Manage page via a blue-bordered CTA - Header: custom Neon logo asset, and the UserMenu shifts to the right of the brand on wide viewports (useMediaQuery hook) - ExperimentAdvisorPage: Save/Discard/Refresh toolbar beside the title on wide screens, and collapses into a sidebar Controls section on narrow - ExperimentPage: changing the LLM model now prompts "Switch model?" when there's a conversation, mirroring the existing persona-switch clear-chat - HANA 422 fix: /brai…4a0e265
-
fix(advisor-preview): workshop iframe auth, static bundle, Vite proxy
NeonClary- Proxy /advisor-preview and /advisor-preview-api in Vite; bind dev server with host:true - Stub GET /advisor-preview-api/api/users/me/profile for workshop token so chat navigation works - Workshop login/banner patches in CCAI bundle + CSS; script to reapply after rebuilds - Repair minified JS syntax (header close + onSubmit braces) Made-with: Cursor583b9d3
-
feat(experiment): multi-LLM chat with LLMChats3-style registry
NeonClary- Add provider settings, resolve_model, HANA/OpenAI-compat clients and experiment_llm_router (Neon HANA multi-turn-safe path). - GET /api/experiment-chat/models; POST /message accepts model_id and routes via run_experiment_llm. - Experiment page: Model dropdown next to Save to persona, localStorage persistence (experiment_selected_llm_v1). - Document optional HANA and third-party keys in .env.example. Made-with: Cursor6e8eb6b
-
Add RAG document upload and context injection for personas and advisor panels
NeonClaryBackend: file-type restriction (.txt/.md), per-file (1GB), per-persona (5GB), and per-advisor-panel (20GB) size limits with aggregate checks. Document context service loads uploaded docs and injects text into LLM prompts for experiment chat, persona prompt build, and advisor panel build. Optional auth on experiment/build endpoints; select specific doc IDs. Frontend: DocumentUploadSection component with drag-and-drop, auto-save of draft on first upload, added to Persona (step 2) and Advisor (step 5) wizards. ExperimentRagPanel on Persona Prompt Testing page with upload, selectable checklist, deduplication by filename, persistent selection across persona switches. Also: persist editingId in drafts so Build/Rebuild button label survives reload; move Build buttons inline with Download on Review step; enlarge and fix alignment of prompt accordion. Made-with: Cursor1242b65 -
Workshop: persona/advisor experiments, builds, UI polish
NeonClary- Persona and advisor interactive Q&A ordered by form fields; wizard copy and navigation - Experiment pages: persona prompt testing fixes (TDZ/stopTts order), persona switch clears chat - Advisor experiment page with iframe preview, config API, static bundle under backend - Build persona prompt / build advisor panel pipelines (Gemini), hosts, modals - Profile modal shows account fields; create-new buttons on wizards and Q&A - Remove submit/email backup from wizards; backup download label - Omit authorName from persona prompt build payload; rebuild button labels when already built - Auth, profile, user library, storage cleanup and related backend/frontend updates - Ignore local advisor-panel-demo clone; commit built advisor-preview-static assets Made-with: Cursor6221aae -
feat: advisor panel wizard, persona selection, and workshop updates
NeonClary- Multi-step advisor form (vision, branding, user context, chat, personas) - Include personas step with local selections and create-persona return flow - Persist includedPersonaIds; advisor summary lists linked personas - Add advisorPanelFormModel, wizard state/focus helpers, draft migration - Persona wizard returnTo navigation; chat draft merge for advisor fields - Assorted frontend/backend updates (TTS, chat, Docker, scripts) Made-with: Cursorcf169c6 -
feat(persona): v2 wizard fields, chat draft sync, UX polish
NeonClary- Persona form: new fields (author, advisor name, role, tagline, creativity slider 0-10, expertise, response style, tone, interaction guidelines); personaFormModel + legacy migration; summary/workshop lists updated. - Interactive Q&A: draft_update merge to localStorage + server sync; iqa-chat bubble layout; undo last turn (persona/advisor chat); caret hide hook. - Persona wizard: hydrate initial state from localStorage to avoid empty save wiping chat-merged drafts (readPersonaWizardState). - Experiment page: undo control; theme/experiment CSS tweaks as needed. - Backend: ChatResponse draft_update; Gemini passes through; persona/advisor chat prompts include draft_update schema; learner_context helper. Made-with: Cursor1fbf287 -
Workshop UI, speech settings, experiment page, and HF Spaces deployment
NeonClaryMade-with: Cursor07d85fe
-
Landing copy and layout updates; header brand; TTS controls; save-warning link
NeonClaryMade-with: Cursord380b61
-
Landing: add Sign in and Create account CTAs; auth mode from URL
NeonClaryMade-with: Cursor2c6dfbe -
Add Neon.ai logo and header link (match phd-advisor pattern)
NeonClaryMade-with: Cursora8c7446 -
Save warning: remove 'more' from account prompt copy
NeonClaryMade-with: Cursor05d1f3e -
Header title: two lines CU STUDENT / AI Expert Advisory Panels; update document title
NeonClaryMade-with: Cursor8896a42 -
Header: user menu left; kebab (vertical dots) after name; dropdown align left
NeonClaryMade-with: Cursor81354f5 -
Replace single-image compose with hot-reload compose as default; remove docker-compose.dev.yml
NeonClaryMade-with: Cursor924b70f -
Add docker-compose.dev.yml hot reload (Mongo, uvicorn --reload, Vite); SERVE_FRONTEND_STATIC; API_PROXY_TARGET
NeonClaryMade-with: Cursord1f13ff -
Fix Gemini chat (retries, JSON parse, config path), health gemini flag; always-visible user menu; Profile for guests; clearer chat errors
NeonClaryMade-with: Cursor64139df -
Initial CU Student AI Project Helper: FastAPI, Gemini, Mongo, React SPA
NeonClaryMade-with: Cursorcb6dcc3