Changes done by arya #12
Merged
Merged
Conversation
Co-authored-by: aryawadhwa <173793039+aryawadhwa@users.noreply.github.com>
…hes-18030015996569599768 ⚡ Bolt: Parallelize dashboard fetches
…iance, Flow Diagrams)
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Pull request overview
This PR pivots EXPEDITE toward a “local-first / single-user” experience by removing Clerk-based auth in the web frontend, introducing local token auth + an optional SQL (SQLite) backend in the FastAPI server, and adding new product surface area (voice agent + an initial Tauri desktop app scaffold). It also refreshes public-facing documentation and adds CI coverage for backend tests and frontend builds.
Changes:
- Frontend: remove Clerk auth flows, add a local auth token path, lazy-load routes, and introduce new Voice Agent UI + other UI/layout tweaks.
- Backend: add local-mode auth, optional SQLite/SQLModel persistence + scheduler plumbing, new automation/voice/webhook endpoints, and a centralized LLM factory.
- Project-wide: add contribution/docs content, CI workflow, and a new
expedite-desktop/Tauri app scaffold.
Reviewed changes
Copilot reviewed 83 out of 107 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Rewrites top-level product README and setup instructions. |
| frontend/vite.config.ts | Adds aliasing (including Clerk shim) in Vite resolution. |
| frontend/src/shims/clerk-react.tsx | Introduces a local Clerk API shim for single-user mode. |
| frontend/src/pages/VoiceCall.tsx | Adds Voice Agent page to initiate/poll Vapi calls. |
| frontend/src/pages/SignUp.tsx | Removes Clerk Sign Up page (deleted). |
| frontend/src/pages/SignIn.tsx | Removes Clerk Sign In page (deleted). |
| frontend/src/pages/Settings.tsx | Adds “Trust & Privacy Center” section and icon import changes. |
| frontend/src/pages/Profile.tsx | Makes external account rendering null-safe. |
| frontend/src/pages/Launchpad.tsx | Layout spacing/container adjustments. |
| frontend/src/pages/Calendar.tsx | Major calendar UI rewrite/simplification and event rendering changes. |
| frontend/src/pages/ActiveAgents.tsx | Layout/container adjustments. |
| frontend/src/main.tsx | Removes ClerkProvider wrapper from app root render. |
| frontend/src/lib/auth.ts | Adds local auth token helper. |
| frontend/src/lib/api.ts | Switches auth token source, adds location param, adds new intel/proof-ledger APIs. |
| frontend/src/config/env.ts | Adds centralized frontend env config (API base URL + local API key). |
| frontend/src/components/ui/shader-gradient-background.tsx | Replaces ShaderGradient dependency with a CSS gradient background. |
| frontend/src/components/review/cards/PhoneReviewCard.tsx | Adds a review card UI for voice call scripts. |
| frontend/src/components/launchpad/HeroInput.tsx | Adds location selector and passes location to mission creation. |
| frontend/src/components/landing/CTASection.tsx | Removes SignedIn/SignedOut gating and always links to dashboard. |
| frontend/src/App.tsx | Converts routes to lazy-loaded + removes Clerk-protected routing + adds Voice route. |
| frontend/package.json | Removes Clerk and 3D/shader dependencies. |
| expedite-desktop/vite.config.ts | Adds Vite config tailored for Tauri dev/build. |
| expedite-desktop/tsconfig.node.json | Adds TS config for Vite config compilation. |
| expedite-desktop/tsconfig.json | Adds TS config for the desktop React app. |
| expedite-desktop/src/vite-env.d.ts | Adds Vite client types reference. |
| expedite-desktop/src/main.tsx | Adds desktop React entrypoint. |
| expedite-desktop/src/assets/react.svg | Adds React logo asset. |
| expedite-desktop/src/App.tsx | Adds default Tauri+React template app. |
| expedite-desktop/src/App.css | Adds template CSS for desktop app. |
| expedite-desktop/src-tauri/tauri.conf.json | Adds Tauri app config (including CSP setting). |
| expedite-desktop/src-tauri/src/main.rs | Adds Tauri Rust main entrypoint. |
| expedite-desktop/src-tauri/src/lib.rs | Adds Tauri command + run() implementation. |
| expedite-desktop/src-tauri/Cargo.toml | Adds Rust crate manifest for Tauri app. |
| expedite-desktop/src-tauri/capabilities/default.json | Adds default capabilities config. |
| expedite-desktop/src-tauri/build.rs | Adds Tauri build script. |
| expedite-desktop/src-tauri/.gitignore | Adds Rust/Tauri ignores for desktop app. |
| expedite-desktop/README.md | Adds template README for the desktop app. |
| expedite-desktop/public/vite.svg | Adds Vite logo asset. |
| expedite-desktop/public/tauri.svg | Adds Tauri logo asset. |
| expedite-desktop/package.json | Adds desktop app package.json (React 19 + Tauri deps). |
| expedite-desktop/index.html | Adds desktop app HTML entrypoint. |
| expedite-desktop/.gitignore | Adds ignores for desktop app. |
| docs/REFERENCE_SOURCES.md | Adds a log of external reference sources and license TODOs. |
| docs/NASSCOM_SUBMISSION.md | Adds a NASSCOM submission / deck-style document (JUL 2026). |
| data/profile.yaml.example | Adds example personal profile YAML for personalization. |
| CONTRIBUTING.md | Adds contribution and local setup guidelines. |
| backend/tests/services/test_integrations.py | Adds pytest coverage for Hunter integration + LLM fallback behavior. |
| backend/requirements.txt | Updates backend requirements list (now includes MLX/RAG libs). |
| backend/pytest.ini | Adds pytest configuration for asyncio and test discovery. |
| backend/pyproject.toml | Adds/updates Python deps (uv-managed) and mypy settings. |
| backend/main.py | Updates startup init logic, CORS behavior, and registers new routers. |
| backend/app/templates/x_dm_system.txt | Adds X/Twitter DM prompt template. |
| backend/app/templates/linkedin_dm_system.txt | Adds LinkedIn DM prompt template. |
| backend/app/templates/followup_d7_system.txt | Adds day-7 follow-up prompt template. |
| backend/app/templates/followup_d3_system.txt | Adds day-3 follow-up prompt template. |
| backend/app/templates/cold_email_system.txt | Adds cold email prompt template with “anti-AI” constraints. |
| backend/app/services/voice.py | Adds Vapi voice call trigger + status fetch service. |
| backend/app/services/template_loader.py | Adds template loader + SafeDict renderer. |
| backend/app/services/sales_agent.py | Switches to centralized LLM factory and Gemini-first default model. |
| backend/app/services/reply_classifier.py | Adds reply classification service using LLM JSON output. |
| backend/app/services/rag.py | Adds batch asset fetch + optional FAISS/HF embeddings path. |
| backend/app/services/profile_context.py | Adds profile YAML ingestion + combined personal context builder. |
| backend/app/services/neo4j.py | Adds LOCAL_MODE fallback via JSON file instead of Neo4j driver. |
| backend/app/services/market_intelligence.py | Adds Google News RSS-based market intelligence utilities. |
| backend/app/services/integrations.py | Adds caching decorators and location-aware domain extraction prompt. |
| backend/app/services/github_ingest.py | Adds GitHub repo ingestion into markdown knowledge assets. |
| backend/app/services/followup_scheduler.py | Adds APScheduler-based follow-up task processing for SQL mode. |
| backend/app/services/email_finder.py | Adds persona targeting + SMTP verification in email enrichment. |
| backend/app/routers/webhooks.py | Adds webhook endpoints (Vapi callbacks). |
| backend/app/routers/voice.py | Adds authenticated voice call API endpoints. |
| backend/app/routers/scraper.py | Adds sector/company intel endpoints. |
| backend/app/routers/reviews.py.backup | Removes backup router file (deleted). |
| backend/app/routers/reviews.py | Adds SQL-backend paths + proof gate + concurrent bulk approval. |
| backend/app/routers/missions.py | Adds SQL-mode mission APIs and location propagation into ScoutAgent flows. |
| backend/app/routers/automation.py | Adds proof-ledger + followup queue + reply classify endpoints. |
| backend/app/routers/assets.py | Adds GitHub import endpoint for knowledge assets. |
| backend/app/db.py | Adds SQLModel schema + CRUD helpers for local SQL mode. |
| backend/app/core/llm.py | Adds centralized LLM factory with provider fallback behavior. |
| backend/app/core/config.py | Adds local-first settings + new provider/integration config options. |
| backend/app/api/deps.py | Adds LOCAL_MODE auth path and LocalUser model. |
| backend/app/agents/scout_agent.py | Adds location into ScoutState and passes to prospect discovery. |
| backend/.env.example | Adds example backend env file. |
| .jules/bolt.md | Adds a performance note about parallelizing independent fetches. |
| .gitignore | Ignores data/profile.yaml. |
| .github/workflows/ci.yml | Adds CI workflow: backend pytest + frontend build. |
Files not reviewed (1)
- frontend/package-lock.json: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+11
to
+13
| LOCAL_MODE: bool = True | ||
| USE_SQL_BACKEND: bool = True # Use SQLite instead of MongoDB | ||
| LOCAL_API_KEY: str = "expedite-local-dev" |
Comment on lines
+17
to
+19
| provider = (prefer_provider or settings.LLM_PROVIDER or "gemini").lower() | ||
|
|
||
| if provider == "mlx": |
Comment on lines
+221
to
+224
| embeddings = HuggingFaceEmbeddings( | ||
| model_name="all-MiniLM-L6-v2", | ||
| model_kwargs={"device": "mps"}, | ||
| ) |
Comment on lines
16
to
21
| resolve: { | ||
| alias: { | ||
| "@": path.resolve(__dirname, "./src"), | ||
| "@clerk/clerk-react": path.resolve(__dirname, "./src/shims/clerk-react.tsx"), | ||
| }, | ||
| }, |
Comment on lines
+79
to
+90
| @app.options("/{full_path:path}") | ||
| async def options_handler(full_path: str): | ||
| """Handle CORS preflight requests for all routes""" | ||
| return Response( | ||
| status_code=200, | ||
| headers={ | ||
| "Access-Control-Allow-Origin": "*", | ||
| "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS, PATCH", | ||
| "Access-Control-Allow-Headers": "Content-Type, Authorization", | ||
| "Access-Control-Max-Age": "3600", | ||
| } | ||
| ) |
Comment on lines
+344
to
+355
| draft.status = "APPROVED" | ||
| save_draft_sql(session, draft) | ||
| # Keep this local-safe until composio flow is fully SQL integrated. | ||
| draft.status = "SENT" | ||
| save_draft_sql(session, draft) | ||
| return { | ||
| "status": "sent", | ||
| "message": f"Email marked sent to {prospect.email}", | ||
| "workflow_created": False, | ||
| "recipient": prospect.email, | ||
| "proof_gate_overridden": bool(not proof_ok and override_proof_gate), | ||
| } |
Comment on lines
+1
to
+17
| import { type ReactNode } from "react"; | ||
|
|
||
| type AuthResult = { | ||
| getToken: () => Promise<string>; | ||
| userId: string; | ||
| isLoaded: boolean; | ||
| isSignedIn: boolean; | ||
| }; | ||
|
|
||
| export function useAuth(): AuthResult { | ||
| return { | ||
| getToken: async () => "expedite-local-dev", | ||
| userId: "arya-local", | ||
| isLoaded: true, | ||
| isSignedIn: true, | ||
| }; | ||
| } |
Comment on lines
+69
to
+72
| } | ||
| attempts++; | ||
| setTimeout(poll, 5000); | ||
| }; |
Comment on lines
+33
to
+37
| # MLX & Local RAG | ||
| mlx | ||
| mlx-lm | ||
| sentence-transformers | ||
| faiss-cpu |
Comment on lines
+20
to
+22
| "security": { | ||
| "csp": null | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.